小程序

小程序是近两年发展非常迅速的一个生态。

小程序赖于应用主体,基于这个主体提供的开放能力创建应用,如微信小程序,利用微信提供的能力,向上构建应用,最后将开发好的小程序应用进行上传发布,即可在微信内打开。

本篇幅不会介绍如何开发小程序,小程序有非常完善的一套体系,其可以作为相对独立的技能进行学习,主要目的是提示读者可以向小程序方向进阶。

1. 职责

小程序开发者的职责比较模糊,因为小程序的技术栈几乎是 前端相关,整体结构也很 前端,所以一般来讲,前端开发者承担了 小程序 开发的职责。

相对前端开着而言,承担小程序开发的职责是有好处的,小程序可以作为单独的技能,前端进军小程序开发非常顺滑快速,花很短的时间看下文档,了解了核心理念就能上手开发。

2. 开发者工具

小程序的开发需要使用小程序主体提供的开发者工具,以 微信小程序 为例,就是要下载 微信开发者工具

也就是说,如果需要开发多个平台下的小程序,那每个平台提供的工具都需要安装一遍。

通常开发者工具会使用其预览、调试功能,以及其他的一些生态链工具,如上传、预览代码等,编辑工作会放在自己的编码工具上进行,因为官方提供的编辑器的功能相比其他主流编辑器或者 IDE 还有许多不足。

3. 同构解决方案

第一个小程序的出现,带动了许多应用推出“小程序”。

主流的应用都有小程序,如 微信支付宝QQ头条等等。

如果要每个应用主题下都实现一份相同的小程序,相当于维护四分代码,每个平台可能还不同逻辑等等,维护多个平台的通过产品是非常耗费时间精力资源的事情。

针对这个痛点,就衍生了许多的同构框架,即使用一套通用的代码,生成各个平台下的小程序代码。

这些框架结合主流框架(React、Vue等),或者设计了一套统一的规范来统一多端的代码。

目前主流的方案有 Tarouni-appChameleon 等,还有许多方案已经停止维护,不建议继续使用。

选择框架尽量慎重,要综合考虑,非短期的项目更是要考虑到整个项目的使用场景、开发人员来决定。

4. 小结

小程序经常会拿来和 App 进行比较,App 的使用成本相对小程序高出非常多,因为需要经历一个较长的下载、安装过程,而小程序核心理念之一就是 即用即走,非常快餐,而许多提供小程序的平台又是“国民应用”,所以移动端应用很多时候小程序会作为首选。