====== NOP Chaos Next:AMIS 前端应用框架 ======
NOP Chaos Next 是 Nop 平台的 AMIS 前端应用框架,项目地址 [[https://github.com/entropy-cloud/nop-chaos-next|nop-chaos-next]]。它定位为**企业级应用脚手架**,提供扩展系统和插件化能力,团队通过声明式配置即可构建复杂业务应用。
Next 基于 AMIS 渲染(已迁移到 React 19),同时逐步引入 Flux 作为可选渲染层。
===== 与 Flux 的分工 =====
Nop 前端有两个并行的项目:
^ 维度 ^ Chaos Flux ^ Chaos Next ^
| 定位 | 低代码运行时和渲染框架 | 前端应用框架和脚手架 |
| 核心能力 | 七个原语构建的 runtime | Extension 系统 + Plugin 系统 |
| 渲染层 | 自研 renderer 架构 | 基于 AMIS(React 19 迁移版) |
| 使用者 | 平台团队构建低代码基础设施 | 业务团队构建企业级应用 |
**Flux** = 如何从 JSON 生成 UI(底层 runtime)
**Next** = 如何构建可扩展的业务应用(应用框架)
Next 当前从 Flux 同步 ui、theme-tokens、tailwind-preset 三个包,后续将引入 Flux 渲染引擎作为可选的页面渲染层。
===== Extension 系统 =====
Extension 是宿主应用的扩展机制,在启动时加载一次,用于配置和资源注入。一个 Extension 可以提供:
* **品牌配置** — 名称、logo、标题
* **主题和样式** — 运行时主题切换
* **语言资源** — i18n 翻译
* **菜单扩展** — 动态注册菜单项
* **页面注册** — 内置页面添加
* **插件清单** — 声明可用的插件
* **认证配置** — 登录方式
Extension 在应用初始化阶段加载,不涉及运行时动态加载,适合静态配置场景。
===== Plugin 系统 =====
Plugin 是页面级扩展,通过 SystemJS 远程加载,支持运行时动态加载和卸载:
* 独立的页面渲染逻辑
* 独立的构建和部署
* 运行时动态加载和卸载
* 与宿主的隔离通信机制
Plugin 适合以下场景:
* 第三方开发者提供独立业务页面
* 多租户环境下按需加载功能
* 大型应用中按权限动态加载模块
Plugin 通过预定义的通信桥(plugin-bridge)与宿主交互,保证隔离性。
===== 内置页面模板 =====
Next 提供了完整的业务页面模板,可以直接使用或作为参考:
^ 页面 ^ 说明 ^
| Dashboard | 数据概览和统计卡片 |
| AI Workbench | AI 辅助工作台 |
| Flow Editor | 流程编辑器 |
| Master-Detail | 主子表 CRUD |
| List + Form | 列表和表单组合 |
===== 项目结构 =====
nop-chaos-next/
apps/main/ ← 主应用(宿主)
packages/
core/ ← 核心工具和类型
shared/ ← 共享类型定义
amis-core/ ← AMIS 宿主桥接层
amis-react/ ← AMIS React 集成
plugin-bridge/ ← 插件通信桥
theme-tokens/ ← 主题 token
tailwind-preset/ ← Tailwind 预设
ui/ ← 共享 UI 组件
flux-lib/ui/ ← 来自 Flux 的 UI 包
examples/
plugin-demo/ ← 插件开发示例
extension-demo/ ← Extension 示例
docs/ ← 文档
===== 核心架构 =====
应用启动时,Next 的工作流:
1. 加载 Extension(继承基础配置)
2. 初始化主题和国际化
3. 注册菜单和页面路由
4. 按需加载 AMIS 或 Flux 渲染引擎
5. 动态加载 Plugin(SystemJS)
6. 渲染应用界面
其中第 3-5 步均可通过 Delta 定制覆盖——菜单、页面、插件都可以从后端 Delta 层自动合并配置。
===== 快速体验 =====
git clone https://github.com/entropy-cloud/nop-chaos-next.git
cd nop-chaos-next
pnpm install
pnpm dev
访问 http://localhost:5173 查看主应用。examples 目录下包含插件和 Extension 的示例代码。
===== 进一步阅读 =====
* [[.:flux_guide|NOP Chaos Flux 运行时]]
* [[.:frontend_guide|Nop 平台前端架构]]
* [[https://github.com/entropy-cloud/nop-chaos-next/tree/master/docs|Next 文档索引]]