微信在昨天晚些时候放出了“小程序”内测版。由于不是内测用户,我还无法亲身体验,所以只能先根据一些内测用户提供的资料,来说一下自己在技术上对于“小程序”的看法。有些看法在将来看可能不一定对,在此仅供参考。
首先,下面是微信内测文档给出的关于“小程序”的介绍:
我们提供了一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。
这说明小程序有开发更快,体验更好,获客更容易的特点。
技术上,小程序采用了web前端开发方式(开发快),最终会编译成native代码嵌入到微信内的“原生应用”(性能好)。
小程序之于微信,有点类似普通app和app store的关系。微信会作为一个平台,为应用提供分发和获取。
下面是我眼中的小程序相比于传统的网页应用和原生应用的优点:
相比于网页应用:
- 用户体验更好。网页应用是基于浏览器的,性能和流畅度上无法和原生应用相比。原生应用打开速度更快,操作更流程。
- 小程序能够将数据保存在本地,这样就不会像web应用那样每次打开时从新加载数据。减少网络流量从而节省等待时间。
- 网页应用无法充分利用系统的原生接口,小应用在这方面能实现更多网页应用实现不了的功能。
相比于原生应用:
- 无需再下载安装应用,直接通过微信入口就能进入,少了一步安装,从而提高用户转化率。
- 开发快。采用了前端开发方式,再加上微信提供的丰富的框架和组件,开发速度预计会比原生开发快的多。
- 节省人力成本。由于具备跨平台能力,一份代码能运行在iOS,android两端上。原来俩人做的事现在一个人就能搞定了。
- 能够在线热更新代码(猜测),这样应用出bug后不用再像之前那样动辄更新几十M的整包,随时后台静默更新,bug修复速度得到大幅提升!
所以小程序兼具了网页应用和原生应用的优点,再依托于微信这个超级app,势必会有一番作为。
当然小程序也有一些不足,我认为主要有几下几方面:
- 仅能基于微信提供的框架进行开发,微信框架未提供的功能是无法使用的。这样有些能在原来的原生应用上做的事情,就无法在小程序上实现。这些功- 能到底有哪些、有多少,目前还不得而知。
- 还是因为微信框架的制约,如果有复杂的交互或者复杂的功能,开发起来会难以实现甚至根本无法实现。
- 作为应用平台的微信,如果哪天不高兴了把你给禁了,一点办法没有。
- 嵌入到微信之内,我们应用的数据安全性上会差,微信想拿你的数据轻而易举。
那么,哪些适合用小程序开发?
- 项目初期,快速上线快速迭代的应用非常适合。小程序能大大减少试错成本。
- 技术实现起来不难,又能充分利用微信强大的推广和获客能力,这样的应用很适合。比如利用病毒传播方式做推广的应用。
- 功能较少,交互简单的应用适合。微信框架很好很强大。
- 打开频次低,随用随开的应用,比如订个票,打个车。
哪些不适合用小程序开发?
- 功能复杂的大型应用不适合。开发小程序时会遇到各种掣肘。
- 游戏这种对性能要求高的应用不适合。等对于系统底层要求高的应用也同样不适合。比如直播,视频类应用。
- 对数据安全要求高的,目前不适合。
- 追求个性化的视觉体验的不适合。因为是依托于微信框架,开发出来的应用在外观上可能都长的差不多。
- 已经积累了一部分用户量,有了稳定的开发流程,培养起了用户的习惯。这些应用不适合也没有必要将用户导入到微信端。
最后我的观点是,我们可以在“小程序”上做一些实践,使小程序作为app端强有力的补充,两者形成互补关系,最终达到1+1>2的效果。