稀有猿诉

十年磨一剑,历炼出锋芒,说话千百句,不如码二行。

初识微信小程序

微信小程序,可以说是最近比较火的一个话题了,到处都是小程序的新闻,于是孤也来凑一凑热闹,花了几个小时撸了一个程序员老黄历,来体验一下小程序。

体验小程序

张小龙做事情还是很专业的,小程序的开发文档,注册流程,开发工具等都相当的完备,可与一些流行的开发平台媲美,不像其他国内的大厂,发布出来的东西,你按文档一步步操作都会出错。

所以,花几分钟时间读一读官文档就可以了,这里也不做准备重复文档。如何注册小程序,如何创建项目,如何搭建页面,照着文档做就可以了。作为体验官,从创建的基础项目开始就可以了,在app.json的pages列表中新添加一项时,开发工具就会自动创建page的目录,里面就有了标准的4个文件。然后分别修改就可以了。开发工具还是比较给力的,自动补全很强大,标准的JS以及平台的API都有自动补全,所以开发体验还是相当好的,所需要的知识就是标准的前端和微信平台的API。

代码在这里下载。

小程序的本质

脱去它那华丽的外衣,来看它的本质,其实体验过React Native的同学应该不会陌生,它的语法与RN很相似。可以这么说,没有非死不可的React Native可能就不会有今天的小程序。

最终在微信上看到的东西,都是由原生View来渲染的。这也是小程序与微信其他平台的最大区别。它的具体渲染原理,也与React native是一致的:编译完了,就是一个JS文件,交给微信来渲染,JS层有Virtual DOM,以及防止过多操作DOM的DOM diff。原生里面根据JS命令生成一个Node tree,由此再生成一个原生的View tree,把这个View tree渲染出来就是看到的页面了。至于平台API,理解成JSBridge就可以了。

关于更详细的小程序原理可参考这篇文章

小程序的定位

起初孤还想多撸几个小程序,但是在注册时却发现,小程序是不对个人开发者开放的,它只对政府,媒体,公司或者个体户开放注册,且认证审核非常严格,并且,一次注册只能开发一个小程序,换句话说,跟普通客户端的开发者帐号很大不同,客户端帐号注册后,可以开发任意多个应用。由此,可以看出小程序的定位,它只开放给服务提供商,目前服务在微信上有三种方式:订阅号,服务号和企业号。小程序,只是企业服务于用户的另外一种方式:它用最新的动态化技术,以前端开发的方式,用原生应用来渲染,提升开发体验和用户体验。它跟企业号本质上没有区别,能做的事情也不比企业号多。

其实,理解起来,小程序和现有的各种号的区别就是React Native与HTML5的区别,它们能做的事情是一样的,超过H5本身的东西,都需要原生应用来提供(React Native里叫API,H5里叫JSBridge)。它们的区别就在于开发体验–新的开发思想(react),JFX;以及用户体验–渲染方式是原生 的方式,所以与原生 应用的体验是一样的。

张小龙的克制

一开始孤去注册,还很生气:这鸟东西竟然把个人开发者挡在外。但思考了一下,就明白了,这样做是非常正确的。为了防止小程序被滥用,失控,就好比安卓市场水果应用商店一样,各种应用参差不齐,病毒,木马,色情泛滥成灾,对微信平台本身也是一个威胁。可以看得出张小龙确实是一个非常出色的产品设计者,对于克制做得相当出色,全面放开小程序,可以迅速的出现大片大片的小程序,因为个人开发者的队伍是非常大的,这在数据上会非常的好看:看,小程序一开放就形成大平台了;看,程序有几十万的程序了,有近百万的下载量了;看,安卓和水果的猿们要失业了;看安卓市场们和水果应用商店要被小程序干掉了。

东西多了,不见得是好事,多了,就意味着杂了,乱了,不好管理了。从开发者注册入口严格把控,并且,每个注册的人只能开发一款小程序,这是非常聪明的决策,可以说是恰 到好处。另外一方面,只对团体开放,小程序就变成了一种插件,另外一种运营方式,而不是对安卓市场和水果应用商店 的一种竞争。如果对个人开发者开放注册,那么会有大量克隆安卓应用和水果应用的小程序出现,会对安卓市场和水果应用商店造成竞争,东西多了,杂了,对微信本身也是一种负担,微信会变得更加臃肿,更加耗费资源,更加的笨拙。

懂得产品和克制的张小龙做出的小程序对微信会有正向的促进作用。慢慢的其他大厂也会推出类似的东西,但我相信能对宿主应用产生正向促进的少。因为这东西会产生很多好看的数据,对KPI,对升官加薪都是大大的好。

多说一句,现在产品汪们都不敢拍脑袋了,因为会被开发challenge的很惨,于是现在流行用数据说话,但数据好就一定是好的产品设计么?很不一定,最简单的例子,16年支付宝多次的社交尝试(敬业福,校园日记,改密漏洞),数据上一定都非常好,但结果怎么样呢?这些超级app里(手机淘宝,微信,支付宝,UC等等),你随便做个功能,不用推广也可以达到DAU百万级,可以秒杀其他小厂辛苦砸钱的小app,但这又有何意义呢?就能说比小app做得好么?有种你离开超级app,做成独立app,再拿数据出来试试!好的产品一定是小而美,而非大而全,相信随着用户的科学素养的提升,这些臃肿的傻全黑粗,迟早被淘汰。

安卓猿和水果猿大可不必担心

小程序一发布,就有媒体说,好多应用可以卸载了安卓和水果要失业了,这些都是标题党,赚眼球,增加PV而已。其实大可不必担心。前面提到了,张小龙是懂得克制的人,他不可能让小程序泛滥,因为一旦泛滥,必然危及微信本身,会让微信本身变得非常难用,想想其他所谓的超级app(手机淘宝,支付宝等等),为什么难用,还不因为它里面有太多太多的东西(插件)了。另外,前面也提到,小程序之于公众号,就如React Native之于H5,它只是换了一种渲染方式而已,能做的事情没有变多,超出H5本身的东西都是需要宿主提供API的,所以小程序不可能提供超出微信本身功能的API,那样一来微信岂不是变成了一个操作系统了么?

Comments