Skip to content

jhasheng/MiniApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 写法很难将模板与逻辑分开

About

A mini app runtime framework.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published