9月21日,传言已久的微信应用号正式以“微信公众平台小程序”的名义发布,依然采取了内测制度,目前只有少部分开发者可使用。“微信之父”张小龙在朋友圈介绍,这种小程序是一种不需要下载安装即可使用的应用,用户扫一扫或者搜一下即可打开应用,对用户来说应用触手可及,对微信来说体现了用完即走的理念。应用号出来之后,有人说微信这次要颠覆AppStore了,开发者直接基于微信开发小程序就可以了,不用开发什么App了。更有人说微信就是一个操作系统,真的如此吗?
滴滴是最典型的小程序
什么是“小程序”?最典型的是接入微信的滴滴打车,我的手机里没有滴滴打车,但通过微信完全可以正常使用滴滴打车的服务,因为其服务使用很简单,几步就可完成,需要的底层能力如定位、支付,微信可以提供。
小程序的本质就是将给到滴滴、点评这些被腾讯投资业务的“特权能力”中的一部分,通过标准化的接口,给到普通开发者。具体来说,微信小程序提供丰富的框架组件和API接口供开发者调用,包含:界面、视图、内容、按钮、导航、多媒体、位置、数据、网络、重力感应等。操作系统给App开发者提供的能力微信基本都有提供,只不过其开发语言是基于JS和H5的,并且控制权限和能力范围与操作系统还有差距,因此是“小程序”而不是“应用”。
对于用户来说,不下载和安装App这个听上去挺有吸引力,事实上我们手机里安装的大部分App被打开的次数也很少,它们长期处于休眠状态,大家都是懒人,手机存储空间也有限,微信的优势是“顺手”,用户每天打开微信许多次,如果能通过微信小程序顺便解决,干嘛去安装App?微信支付没有自己的App,但在移动支付市场份额快速崛起,就体现出顺手的优势,微信支付之后也不大可能开发自己的App,它就是一个小程序。
别忘了小程序的“小”
微信公众平台之前一直是在做不同的“号”,订阅号、服务号、企业号。微信将“号”这个概念带到了整个互联网行业,头条号、网易号、百家号、直达号……这一次,微信公众平台反而没有用“应用号”这个名字,因为微信有自知之明,“小程序”的关键在于“小”。
跟滴滴打车一起接入微信的,还有大众点评、京东、58这些应用。尽管我本人是它们的忠实用户,但却从来不在微信里面使用它们。为什么?因为这些应用的功能和交互比滴滴复杂太多,安装其App才能用,才好用。大家都在微信有入口,效果却完全不同,这就表明微信的能力距离操作系统还是有很大差距的。正如其名,“微信小程序”更适合“小”程序,比如打车、理财、媒体这样的弱功能、弱平台、弱交互,重服务、重内容、重社交的应用。
互联网开发者,做的事情大抵可分三类,为用户提供功能、内容和服务,或者三者兼而有之。工具类App如墨迹天气、美图秀秀、清理大师在做功能;媒体和娱乐属性的App在做内容;O2O、电商、金融之类的平台在做服务。
微信订阅号和服务号分别承载了内容和服务,这是微信公众号最核心的两大能力。“小程序”更适合提供内容和服务为主、但又需要功能性的小应用,比如服务相对单一的O2O应用如连咖啡、出门问问,再比如在内容之外还希望提供简单功能的。但对功能和交互要求很多的,如美图秀秀,京东商城,大众点评这些“大”应用,是不适合微信小程序的。
小程序只是一个小升级
微信公众平台面向开发者提供开放能力之后,就已有许多小程序的雏形。不懂开发的可以给订阅号加一个自定义菜单,这就是一个小程序。懂开发的还可以基于订阅号和服务号开发更多功能,顺丰速运、中国移动、招商银行、广州公安之类的服务型App功能已经很丰富,这些也是小程序,正是因为微信开放其能力,形成了一个庞大的“微信开发者生态”。
“微信公众平台小程序”不算一个新的东西,只不过是对之前开放能力的一个升级而已。一方面,开放的能力更多了,交互可以更丰富,功能可以更强大,看看滴滴打车等腾讯系业务的体验就知道了;另一方面,有了小程序概念之后,用户可根据需求去找应用,而不是像过去先关注某个号再使用有限的功能,使用应用的方式也不再是跟“号”聊天,而是跟常规App的体验类似。
微信订阅号、服务号,都没有类似于排行榜、导航首页这样的中心化分发方式,倡导去中心化的微信不做这些东西。然而,做小程序之后,微信很可能会上线小程序分发平台,就是类似于AppStore的东西。“挟用户以令开发者”是微信的能力所在,没有几个开发者会忽视微信的用户导入能力。小程序对开发者来说最核心的吸引力就在于其用户生态,以及腾讯鉴权的基础能力,如支付、地图、ID等。有想法可先基于微信先开发“小程序”来实现一个小目标,验证自己的想法;已有App的开发者,则可开发微信小程序将用户导入到自己的App。
小程序的先天缺陷是什么?
有人说,微信就是一个操作系统,看上去是,实际上还差得远。
小程序看上去有操作系统的所有接口,但是别忘了,小程序是基于微信的,微信虽是超级App,但依然是操作系统上的一个App。微信小程序跟原生App一样流畅,从技术上来说这是不可能的,因为小程序实现同样功能,会多一层计算,从计算角度来看必然会降低效率,不论是处理器还是内存还是耗电。微信现在就算只是聊天,用久了也会卡,它已经成为大多数用户手机中的耗电和空间大户,如果再承载臃肿的功能型计算,会有多卡?会有多耗电?会有多吃内存?这意味着小程序注定不适合完成复杂的任务,也不适合高频App比如音乐播放器。
还有,原生App在个性化的功能和交互方式上,在面向操作系统的底层性能优化,对离线数据的支持,都会比微信小程序更强大,因此大型游戏、美图秀秀、高德地图这类App是不可能通过微信小程序来实现的。正如其名,微信小程序更适合那些使用频率低、功能相对少、且有内容和服务属性的的“小程序”,所以说微信会颠覆AppStore,会与操作系统竞争,还是有些夸张了。
一定比轻应用更加强大
三年前,人们就在说“轻应用”这个概念,不少浏览器都尝试推出过“轻应用”,即基于H5的所见即所得的WEB App,然而却没有一个成功的。理论上WEB APP可移植极强,开发门槛低,对用户来说所见即所得,为什么没有成功呢?核心原因有三点,一是用户习惯问题,用户通过浏览器过去是浏览网页现在是消费内容,没有通过浏览器做更多事情的习惯;二是产品体验问题,浏览器基于H5提供的轻应用在底层能力上很弱,而且都要联网使用,体验很差;三是开发者态度问题,浏览器对开发者的吸引能力还不够,大家不支持,不去开发轻应用,最终形成恶性循环。
现在微信小程序会重蹈覆辙吗?不会。微信小程序不是H5应用,而是嵌入在微信中的本地应用,看上去没有安装,实际上用户添加之后就会在微信里面实现“本地化”,在使用体验上会在WEB App之上,原生App之下。更重要的是微信对用户和开发者的吸引力比任何一个浏览器甚至各大浏览器加起来都要大,用户为了省事顺手使用,开发者为了用户积极开发,会形成一个正循环。
在小程序之前微信就已形成介于Native App和Web App之间的“微信应用生态”,内容的生产、传播与消费在微信实现,还可在微信实现服务的提供、共享、获取。而这一切与浏览器、与搜索引擎、与豌豆荚什么的没关系,这些都曾被视作不同时代的入口。微信绕过了这些入口,成为一个黑洞,将内容和服务都吸引过去,将用户和开发者吸引过去。现在做“小程序”只是锦上添花而已,不会对应用生态又什么本质改变。
三年前我曾写过一篇文章《微信APP,移动互联网第三大入口?》,现在看来当时的观点依然不过时。我在当时说,
微信APP即微信公众账号,对APP提供者来说这是一个门槛极低,容易到达数亿真实用户且确保用户黏性的分发平台;对用户来说,这是一种前所未有及其简单的应用使用方式;对腾讯来说,将形成微信APP市场,通过微信APP付费订阅和APP内收费实现商业化,而微信APP及微信APP内搜索,将让微信有机会成为移动互联网的一种搜索入口。
这段话将“微信APP”换成“小程序”一样有效。
微信每一个动作都会被行业关注,且几乎每一次都会被高估,比如微信企业号就曾被高估,微信上线“朋友阅读的原创文章”小功能,有人说这是要干掉百度的节奏,今天这个功能已经下架了。微信小程序真的只是一个小程序而已,说它要取代AppStore显然是高估了,不过,长期来说,开放更多能力给开发者将巩固和丰富“微信应用生态”也是必然,虽然这个生态在小程序之前早已存在。