小程序技术攻克,此项目可以了解小程序是如何实现的。
- view 和 js 编译成独立两套
- view 可运行在浏览器,electron/android/ios 的webview等
- js 可运行在android的j2v8,electron和nodejs
- view 和 js 通过bridge通信,bridge在不同介质(android/ios/electron)下分别实现
- 虚拟DOM
- 编译相关知识, ast/code-gen等等
- bridge
- dsbridge:抽象bridge功能,供webview/js通信
- runtime-jscore: po框架的js运行时部分
- runtime-webview: webview运行时部分
- server: 服务端运行部分,提供webview和jscore的代码下载,供native运行
- android:android app 运行示例
语法上和微信小程序高度相似
<view po:for="{{goods}}" >{{item.name}}</view>
<view po:if = "{{loaded}}"></view>
Component({
data:{
loaded:false,
goods:[
{
name:"石榴"
}
]
},
onCreated(){
},
onDestroyed(){
},
....
})
- pnpm install
- npm run build
- node test/test.js
- 直接在浏览器输入http://localhost:3456/?page=pages/home/index查看
- 也可以使用android工程运行小程序 打开android目录下的工程,运行(需要有一定的android开发基础)