Leen27 / Diary

技术日记
0 stars 0 forks source link

[idea] 基于插件的低代码开发 #14

Open Leen27 opened 1 year ago

Leen27 commented 1 year ago

所有的功能都拆分出去,单独做成插件,每个插件只做一件事情,整个项目会经过一系列插件,最终生成用户所需的应用

举例

  1. 基本基座
  2. 布局插件
  3. 容器插件
  4. 组件插件
  5. 数据插件
  6. 样式插件
  7. 交互插件
  8. ...
Leen27 commented 1 year ago

资源层

  1. 字段 - 数据源
  2. UI - 布局, 样式, 动画, 交互
  3. 组件 - 拼接, 装饰, 组合,依赖
  4. 事件 - 订阅发布
  5. 生命周期 - hooks
  6. 静态 - 图片,视频,icon,配置
Leen27 commented 1 year ago

创建, 检查, 解析

  1. 发布资源
  2. 解析出资源
  3. 检查规范
Leen27 commented 1 year ago
Leen27 commented 1 year ago
  1. 设计
  2. 环境
  3. 开发
  4. 测试
  5. 部署
  6. 监控
Leen27 commented 1 year ago

抽象

  1. 元 - 字段,类型,图片,样式,常量,事件,dom,布局
  2. 组件 - 多个元集合
  3. 页面 - 多个组件集合
  4. 路由 - 多个页面集合
Leen27 commented 1 year ago

分层

划分

Leen27 commented 1 year ago

分散结构

  1. 在运行之前自组件可不可以不知道自己属于谁,并且也不知道自己包含谁
  2. 当运行时,组件知道自己被谁包含,知道自己包含谁
  3. 当运行时,组件只需要管自己的事情,会有一个服务自动地执行他们的关系
  4. 传统的树桩结构在开发时变成零散结构,在编译后生成传统的树状结构
Leen27 commented 1 year ago

UI = render(state) IA = BUS(event from, event to, data) DS = QC(device, data)

Leen27 commented 1 year ago
  1. 上传图片 -> 生产图片资源(:id)
  2. 组件绑定图片(:id)
  3. 生成带有(path)的 组件代码
Leen27 commented 1 year ago
  1. 上传JSX -> 生产模版资源(:id)
  2. 组件绑定 JSX (:id)
  3. 生成引入了 JSX(模版)的组件代码
Leen27 commented 1 year ago
  1. 定义组件 -> 生成组件(:id)
  2. 定义组件的接口 -> 输入输出
  3. 自动生成测试代码, 检测组件接口
Leen27 commented 1 year ago
  1. 定义事件 -> 生成事件资源(:id)
  2. 定义事件的触发逻辑和执行逻辑
  3. 编译前以事件总线的形式维护
  4. 编译后生成事件函数代码
Leen27 commented 1 year ago
  1. 引入组件
  2. 引入图片
  3. 引入 JSX
  4. 引入事件
  5. 引入样式
  6. 组合上述资源
  7. 生成vue 或者 react 组件
Leen27 commented 1 year ago
  1. 定义模型 -> 生成模型资源(:id)
  2. 定义模型的数据类型(TS)
  3. 模型分视图模型和业务模型
  4. 模型能跟API 绑定,生成出来的代码应该隔离使用户只能操作模型,而不能直接操作API
  5. 模型应能抽象于具体实现(axios)或者物理设备(localstorage, websocket, ajax)
Leen27 commented 1 year ago
  1. 定义用例 -> 生成用例(:id)
  2. 定义用例流程:谁 -> 通过哪些方法 -> 做了什么 -> 结果怎么样
  3. 用例能嵌套用例
  4. 用例为具体的业务流程: 开发者可以直接使用用例来完成某些业务