这是我参与「第四届青训营 」笔记创作活动的的第10天
本文部分数据截图来自于阿拉丁
小程序的产品价值
小程序的存在帮助许多APP构建了更加完整的生态和扩充了更加广泛的业务场景。
1. 小程序的发展历程
1.1 发展历程
1.2 核心数据
1.3 小程序生态
2. 业务价值
2.1 与Web的区别
- 有着固定的语法以及统一的版本管理,平台可以更加方便进行审核
- 平台能够控制各个入口(如二维码、文章内嵌、端内分享),入口上也能带来更好的用户体验。
- 小程序基于特殊的架构,在流畅度上比Web更好,有着优秀的跳转体验。
2.2 三大价值
- 渠道价值:由于小程序的便捷性,依托于着超级平台,小程序能够充分为很多场景导流。
- 业务探索价值:相比原生APP来说,小程序的开发难度和成本都降低很多,这就创造了很多场景开发者能够用小程序来快速试错,不断探索新的业务价值
- 数字升级价值:线下到线上如何做?从轻消费类的快餐、茶饮到汽车等大宗消费,小程序都展示了良好的容错空间。
3. 小程序原理与语法
3.1 小程序原理
- 第三方开发应用最简单最方便的方式?
- 老师这里提供的解决方案是:Webview+JSBridge
- 这种技术方案的缺点:
- 无网络的情况体验不佳
- 网页切换体验不佳
- 如何管控保证安全
- 解决缺点的目标:
- 开发门槛低---HTML+CSS+JS
- 接近原生的使用体验---资源加载+渲染+页面切换(多WebView)
- 能保证安全可控---独立JS沙箱(JSCore)
- 不操作DOM如何控制页面渲染----(Data -> 根据数据处理DOM -> 页面)
- 为达到上述几个目标,提出的方案便是小程序,其运行逻辑如下:
3.2 小程序语法(以字节小程序为例)
TTML+JS+TTSS 这种技术语法规范与HTML+JS+CSS的语法相似,因此在学习的过程中可以将两者进行类比学习,提高学习效率。
4. 相关扩展
4.1 跨段框架介绍
| 框架 | 语法 | 厂家 |
|---|---|---|
| remax | react | 蚂蚁金服 |
| taro | React/Vue | 京东 |
| megalo | Vue | 网易 |
| mpvue | Vue | 美团 |
| uni-app | Vue | Hbuilder |
4.2 跨端框架原理
- 编译时方案
- AST语法树
- 这里老师提到AST语法树的概念,通过查询资料了解到:
-
AST语法树,是抽象语法树(Abstract Syntax Tree,AST)的简称,或简称语法树。是将源代码语法结构进行抽象表示。AST是以树状的形式表现编程语言的语法结构,树上的每个结点都表示源代码中的一种结构。
- 编译步骤:AST语法树解析->组合生成小程序代码
- 编译时的方案的问题:无法完全抹平差异
- AST语法树
- 运行时方案
- 虚拟DOM + Template组件----帮助动态生成组件
- 运行逻辑:
- 运行时方案的问题:在一些场景下比小程序原生语法性能要差一些
5. 本节课个人小结
本节课老师带领我们了解了小程序的相关知识。从小程序的历史发展到技术方案,由浅入深地介绍了小程序。我从中学习到了小程序的底层逻辑和一些工业上的常用方案,以后学习小程序更加有方向和目标。