1.2 为什么是小程序
由于互联网+概念的盛行,许多人纷纷踏入互联网行业,全国上下掀起了一股创业潮。在互联网时代早期,人们不由自主地认为互联网创业约等于做一个网站;而在移动互联网时代,在不少人的印象中,互联网创业约等于做一个 App。很多传统企业开始涉足互联网时,往往会迫不及待地开始招募人员开发 App,可是移动互联网的创业真的有这么简单吗?
在 Web 1.0 时代,诞生了以新浪、网易、搜狐、腾讯为主的四大门户网站;在 Web 2.0 时代,QQ 空间、论坛、博客等 UGC 产品百花齐放;之后,随着移动设备和互联网的发展,在 Web 3.0 时代,互联网的体验可以随时随地可用。移动互联网经过近几年的发展,已经发展到了巅峰,人们普遍认为万物互联时代即将到来。智能手机作为完成万物互联这一伟大愿景的终端设备,势必要求运行终端必须具备更快的运行速度、更大的存储空间以及更优秀、更智能的用户体验。但手机硬件本身的提升已经难以满足软件发展的需求,开发运营传统 App 的高成本、使用 H5 应用的糟糕体验、场景限制大等问题阻碍了创业者与用户的沟通交流。应用上云、即用即走已经成为互联网的普遍共识。这些现状直接催生了小程序和其他类似小程序的产品来整合大量的功能和资源。目前微信用户有 11 亿左右,可挖掘的商业价值难以估量。由于小程序体积小巧、安装方便,只需要用手机微信扫描小程序码即可,所以相比 App,用户更倾向于使用小程序。
1.2.1 小程序还是 App
虽然张小龙一直在重申,小程序跟 App 是两种不同的应用组织形式,小程序并不是要取代 App 的,相反是要去丰富 App 的很多场景,但是很多人依然会拿微信小程序与 App 进行比较。事实上,对于用户来说,因为一个场景下载一个 App 的门槛太高,用户转化路径折损率极高。
不菲的开发成本
小程序比 App 的开发更加简单,开发周期相对更短。要完成一个移动客户端的开发,至少需要一个后台开发、一个 Android 客户端开发和一个 iOS 客户端开发。因为不同系统客户端的开发模式不同,创业者在付出了高昂的人力开发成本后,很难在短时间内形成较好的用户体验,生产出来的产品也很难被大众认同。同时,App 的开发经常需要适配各种主流机型,而小程序的适配较简单,开发周期相对较短。
高昂的推广成本
放眼当今国内的 App 市场,移动互联网的格局已经基本确定,PC 时代的互联网巨头和一些新兴的互联网公司已经完成了对互联网市场的洗牌,用户主要的需求场景都有了对应的 App。App 需要下载、安装,因此天然地拥有高昂的推广成本,App 的困局在于,强需求、重交互的 App 很难再打开市场,而轻需求、低交互的 App 又很少会有用户下载,很容易出现吃力不讨好的情况。
在流量费用和手机存储价格仍然较高的今天,我们很难说服用户在自己的手机里维持一个全新的 App,并且能够在需要用到的时候很快地想到它。而小程序无须安装,用户通过微信扫描二维码、搜索、分享等途径即可打开小程序,推广成本相对较低。
另外,很多创业者缺乏流量来源,难以维系 App。而小程序作为国内安装量和活跃用户时长均名列前茅的超级 App,可能更容易帮助商家推广自己的 App。
高昂的维系成本
App 会有持续维系的成本,因为它的价值不仅在于用户下载量,而且更重要的是 App 的月活、日活、月度总有效时长等核心指标。另外,由于 App 需要被发布到各大应用商店内,很多用户天然地希望 App 能够有稳定的更新迭代,而不是一次下载、再无更新,因此对于 App 来说,定期的更新和维护是很有必要的。App 除了 Android、iOS 客户端需要定时更新外,还需要固定的服务器成本,而小程序则可以借助于云开发,维护成本更低。
但是,App 开发有其存在的必然性,小程序也不全是优点,存在以下不足。
计算能力不足
小程序可以满足大部分的基础轻应用,但是对于需要大量计算能力的场景,例如美图、文档处理等,虽然小程序可以实现大部分功能,但是在体验上难以与原生 App 相媲美。
灵活性不足
小程序提供的功能必须局限于微信官方提供的接口功能,而 App 对系统接口的调用更加简单方便。对于一些个性化功能,小程序需要依赖或等待官方团队给出新的接口才能实现。
有一定的局限性
小程序背靠微信这棵大树,虽然会带来极高的流量价值,但是也受到微信的一些限制。为避免小程序滥用影响微信的生态,微信对小程序的运营进行了诸多限制。以流量获取为例,很多在 App 上可以使用的营销策略,在小程序上是被禁止的,而 App 内部的功能和运营策略则是由运营者自己掌握的。
1.2.2 小程序还是 H5
H5 其实是一种不标准的叫法,它是 HTML5 的缩写,代表的是 HTML 的第五代技术标准。但是大家常说的 H5 实际上是指在移动端打开的 Web 页面,是 HTML5 技术在实际场景中的应用。
当计划开发一款移动端的产品时,我们到底是用小程序来实现还是用 H5 应用来实现呢?很多做产品的同学都会有类似的疑问,要回答这个问题,我们首先需要明白小程序和 H5 应用之间的区别。
运行环境不同
小程序依赖微信提供的运行环境,因此我们只能在微信内打开小程序,脱离微信这个宿主环境,小程序将无法继续使用。H5 则以浏览器作为载体,因此只要存在浏览器,就可以使用小程序,例如,可以使用手机自带的浏览器、第三方浏览器、各种 App 内嵌的 WebView 组件,甚至可以在小程序内使用 WebView 组件(当然,这里的使用是有限制的,在后面的章节中我们会逐步讲解)。
从这个层面上来讲,H5 比小程序更加灵活,例如当你需要通过短信下发你的产品给用户时,那么微信小程序将无法实现这个需求。不过如果你对于这些特定渠道的需求并没有那么强烈,那么 H5 和小程序都可以很好地满足你的需求。
接口能力不同
由于运行环境的限制,H5 应用和微信小程序之间的接口能力不太相同。H5 应用因为依赖浏览器实现,因此很多系统级别的能力会受到限制,例如访问用户通讯录、调用系统蓝牙、录音等。这些能力依赖 Web 标准协会制定协议,需要等待浏览器开发商实现协议,并最终需要你更新浏览器内核,而这些更新似乎不是很容易,这也产生了由于不同时期的浏览器、手机厂商实现的协议标准不一致而导致的 H5 页面应用兼容性问题。而对于微信小程序,由于微信是国民级的 App,因此只要微信提供了相应的权限 API,开发者就可以使用这些接口。微信对小程序基础库的更新是很快的,因此不用过多考虑高低版本基础库的兼容性问题。
虽然技术实现方案不太相同,但是其实微信小程序与 H5 应用之间有着千丝万缕的联系。对很多开发商来说,商家的 H5 会选择微信公众号作为主要渠道来源,甚至会利用公众号提供的能力实现诸如登录、支付等脱离了微信无法实现的能力。而小程序本身就是依赖微信而生,小程序内也支持使用 WebView 组件实现打开 H5 页面的功能。根据微信官方的规划,未来公众号将服务于营销与信息传递,而小程序主要会面向产品与服务,所以我们认为如果你的产品依赖微信提供的能力,那么小程序将是更好的选择。
访问入口不同
H5 应用常见的访问入口来自于广告导流、二维码导流或者公众号,而小程序目前提供了上百个入口,并通过“场景值”的概念方便商家进行来源流量分析。例如在微信的“搜一搜”中,如果我们的页面使用小程序开发,那么就可以直接被索引到,而 H5 应用则没有这样的待遇。
在移动互联网时代,流量为王。微信小程序作为微信的“亲儿子”,微信自然会对其进行一定程度的流量层面的倾斜。因此对于一个产品来说,如果流量来源不依赖微信,那么就可以考虑使用 H5 实现,否则我们应该优先考虑使用小程序来获得微信方面的流量扶持。
使用体验不同
虽然手机的硬件设备在不断发展,但是我们仍然认为依赖于 WebView 组件的 H5 应用使用体验比较糟糕,同时 H5 应用还存在难以实现用户留存的问题。事实上,小程序就是在 H5 应用这些现状下催生出来的。虽然小程序可以实现的功能受到微信平台开放能力的限制,但小程序可以满足很多的功能场景,具有非常流畅的交互体验。尽管小程序不是原生 App,但可以借助微信封装的一系列接口能力去实现更丰富的功能。因此在交互体验上,小程序体验更加接近原生 App,比 H5 应用更流畅。
1.2.3 如何选择合适的载体
小程序、App、H5 有着各自适合的场景,我们需要根据业务的定位选择适合业务需要的承载方案。表 1-1 列出了三种运行载体的比较。
表 1-1 三种运行载体的快速对比
根据以上对比,我们可以简单总结出小程序适合的场景。
(1) 低频服务行业。例如家政服务业、汽车站购票等使用场景,用户平时很少会使用这些场景,用到的时候也要求可以很方便地打开、用完即走,小程序将是负担最低、留存最高的形式。
(2) 部分工具类产品。工具类产品是典型的“低频”“刚需”场景,使用小程序实现是最合适不过的了。
(3) 作为增量渠道,为已有 App 团队导流。如今流量为王,App 很难在没有流量来源的情况下维持生存。小程序背靠微信这棵大树,又可以借用公众号等手段导流,不失为 App 的增量渠道首选。
(4) 为初创团队的产品模式探路。在创业初期,产品形态和营销模式往往并不能一蹴而就。小程序适合帮助创业者以低成本的方式快速迭代,迅速找到适合自身产品的发展之道。
同时,我们也列出了使用小程序的以下缺陷,帮助大家根据自己的产品形态进行合理选择。
(1) 微信小程序必须依赖宿主环境微信存在,无法作为独立产品在非微信环境下打开。
(2) 需要接受微信团队的审核,无法做到类似 H5 的快速迭代。同时对于部分产品的类目,微信小程序团队是不允许通过的(例如无法提供餐饮许可证的餐饮类小程序、无法提供食品经营许可证的食品类小程序、无法提供增值业务许可证的社区类小程序等),开发者需要在正式开发前确认当前产品是否符合微信的类目资质。
(3) 由于苹果公司的限制,小程序不支持对虚拟商品进行支付。
(4) 所有的后台接口使用的域名必须经过工信部备案。当然你也可以使用云服务,从而避免自建服务器(本书第三部分会详细介绍小程序·云开发相关的内容)。