小程序技术认识

119 阅读3分钟

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

前言

随着小程序走进我们的生活以来,其热度基本上一直处于上升状态,小程序开发已然前端开发很有必要要学习的一项技术,通过本节课对小程序有了更广泛的认识,不仅仅停留在之前的简单使用,而是了解了更多的相关知识,做出以下记录。

业务价值

与WEB区别

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

三大价值

  1. 渠道价值: 由于雄安程序的编写性,依托于超级平台,小程序能够充分为更多场景导航
  2. 业务探索: 相对于原生APP来说,小程序的开发难度和成本都降低的很多,这就创造了很多场景开发者能都用小程序来快速试错,不断探索新的业务价值
  3. 数组升级价值: 线下到线上如何做?从轻消费类的快餐,茶饮到地产汽车等大宗消费,小程序都展示了良好的容错空间。我们线下场景的小程序覆盖范围很广。比较近的就比如在餐馆的扫码点菜。

技术分析

小程序原理

第三方开发应用最简单最方便的方式:

  • WebView + JSBridjge

  • 局限性:

    1. 无网络的情况体验不佳
    2. 网页切换体验不佳
    3. 如何管控保证安全
  • 基于上述局限性的解决方案

    1. 开发门槛低
    2. 接近原生的使用体验(多Webview):资源加载+渲染+页面切换
    3. 安全管控:独立JS沙箱(只可以进行JS逻辑,无法进行DOM操作,通过Data借助框架操作DOM)

相关拓展

跨段框架介绍

  • 复杂应用构建
  • 一次开发可以跨多端
  • image-20220819110416419

跨段框架原理

编译时方案

个人理解:书写的代码通过被解析为AST语法树,然后转换为 其他平台的语法,相当于借助AST语法树作为中转然后实现代码在多端之间转换运行。

局限性:随着不断的发展,无法做到完全转换,因此设置了许多限制,背离开发初衷。

运行时

  • 虚拟DOM
  • Template组件
  • 流程:在逻辑层js代码错做虚拟dom树,在渲染层解析组合为template,从而生成实际要渲染的元素树
  • 缺点:在一些场景下相对对比小程序原生语法性能会更差,不过大多数场景相差不是很多,可以放心使用

相关资料

微信小程序官网

uni-app官网

中文文档uni-app

\