发展历程、业务价值、技术解析、相关扩展
第三方应用最简单最方便的方式:Hybrid App,即 WebView + JSBridge
以字节的头条小程序为例:
HTML => TTML
<view
tt:for=""
tt:if=""
bindtap="onTap"
/>
JS
Page({
data: {
list: ["a", "b", "c"],
isOpen: true
},
onTap: function() {
console.log('tap me!');
}
})
CSS => TTSS
view {
background-color: 'red';
width: 750rpx;
}
主要解决两个问题:复杂应用构建、一次开发可以跨多端
常见框架:
remax | taro | megalo | mpvue | uni-app | |
---|---|---|---|---|---|
语法 | React | React/Vue | Vue | Vue | Vue |
厂家 | 蚂蚁金服 | 京东 | 网易 | 美团 | Hbuilder |
使用 AST(抽象语法树)解析代码语法,有了 AST 之后,就可以重新组合语法,生成适用于不同平台的特定代码
例如:
<view>{foo ? <view /> : <text />}</view>
<view><block tt:if={foo}><view /></block><block tt:else><text /></block><view />
使用 Virtual DOM 和 template 模板语法 动态生成模板组件