我眼中的小程序 这本书的编写历史很有意思。从2016年10月中旬开始构思本书的内容,到2017年3月定稿,历时5个月的时间。这中间小程序的大起大落颇值得我们认真回味一下。 2016年9月,小程序内测后迅速引爆了整个互联网圈,含着金钥匙出生的小程序,甚至还没有展现其全貌就已被捧上了天。App完了、微信要成操作系统、厉害了我的大Web前端,各种不着调儿的声音甚嚣尘上。不过,作为一个技术开发者,我深刻明白,没有完美的技术,更不会有突然就消亡的产品,小程序不会一统江湖,App也不会销声匿迹,小程序一定是以一种和App互补的姿态出现在人们的视野,至少短期之内一定是这样。 2016年9月到12月28日这段时间,所有人都看不透小程序,连入口、发现机制都不知道,如何能够精准地定位小程序? 直到2016年12月28日微信公开课上,张小龙终于用一连串 “没有”告诉了所有媒体和开发者,你们都是错的。小程序并不是你们想的那样:我说它只是用完即走的服务,那它就一定是用完即走的服务,不会带有很强的媒体属性;我说没有应用市场,那官方就没有应用市场;我说扫一扫、搜一下就能打开小程序,那就没有第三种途径可以触及小程序。在当时,这些“没有”确实让很多开发者大吃一惊。 官方没有应用市场,只支持有限能力的搜索(目前,微信已开放了小程序的模糊搜索),不能分享到朋友圈,不能被关注,没有主动推送消息的能力,这是官方在2016年末时向开发者所描绘的小程序肖像。很多产品经理、创业者在看完微信公开课后,都默默地在想,那我要小程序干什么? 在2016年12月28日的微信公开课上,张小龙还公布了小程序正式开放上线的日期:2017年1月9日。10年前的1月9日,乔布斯公布了第一代iPhone,这个产品重新定义了智能手机;10年后的1月9日,微信发布了小程序,这个产品能重新定义应用程序吗? 诸多限制并没有让开发者特别沮丧,无数创业者依然坚信小程序是一个巨大的红利,不试试怎么知道呢? 2017年1月9日凌晨整点刚过,积压了一年多(早在2016年1月,张小龙就公布了微信应用号)热情的开发者迅速上线了自己的小程序,无数早已审核完毕的小程序如潮水般涌来。可创业者失望了,原来小程序并不如大家想得那般美好,信守承诺的微信不仅没有放开任何一个限制,反而屏蔽了长按二维码识别小程序的功能(目前已开放)。长按二维码是当时可以很方便地在线上推广小程序的途径,可这条路也被微信无情地斩断了。 顿时互联网圈子不淡定了,许多人在前两个月对小程序的看法还是“万紫千红总是春”,但转眼间却发现小程序并不像想得那样美好。线上的推广渠道几乎没有、搜索必须输入完整的名字(目前已解除这个限制,支持模糊搜索)、不能和公众号同名、用户只能从历史中打开曾经使用过的小程序、不对个人开发者开放,这些都是小程序的真实“模样”。所谓“人生若只如初见,何事秋风悲画扇”大抵就是这样的心情。很多创业者、开发者不再认可小程序的模式,整个互联网对于小程序的评价来了一个180度的急转弯。创业者认为小程序不利于推广,开发者认为这就是一个Web网页,并没有什么新意,很多普通用户甚至根本不知道有小程序这个东西。 完全摒弃线上入口,真的好吗?开放模糊搜索、允许公众号关联小程序,这明明在技术上并不难实现,为何要如此固执。也许是微信已经习惯了低调与克制,只是这次的“克制”却显得如此的生硬。当然,也许微信有自己的考虑与布局,只是我们局外人不得而知。 2017年3月27日,画风突变,微信公布了小程序的若干新特性:对个人开发者开放注册;公众号自定义菜单与模板消息可以绑定小程序,用户点击后可直达小程序;移动App可分享小程序;不再需要扫描小程序特定的二维码,直接扫描商户原有普通二维码也可以直接打开小程序。小程序开始尝试借助微信现有资源来推动小程序的发展。 很明显,小程序的入口逐渐丰富了起来。借助微信公众号那惊人的体量与访问量,被开发者一直诟病的没有传播途径这个问题,也得到了较好的解决。在没有放开这些能力之前,我曾经一度认为小程序和微信并没有什么联系,它完全是一个游离于微信体系之外的产品,和微信的关联感太弱了。但这次新能力的放出,让我感觉到了小程序真的变成了微信“的”小程序。 现在的小程序已初步具备了线上线下同步的雏形。微信绕了一大圈儿,最终还是回归到了线上线下结合这个互联网运营的经典套路。此次推出新特性的意图也较为明显:线下开疆拓土,线上巩固固有优势和辅助线下发展。至于开发者到底是重线上还是重线下,或是二者结合,这就在于开发者的抉择了。反正线上线下都给了开发者,那就自己看着办吧。 但以现在线上产品的完备程度来看,留给新产品的空间已经很小了。尝试着将目光投向线下也许是一个不错的选择,转变一下思维也许会有一片新天地。 以前我们的思维是线下什么不方便,那就把线下移植到线上。比如交水电费不方便,那就线上交;火车飞机出行购票不方便,那就线上买。这些服务毫无疑问是互联网发展的必然衍生物。可还有很多活动是线上做不了的,或者说很多线下活动如果放在线上,就会变得索然无味。比如看电影,如果线上能代替线下,为什么还有那么多人购买电影票去看大荧幕?因为电影是一门光与影结合的艺术,需要环境和氛围的辅助才能体会光、影、音结合的美妙和震撼;再比如朋友聚会、同学聚会,大家在线上用微信视频一起聊个天行吗?这自然不行,因为感觉不到位。我们无法脱离线下,却又被线下的不方便所困扰。 在我看来,线上线下结合是一个必然趋势,微信希望的也是从线下挖掘新的流量与场景。线上的服务虽然很方便,但场景有限,人不可能纯粹地活在线上环境里,我们依然有大量线下活动。目前,互联网所能提供的服务品质和服务种类其实已经达到了一个极限,在科技没有革命性进步的情况下,还想从线上有所突破是不太现实的。看似AI、物联网、VR很火热,但它们离真正的 普及还有很长一段路要走。当然,哪天人类的科技真能发展到像电影《星际穿越》中所描绘的智能、多维的层级,这就另当别论了。目前来看,线下的活动场景和机会还是挺多的,只不过还没有被充分挖掘。 所以,不要太过于执着于线上,换一种思路,挖掘一下线下的场景,也许是创业的一个突破口。线下有太多小程序非常适合的场景,拥有巨大的想象空间。虽然现在有不少H5服务于线下场景(如很多餐饮业提供的排号及点餐服务),但无论是从体验还是产品闭环上,都远远不及小程序。这点希望开发者能够去思考一下,不要强行用固化的思维看待小程序。这和技术无关,只和场景有关。 那么原生App、H5和小程序该如何抉择?至少从目前来看,如果只是一个纯粹的单一的线上小程序,相比于原生App还是有一定的劣势的,但在微信将小程序与公众号做了“强绑定”后,小程序的应用又变得非常的多元化,它们之间不再是“非此即彼”了;而在对比H5页面时,小程序的体验(使用体验与服务体验)还是要略有优势的,毕竟小程序是一个体系,但缺点是没有H5开放和自由,H5依然是最佳的粘合剂,很适合嵌入到各个种类的产品与应用中。 无论创业者选择App还是小程序,或者二者齐头并进,都应当把做好产品放在第一位。不是说选择不重要,而是过分在意选择载体而忽略了本质,多少有些舍本逐末。回归产品本质,解决用户的问题也许才是每个开发者应该斟酌和思量的事情。 对于小程序,更多时候我只是一个看客,它发展得好与不好对我而言没有太大影响。它发展得好,我这本书就有一定价值和意义,它发展得不好,未来这本书就如废纸一般,被读者丢弃在角落,蒙上一层厚厚的灰尘。我只是一个普通的开发者,这本书的内容也主要是讲解和技术本身相关的知识。它不是一本运营手册,仅仅是一本技术书籍,无论小程序未来发展如何,读者都可以从这本书里获取一些有用的知识。平台是多变的,但技术思维是相通的。 抛开繁杂的因素,仅从开发体验上讲,我非常喜欢小程序的灵巧。下载源代码后,不用配环境,只需要一个开发工具就能跑起小程序,这在现在越来越复杂的开发平台中是不多见的。也许小程序以后专业用来做原型代替Axure也不是不可能。此外,小程序非常适合开发者去践行自己的想法,以前移动端的开发成本太高,有很多想法因此都无法实现。但现在有了小程序就不同了,完全可以快速编写一个MVP产品,然后迅速投向市场去试错,再逐步迭代、完善,最终考虑是否要推出自己的原生App。 也许未来真的像张小龙所言,处处都是二维码;也可能未来的小程序就像历史上无数被技术更迭的浪潮所淹没的语言和平台一样,遁于无形。可谁又能预测未来呢?互联网每天都有新贵诞生,也有王者陨落,成与败都在弹指之间,这在互联网的世界里是再平常不过的事情。对于一个寄生于超级App的平台而言更是如此,一切都是未知数。 但无论如何,小程序这种即用即走的理念确实是现今主流App所缺失的。世界和科技总在不断变迁和进步,小程序这种形态的应用能否打破现在移动端的格局,我们目前还不得而知,但我相信这种理念确实值得认真思考一下,至于移动端的未来,还是交给时间吧。 最后,我花了很多时间思考这本书应该起个什么名字。从入门到精通?从来没有一本书能让你真的精通一项技术,精通一项技术是需要经年累月的持续学习的;零基础学习小程序?这也不太实际,本书不是讲解JavaScript等基础语言,很难做到零基础学习;从入门到实战?好像挺符合本书的定位。但我思忖,实战这个词汇太噱头,哪有在书里就能实战的,书里谈的代码从来都无法模拟真实的运行环境,何能称为实战?我诚惶诚恐,不敢用“实战”二字,思来想去,最后还是用“实践”落笔书名。以实例践行小程序的应用,同读者一起探讨小程序的开发。 雷 磊 2017年2月初稿 3月修订