小程序技术 | 青训营笔记

70 阅读3分钟

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

本文部分数据截图来自于阿拉丁

小程序的产品价值

小程序的存在帮助许多APP构建了更加完整的生态和扩充了更加广泛的业务场景。

1. 小程序的发展历程

1.1 发展历程

image.pngimage.png

1.2 核心数据

image.png

1.3 小程序生态

image.png

2. 业务价值

2.1 与Web的区别

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

2.2 三大价值

  • 渠道价值:由于小程序的便捷性,依托于着超级平台,小程序能够充分为很多场景导流。
  • 业务探索价值:相比原生APP来说,小程序的开发难度和成本都降低很多,这就创造了很多场景开发者能够用小程序来快速试错,不断探索新的业务价值
  • 数字升级价值:线下到线上如何做?从轻消费类的快餐、茶饮到汽车等大宗消费,小程序都展示了良好的容错空间。

3. 小程序原理与语法

3.1 小程序原理

  • 第三方开发应用最简单最方便的方式?
    • 老师这里提供的解决方案是:Webview+JSBridge
    • 这种技术方案的缺点:
      • 无网络的情况体验不佳
      • 网页切换体验不佳
      • 如何管控保证安全
    • 解决缺点的目标:
      • 开发门槛低---HTML+CSS+JS
      • 接近原生的使用体验---资源加载+渲染+页面切换(多WebView)
      • 能保证安全可控---独立JS沙箱(JSCore)
        • 不操作DOM如何控制页面渲染----(Data -> 根据数据处理DOM -> 页面)
    • 为达到上述几个目标,提出的方案便是小程序,其运行逻辑如下:image.png

3.2 小程序语法(以字节小程序为例)

TTML+JS+TTSS 这种技术语法规范与HTML+JS+CSS的语法相似,因此在学习的过程中可以将两者进行类比学习,提高学习效率。

4. 相关扩展

4.1 跨段框架介绍

框架语法厂家
remaxreact蚂蚁金服
taroReact/Vue京东
megaloVue网易
mpvueVue美团
uni-appVueHbuilder

4.2 跨端框架原理

  • 编译时方案
    • AST语法树
      • 这里老师提到AST语法树的概念,通过查询资料了解到:
      • AST语法树,是抽象语法树(Abstract Syntax Tree,AST)的简称,或简称语法树。是将源代码语法结构进行抽象表示。AST是以树状的形式表现编程语言的语法结构,树上的每个结点都表示源代码中的一种结构。

    • image.png
    • 编译步骤:AST语法树解析->组合生成小程序代码
    • 编译时的方案的问题:无法完全抹平差异
  • 运行时方案
    • 虚拟DOM + Template组件----帮助动态生成组件
    • 运行逻辑:image.png
    • 运行时方案的问题:在一些场景下比小程序原生语法性能要差一些

5. 本节课个人小结

本节课老师带领我们了解了小程序的相关知识。从小程序的历史发展到技术方案,由浅入深地介绍了小程序。我从中学习到了小程序的底层逻辑和一些工业上的常用方案,以后学习小程序更加有方向和目标。