Skip to content

Latest commit

 

History

History
34 lines (29 loc) · 1023 Bytes

README.md

File metadata and controls

34 lines (29 loc) · 1023 Bytes

Mini App Runtime

本仓库是专业实习暑期实践班的实践作业,主题为 Build your own micro app

使用框架

  • Nodejs v16.5.1
  • electron v19.0.10
  • babel 6.23.0

实现内容

  • 第一周
    • 借助于 electronNative 层与 Webview 控制
    • 小程序单页面双线程模型
    • 自定义的模块加载函数
  • 第二周
    • 基于 jsxbabel 的编译
    • vdomrender 渲染
    • vdom 简单的数组 diff 实现
  • 第三周
    • 原生组件的创建与管理
    • x-if 条件语句 dsl 支持
    • 原生组件的特权环境
  • 第四周
    • 在双线程基础上的自定义组件
    • 函数组件与类组件的实现
    • 类组件生命周期
    • 自定义页面加载

实现不足

  • 时间仓促,没有能较好 debug,可能无法正确运行
  • diff 算法没能使用 fiber 高效算法
  • 没有支持更多的 dsl 标记
  • 没有将 vdom 生成解耦到渲染层,因为类 react 写法很难将模板与逻辑分开