跳到主要内容

平台开发

v0.1.x

开发总体进度:
44.44%
4/9

在该版本中所要实现的功能包括:

  • 应用建模器:实现应用建模和功能开发的能力
    • 建模器自举:通过建模器设计和开发其自身的相关功能
    • 应用定制化:可以针对应用的任意版本,设计并生成定制化差量, 实现对定制化的差量管理
    • 应用演化:支持对应用的升级改进,实现应用渐进演化
      • 对渐进演化能力的支持,可以避免对应用的过渡设计,仅需要关注当下的需求即可, 后续需求可以通过演化能力得以支撑

注意,本阶段将侧重于后端开发,前端能用即可

应用建模器

自举开发

开发总体进度:
66.67%
4/6
状态开始时间结束时间开发内容备注
已完成2024-04-052024-04-16

通过 Excel 设计和维护模型,并生成 Maven 工程代码

  • 设计模型基础结构,为建模器的自举打下功能基础
  • 根据 Excel 创建平台工程和本建模器工程代码
已完成2024-04-052024-04-16

初步支持以表单形式设计和管理 ORM 模型

已完成2024-04-172024-04-25

支持为设计的应用模块生成 Maven 工程代码

  • 根据设计的 ORM 模型生成 Maven 工程代码
  • 识别当前服务中内置的模型,并可将其导入以调整其模型(手工触发)
已完成2024-04-262024-05-04

建模器自举

  • 将名为 ID 的字段视为主键,若需要复合主键,则需确保不包含名为 ID 的字段
    • Nop 会自动将 id 作为主键属性名称,复合主键类型也以该名字引用
  • 支持对数据库表结构的差量更新
  • 通过建模器调整建模器模型,并更新代码,同时自动升级数据库
未开始

以 XMeta 为建模的中心模型,围绕该模型重新设计建模器, 从而支持对 XBiz 函数和动态属性等的在线设计

  • 以 XMeta 为中心进行应用开发,即,技术侧围绕 ORM 做实现,业务侧围绕业务模型做设计
  • 可以为应用指定多数据源,并可在 ORM 层指定数据来源
未开始

与 IDE 集成,以便于编写 Xpl 脚本

  • 在固定位置创建代码文件,再调用 IDE 读取该文件,同时配置相关依赖和全局变量等
    • 创建临时工程,配置依赖,生成基础代码(只读)
  • IDE 保存修改后,本地的服务端读取代码并保存至 DSL 中的对应标签中
    • 根据 xmeta 的 selections 列表生成以 selection id 为枚举值的枚举类型: {bizObjName}_{selection id}("{selection id}")

差量定制

差量描述的是系统的变化过程,具备时间性,是系统演化工具,不要为了差量而差量。

开发总体进度:
0.00%
0/2
状态开始时间结束时间开发内容备注
未开始

对基础模块的发现和定制支持

未开始

对应用的衍生定制支持

  • 通过 Delta 对已设计应用进行衍生定制
    • 通过对比新旧设计内容的差异得到 Delta
  • 保留定制与原始的衍生关系
  • Delta 的独立管理

渐进演化

开发总体进度:
0.00%
0/1
状态开始时间结束时间开发内容备注
未开始

为建模器模型定义 DSL,以支持以 XNode 形式实现从 ORM 模型到建模器模型的转换

  • id 为普通属性,用于对已存在模型数据的更新
  • ORM 实体是否可与 DSL 绑定?

v0.2.x

开发总体进度:
0.00%
0/3

在该版本中所要实现的功能包括:

  • 页面设计器
    • 支持以统一风格实现从模型到页面的自动生成
    • 应用的页面风格和组件可以按需调整
  • 打通从应用设计、接口开发、项目构建、项目部署的各个环节
    • 在单体部署模式中,通过合并模块 starter 将其他服务模块和网关模块一起打包; 在多服务部署模式中,网关模块独立打包并作为入口服务,其他服务模块独立打包, 提供 API 服务,可指定哪些服务模块打包在一起,通过单独的 starter 模块合并
    • 代码开发可直接内置 Web 版 VSCode 进行在线开发

页面设计器

开发总体进度:
0.00%
0/3
状态开始时间结束时间开发内容备注
未开始

设计器自举

  • 根据页面模板自动更新模型调整后的页面
  • 可在前端页面编辑器中修改页面 Schema JSON,并生成差量
    • 针对模板的差量,后期仅维护差量,除非页面结构变化很大
未开始

前端页面复用 Nop XView 的能力,以复用页面组件,并可生成差量

  • 在 AMIS Schema 中均附加 name 属性,以用于支持差量
未开始

页面编辑

  • 支持 AMIS 文档页对演示的实时编辑即可,并保留其对属性的提示。不支持拖动方式调整页面
  • 组件实例自动生成并绑定唯一 id 值,且不可修改。其为在视图上定位组件和做差量修改的基础
  • 鼠标移入某段代码,则高亮对应的组件
  • 可编写 css 以控制组件样式
已暂停