敲黑板!这是优秀小程序开发者划下的重点

摘要

从微信支付、公众平台的迭代、微信生态系统、Open Web 和开发者这几个角度来分析一下微信小程序。

本文由 ingf 发表于 GitHub ,极客公园经作者授权后转载


ingf 和他的团队在前些天有可能学院的第一届小程序「蜥蜴马拉松」上夺得了第一名,作为杰出的小程序开发团队的成员,来听听他对于小程序这件事有什么要分享的~

微信在 2016 年 9 月 21 日发布的小程序内测版,今天(2016 年 11 月 3 日)发布了公测版,我司拿到了内测资格,在这段时间我们完成了微信小程序的开发,中间遇到了一些问题,也有一些思考,下面我会从微信支付、公众平台的迭代、微信生态系统、Open Web 和开发者这几个角度来分析一下微信小程序。首先看一下什么是小程序。

小程序是一种不需要下载安装即可使用的应用,它实现了应用「触手可及」的梦想,用户扫一扫或者搜一下即可打开应用。也体现了「用完即走」的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。

- Allen Zhang

想要理解小程序,不得不提一下张小龙的演讲。在 2016 年 1 月 11 日的微信公开课 PRO 版现场,张小龙献出了他的首次公开演讲,阐述了自己对于微信的设想,还讲述了微信的四个价值观。

  • 一切以用户价值为依归:大家都明白用户很重要,但真正把用户价值第一做到产品里面去的不多,大部分只是把这个作为一句口头禅在说,但是在微信的平台里面,我们把这个作为第一要事,作为最重要的一个因素。
  • 让创造发挥价值:公众平台从它诞生的第一天起,他的目标是要让真正有价值的东西发挥出它的价值。我们是希望让这个平台里面涌现出更多的有创造力的事情出来,而不是说这个平台就是一个做流量的地方。
  • 好的产品应该是用完即走的:我们要考虑的则是怎么样更高效率帮助用户完成任务,而不是让用户在微信里面永远都有处理不完的事情。
  • 让商业化存在于无形之中:我们希望微信能做很好的商业化,但是它不是基于骚扰的、基于流量变现的商业化。我们的本意并不是要做成一个只是传播内容的平台,我们一直说我们是要做一个提供服务的平台。我们希望存在一种新的公众号的形态,这种形态下面用户关注了一个公众号,就像安装了一个 APP 一样,这样的话我们可以尝试做到让更多的 APP 有一种更轻量的形态,但是又更好使用的一种形态来存在,这是我们在探讨的一种新的公众号形态,叫应用号。

连接人与服务

一说起微信,大家就会想到抢红包,微信经过几个大的版本迭代和几次大的活动推广,几乎所有用户都会抢红包了,大部分用户都已经绑定了银行卡。也就是说,支付这条路已经铺好了,可以沿街开店了,小程序应势而出!

回顾一下互联网过去的 20 年,不管科技处如何进步,人们内心深处的需求从来没有变过,只是科技让这种需求变得触手可及:

  • 人和信息的连接,门户新闻搜索引擎,有雅虎、Google
  • 人和人的连接,有 QQ、微博、陌陌
  • 人和商品的连接,有淘宝、京东、亚马逊
  • 人和服务的连接,有微票、滴滴 Uber、Airbnb

当下火热的网红模式,大家再熟悉不过了,国内发达的网红生态链作为具有中国特色的致富方式让国内外人士惊叹不已,甚至 BBC 都调查出了中国大陆上遍布着 50 多家网红孵化器(从零培养一名网红,创造出一条「保姆+经纪人+供应链」的模式)。其实说白了,网红就是流量加商业变现,在微博上刷流量,引导去淘宝消费。都是阿里系的,配合的很好,正因此,新浪微博迎来了第二春。网红模式主要是包含了上面的第二点和第三点,连接人和连接商品。

而微信把这些全部连接起来,信息、人、商品和服务,形成一个生态闭环,所有的一切都在微信内部,以最少路径完成用户的需求,因为微信支付这条康庄大道已经修好了。这就是内容+连接+推广+变现,这些生态环节的生产成本,生产内容的成本、建立连接的成本、推广成本和支付成本全部降低时,一切都简单了。

过去的十年,互联网解决了人与信息、商品和人的链接,未来的十年一定是链接人与服务。微信发展到小程序这个阶段应该说是有其背后的野心的。只是这个野心一直都装在张小龙的心里,保护得很好。

小程序诞生记

在微信诞生伊始,为了丰富内部服务,尝试开发了一些小插件,比如群发助手,但是并不是很流行。然后出现了功能相对聚焦的订阅号和服务号,旨在为用户提供信息资讯和服务,订阅号可以说非常成功,服务号表现差一点,也比较成功,但是这两个产品可定制化程度不高,二次开发也比较难,难以满足千万商户和亿万用户的需求。但作为产品迭代升级中的一环,这是承前启后的一环。

有大部分用户也注意到,微信钱包里面有很多第三方 Web App:滴滴、机票、京东、美丽说、电影演出票。在这里也能获得完整的 APP 的体验,但有两点不好的地方:用户体验不如原生 APP 好,这些服务都是腾讯投资的公司,用户没有可选择性,只能使用这几个服务。

现在,小程序诞生了,作为以上产品和服务的一个迭代,比小插件功能更强大,比订阅号服务号自由度更高,比 Web App 体验更好。很多人现在把微信比作 OS,那么小程序就是微信 OS 的第一个产品,这只是中点,并不是终点。可以预见,平稳发展很久的微信,已经准备二次发力了。

生态系统

我们希望基于微信能够搭建一个生态系统,但不是我们自己把生态系统里面的每一部分内容都做了。简单地说,我们希望建造一个森林,而不是建造一座自己的宫殿;我们希望培育一个环境,让所有的动植物在森林里自由生长出来,而不是由我们建造出来。- Allen Zhang

所以微信就是大自然,公众平台(订阅号、服务号、小程序都属于公众平台)这个平台好比土地,微信支付好比空气和水,而数以万计的公众号和小程序,就是大自然中的动物和植物。优胜劣汰,适者生存,微信是不会在乎个体的生存和死亡的,反而愿意看到他们残酷的竞争。因为只有这样,经过野蛮生长,经过厮杀,经过春夏秋冬,存活下来的,才是微信用户真正需要的产品,微信用户才得到了好的服务,这才是微信愿意看到的。

很多人猜测微信会提供一个小程序分发平台,这一点张小龙在微信公开课 PRO 的演讲说的很清楚。

微信要实现一个去中心化的动态系统,不会提供一个中心化的流量入口来给所有的公众平台方、第三方。

没有榜单,就没有刷榜(好耳熟的样子),那么中小团队就可以长舒一口气了。而且,移动 App 分发时代已经结束,君不见,百度当年以 19 亿美元收购 91 无线,以为拿到了移动世界的一张船票,结果发现只是 91 无线只是一艘随着大浪舞动的小船,现如今准备出售 91 无线下 iOS 业务,价格还不知道,但可以参考豌豆荚,错过顶峰时期阿里巴巴 15 亿美元的橄榄枝,三年后的今天以 2 亿美元卖身阿里巴巴。

Open Web

在知乎上几篇关于 Web 的讨论很精彩,很多人认为微信不够 Web,不够开放。

撇去技术细节,看一下国内的现状,Web 这么年多了,公司组织个人,拥有 Web 站点或者博客的并不多,而且用户体验也不太好。再看一下 2011 年诞生的微信,拥有微信公众号的组织个人应该不在少数,其便捷性和实用性,较之 Web 是高出不少的。几乎所有微信用户都关注过或者使用过微信公众号,然而这些人甚至不曾打开过一个 Web 站点。小程序上线以后,Web 的用户体验更是无法与小程序抗衡。相对来说,这是一种封闭,如果所有的商业寡头都执行这样的封闭策略的话,对于开发者来说不是一个好消息,因为就没有标准化这一说了,浏览器生态将会呗架空,继而会影响到普通用户的体验以及互联网的长远发展。

开发者

应用号(小程序)执行在 JsCore 环境中,而 JsCore 提供了和 iOS 和 Android 的 Native 代码交互,这样,JS 不完善的功能,可以通过 Native 代码来补充实现,对于 JS 性能问题,也能有 Native 的方法来解决。之前,大家抱怨的 Web App 的性能,体验问题,在应用号里面,就能一一找到解决方案。

Native App 和 Web App 争论了很久,就不多说了,以上可以看出,小程序的用户体验比 Web App 好很多(真机实测),相对于 Native App,还是有点差距,这是从性能方面来说,就整体体验而言,小程序是高出 Native App 的,因为微信提供了 UI 框架并强调各个小程序与微信的体验一致性,用户能比较快适应,同时还是用微信的账号体系,减少登陆注册环节,在加上小程序触手可及的特点,这种体验比用 Native App 会舒服一些。

下面说一下开发流程和开发体验,公测也限制了注册范围:企业、政府、媒体和其他组织(个人开发者待定)。这里有必要提醒一下开发者,拿到开放公测了,记得先申请微信认证,然后开通微信支付权限,小程序的支付和公众号的支付是分开的,我司因为申请的比较晚,整个国庆期间都是正在审核中,不能调试微信支付。

小程序使用类 HTML5 技术开发,还拥有丰富的控件和系统调用能力,但他不是 Web App,也不是 Native App,而是两者的一种中间状态,开发完成后,需要提交微信审核(包大小限制最大是 1M),其实小程序还是需要下载的,用户在第一次打开的时候,还是需要加载审核过的这个包,不过很小,下载这个过程可以忽略。同时小程序没有外链,不支持 URL 跳转,也不能跳转到 APP。

微信提供了一个简单的开发框架,目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务。框架拥有自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,可以让开发者可以方便的聚焦于数据与逻辑上。

WXML 借鉴了 React 的组件的思路。WXSS 类似 React Native 中的 CSS flex(其实是 CSS 的一个子集),但是微信还对他进行了扩展。你应该看出来了,这就是 HTML5 所涵盖的技能栈。而且还能看出来,这大量借鉴了 React 和 Vuejs 的思路。

74613fce-04da-11e6-9e8b-7266392236d4.png

这是我之前做 React & Redux 的分享时写的 Keynote,主要讲的是在前端开发中,实现 UI 层和逻辑层的分离,这里逻辑层主要基于 Redux(但这并不是必须的,逻辑层只要能处理好业务逻辑、输出数据就好了),然后上层 UI 层可以是任何能够构建 UI 的框架,基于此,能够实现很多客户端应用的开发,聪明如你,一定发现了,小程序也是这种做法!作为前端开发者,框架很多,并不是非此即彼,应该多看看,现在如果还不了解 React 或者 Vuejs 的套路的话,很容易落伍的。

一些基础八卦

  • 苹果不让叫应用号,所以改叫小程序
  • 不能做游戏产品
  • 一个用户最多只能添加 20 个小程序
  • 会和微信搜索打通
  • 好像没有多少人关注「朋友圈本地广告正式上线」这条新闻了

以微信在 Apple 发布会上出现的次数,很多事情应该是和 Apple 打过照面了,微信被下架的可能性不大,不过和 Apple 之间肯定存在很多较量和制衡。

哪些服务和企业需要小程序

小程序开放后,肯定会有一大波服务号会利用小程序做一些尝试的。绝大部分创业公司,可以使用这样的配置,一个订阅号(吸粉和推广),一个小程序,就够了,各种低门槛低成本,快速迭代验证,一上来就三板斧很容易死掉。有把握了以后,根据产品形态和团队情况,有选择性的转入 React Native、Web App、Android、iOS,初期的订阅号和小程序不能废了。大公司也会参与进来的,滴滴、美团、京东,去哪儿、大众点评,别问我怎么知道,这还要问吗,所有人迟早都会被卷进来的。好好做小程序,别老想着微信会弄死你,只要不诱导分享,污染用户的朋友圈,不捣乱,产品服务好的话,微信怎么舍得弄你呢。

其实也并不是说小程序有多厉害,和他类似的产品有很多,百度直达号,Chrome App,都不温不火,之所以看好小程序,主要还是微信这个平台太生猛,因为用户都在这里。万事俱备,只需要你有很好的产品方向以及执行力。

但行好事,莫问前程。

(编辑 早优夫斯基)

最新文章

极客公园

用极客视角,追踪你不可错过的科技圈.

极客之选

新鲜、有趣的硬件产品,第一时间为你呈现。

张鹏科技商业观察

聊科技,谈商业。