探索小程序的未来|青训营笔记

173 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的第8天

写在前面

2017年,1月微信小程序正式发布,小程序全面进入用户的日常工作生活。3月,小程序面向个人开发者开放,自此,小程序数量进入爆发期。 2020年,1月小程序+直播功能打造商家线上经营闭环,完成快速转型,12月互联网巨头全面逐鹿小程序战场。我们还记得当初跳一跳小程序给我们带来的记忆。App时代满满退出,小程序时代来临。

小程序与web

小程序就相当于一层封装好的web容器,其中能够使用容器内部封装好的API进而与DOM发生交互,进行渲染,相比与web,小程序:

  1. 有着固定的语法以及统一的版本管理,平台可以更方便的进行审核
  2. 平台能够控制各个入口,比如说二维码,文章内嵌端内分享,入口上也能带来更好的用户体验
  3. 小程序基于特殊的架构,在流畅度上比web更好,有更优秀的跳转体验

如何开发小程序

小程序需要跟对应的渠道商申请小程序的平台核验,核验完成后,即可以使用相应的开发工具开发小程序。

开发小程序的技术栈一般是基于原生的js html css 即 开发门槛低 HTML+ JS + CSS 接近原生的使用体验 资源加载+渲染+页面切换 能够保证安全可控 独立JS沙箱

跨端小程序-小程序的未来走向

主流的跨端框架基本遵循 React、Vue 语法,这也比较好理解,可以复用现有的技术栈,降低学习成本。

remaxTaro nextTaro 1/2megalompvueuni-appchameloen
语法reactreact类 react (nerve)vuevuevue类 vue
厂家蚂蚁金服京东京东网易考拉美团Hbuilder滴滴

从实现原理上,开源社区的跨端框架大致分为下面两类:

  • compile time** 编译时**
  • runtime** 运行时**

compile time编译时的跨端框架,主要的工作量在编译阶段。他们框架约定了一套自己的 DSL ,在编译打包的过程中,利用 babel 工具通过 AST 进行转译,生成符合小程序规则的代码。

这种方式容易出现 BUG ,而且开发限制过多。早期的** Taro 1.0 和 2.0** 的版本就是采用的这种方案,下文会有更具体的介绍。

而另外一种runtime** 运行时模式**, 跨端框架真正的在小程序的逻辑层中运行起来 React 或者是 Vue 的运行时,然后通过适配层,实现自定义渲染器。这种方式比静态编译有天然的优势,所以 Taro 的最新 Next 版本和 Remax 采用的是这种方案。

写在后面

小程序目前作为一个强大的业务生态,融合了网页的前端技术,对于业务而言是一个很好的探索。同时伴随着前端工程化时代来临,小程序工程化跨端转译也成为主流。