从零开始学微信小程序-前言
众所周知,微信(WeChat)是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,由张小龙所带领的腾讯广州研发中心产品团队打造。
腾讯作为中国互联网行业的龙头企业(据我了解,在BAT三家公司中,就市值来说,AT其实不相上下),它旗下的产品可以说一出生就自带高逼格光环,就笔者个人来说,基本每天都离不开腾讯旗下的一些App,诸如腾讯新闻,腾讯视频等等。而作为微信这款App,可以说是在腾讯的互联网生态体系中是占据核心地位的。如果没有微信,恐怕单靠一个QQ,也很难维持腾讯在中国即时通讯软件的绝对主导地位,所以被誉为“微信之父”的张小龙(关于张小龙其人,大家可以自行百度,也有人把他称为中国最具情怀的产品经理)也可以说是功不可没。
如今的微信成为了国民的一种生活方式,据2016最新微信用户数据报告称,微信的平均“日登录用户”已经达到了5.7亿——但各位注意了,这并不代表5.7亿“人”,而是5.7亿账号。我们知道,不少用户都一个人具有多个微信账号,尤其一些用于营销的“账号池”,更是动辄几十上百个号。尽管如此,“日活”5.7亿这个数字,已经足以甩国内任何互联网平台十万八千里了(新浪微博、淘宝天猫支付宝的日活用户数,估计也只有几千万)。所以,移动互联网上的一切生意,谁能充分利用好微信平台,谁就将是一方霸主。
随着微信版本的不断迭代,它的功能也逐步多样,到现在已经不是一个纯粹意义上的一个社交软件了,单说一个与我们今天内容有关的模块——微信公众号。
微信公众号其中又细分为服务号、订阅号以及企业号。总得来说就是开发者或商家可以在微信公众平台上申请的应用账号,从而通过微信平台来实现和特定群体的文字、图片、语音、视频的全方位沟通、互动 。这一功能近几年大为火爆,相信各位小伙伴的许多长辈也都是每天在朋友圈中分享从各种公众号中读来的诸如养生之道、心灵鸡汤之类的文章吧。可见其给商家带来的商业利益也是很丰厚的。
做了这么多铺垫,现在我们正式来聊聊本次的主角——微信小程序。
——何为微信小程序
既微信推出服务、订阅、企业三号之后,2017年1月9日,第一批微信小程序(应用号)正式上线(小程序、订阅号、服务号、企业号是并行的体系),从16年9月开启内测到正式上线,不过短短三四个月的时间,可见微信对其投入的力度之大。
简单来说,小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。
——小程序的特点
1、使用流程简单
这也是微信小程序最大的一个卖点,我们传统的App不论Android也好IOS也好,都需要去相应的AppStore下载安装,这就很尴尬了,其一:流程麻烦,需要时间等待,其二:下载好的App需要占据手机自身的内存空间,而微信小程序彻底颠覆了这一弊端,首先,小程序明确规定程序体积不能超过1MB,这也突出了小程序的一个小字,不过,从技术角度来说,微信给出的定义是小程序不需要下载安装,这个并不能说的这么绝对,实际上它也需要下载安装才能使用,这不过由于体积小,所有整个过程速度很快,用户是感觉不到的。真是城市套路深啊,我要回农村。
上面有提到张小龙是一个很有情怀的人,他认为当下的App体积太重,用户需要在其上面花费大量的精力和时间,而且很多时候我们只是偶尔使用一下某一个App,为了不影响手机内存,用完就删掉了,可是每次需要使用的时候都得重新下载,过于麻烦,而小程序则类似于微信里面的一个插件,用完了随手关掉就可以,根本不用担心是否安装太多应用(微信之前不就已经把京东当成是微信里面的一个功能插件了么,所以如果我需要在京东购物,完全可以不去下载京东App,直接在微信中点击下图的位置就搞定了,这一点有点类似于小程序的产品模式)。
京东入口2、跨平台
大家应该都清楚,任何的主流App,想要适配更多的用户,势必要开发IOS和Android两个版本(庆幸WindowPhone已死),与之带来的就是开发成本高,开发周期长等等,而小程序则完全不需要考虑这个问题。
——小程序适合做什么样的应用
说到这儿,可能就会有童鞋举手提问了——小程序这么便捷,那现在这些原生的App岂不是没活路了吗?其实非也,笔者作为一名移动App开发工程师,当然不希望看到上述情况发生,任何事物都具有两面性,小程序最大的优势也是它最大的劣势。
小程序并不适合开发所有的App,我们举个栗子。
虎牙直播 王者荣耀 知乎就拿以上三个App来说:
首先,对于知乎来说,它是一个比较偏社区类的App,我认为使用知乎的童鞋应该每天都会刷帖子,这个就不满足我们上面说的偶尔使用,其次,像知乎这类的App,它是比较依赖推送这个玩意儿的,而这种推送一般都是由服务器端主动发出的,这点是小程序做不到的,小程序里面的消息机制只能是用户在执行某种操作之后被动的反馈给用户一个通知。所以,pass。
其次,直播软件,一般来说我们在直播软件上停留的时间会比较长,比如我在看骚猪的直播,可能我一看就是两三个小时,我们设想一下,我现在正在看一篇公众号的文章,有人给我发微信消息了,这是微信是不会冒出通知的,只是单纯的震动一下提示你有信息来了,如果我想看信息,我还得一步一步的退出去查看,看完后再回来则会发现又得从头看文章,而且我们都知道视频直播会伴随大量弹幕,虽然微信小程序也给我们提供了可以显示弹幕的组件,但是它毕竟是一个寄生于App中的程序,所以如果有海量弹幕同时发出的话, 势必会带来不好的用户体验。所以,pass。
最后,王者农药,这个不用说了,你能开发出一个小于1MB的王者农药?而且游戏对于系统底层某些硬件的要求也很高(比如我们在玩游戏的同事总是伴随着震动、声音等等),这点小程序怕是也有些捉襟见肘。所以,pass。
综上所述,具备以下条件的App适合作成小程序
1、逻辑功能简单的、用完即走的应用
2、小程序适合低频的应用
3、小程序适合性能要求不高的应用
比如像饿了么、猫眼电影、摩拜单车等App就十分适合作成小程序(猫眼电影是作为第一批小程序上线的,大家可以自己去看一看,直观的感受一下)
——对开发者的影响
受影响的开发者基本包含IOS、Android、Web的工程师,近期可能很多公司都会陆陆续续的加入到小程序的行列里面,所以我们作为移动端的工程师,要抓住行业潮流,先行学习微信小程序,并且可能对我们的JavaScript技术的要求比较高,同时小程序也比较适合新手学习。
——小程序开发需要什么基础
JavaScript、HTML+CSS