本仓库是专业实习暑期实践班的实践作业,主题为 Build your own micro app 。
Nodejs
v16.5.1
electron
v19.0.10
babel
6.23.0
- 第一周
- 借助于
electron
的Native
层与Webview
控制 - 小程序单页面双线程模型
- 自定义的模块加载函数
- 借助于
- 第二周
- 基于
jsx
与babel
的编译 vdom
与render
渲染vdom
简单的数组diff
实现
- 基于
- 第三周
- 原生组件的创建与管理
x-if
条件语句dsl
支持- 原生组件的特权环境
- 第四周
- 在双线程基础上的自定义组件
- 函数组件与类组件的实现
- 类组件生命周期
- 自定义页面加载
- 时间仓促,没有能较好
debug
,可能无法正确运行 diff
算法没能使用fiber
高效算法- 没有支持更多的
dsl
标记 - 没有将
vdom
生成解耦到渲染层,因为类react
写法很难将模板与逻辑分开