原文链接:https://www.nocobase.com/cn/blog/nocobase-2-0
NocoBase 1.0-alpha 于 2024 年 4 月 28 日发布,同时我们也正式开启了商业化的服务。在过去这 10 几个月里,我们收到了成百上千的用户的反馈和交流,收到了数十位来自全球各地开发者贡献的代码,也收到了 50 多个国家、数百家企业的商业订单。
感谢每一位用户,每一位贡献者 ,以及每一位付费客户。
过去 6 个月,我们在不断迭代升级 1.x 版本的同时,也在投入很多时间思考、讨论、开发下一代 NocoBase。现在,是时候正式向你介绍 NocoBase 2.0-alpha!
AI 员工
在过去 10 几个月里,AI 发展日新月异,大模型在很多场景中都展现出不俗甚至惊人的能力。作为 AI 的重度用户,我们将 AI 带进了 NocoBase 2.0,并以 AI 员工的方式为你服务。
NocoBase 中的 AI 员工不是聊天机器人,也不是孤立的 Agent,而是无缝集成在你的业务系统中,理解业务上下文、直接执行任务的智能同事。
- 他们出现在你需要他们的任何地方,表格旁边,表单旁边,这样你就可以随手唤醒它
- 他们可以帮你总结邮件、分析数据、整理杂乱的内容并自动填写表单、设计数据模型、编写 JavaScript 代码
- 他们会自动获取数据作为上下文,也能自动获取页面结构作为上下文
- 他们每个人都具备独特的技能、工具、知识库
- 你可以创建无限个 AI 员工,组成你的 AI 团队
全新的 2.0 页面
NocoBase 虽然采用插件化架构,但是在 1.x 时代,对于界面上一些灵活多变的交互、样式、数据请求和展示、逻辑判断等需求,NocoBase 很难以低成本满足。
我们在 NocoBase 2.0 中采用全新的方案重构了页面。这些新特性对于解决个性化的需求将会很有帮助:
RUNJS
RunJS 提供了一种轻量级的扩展方式,适合快速在界面上实现个性化逻辑和样式,而无需创建插件或修改源码。
通过它,你可以直接在界面设计器中输入 JavaScript 代码,实现:
- 自定义渲染内容(字段、区块、列、项等)
- 自定义交互逻辑(按钮点击、事件联动)
- 结合上下文数据,实现动态行为
这些地方都支持 RUNJS
- JS block
- JS action
- JS field
- JS item
- 联动规则
- 事件流
事件流
在 NocoBase 1.x 中,我们提供了联动规则用于在界面中编排一定的逻辑,但它的能力有限,仅限在一个区块内部实现少量的编排。
NocoBase 2.0 中新增了事件流功能,使前端逻辑编排能力大大增强。
事件流由以下部分组成:
- 触发事件,比如渲染前、点击、表单值变动
- 触发条件
- 动作步骤,比如显示通知、刷新目标区块、执行 JavaScript
栅格布局
在 NocoBase 1.x 中,对区块、字段拖拽布局时,每个元素的宽度是自由拖拽且必须充满整行宽度的,这在很多时候并不方便做出精确、美观的布局。
NocoBase 2.0 中采用了全新的栅格布局,每个元素都可以对齐格栅。
引用和复制区块、弹窗
在 NocoBase 1.x 中虽然提供了区块模板、复制和引用的功能,但是由于逻辑复杂,存在不少 bug,并且灵活性不高,而且只能引用区块而不能引用整个弹窗。
在 NocoBase 2.0 中,我们用全新的方式实现了区块和弹窗的引用和复制,这极大增加了灵活性,减小配置工作量。
提升区块体验
在 NocoBase 2.0 的区块中,我们根据用户反馈,增加了很多细节提升。比如表格区块中支持在单元格内直接编辑数据,而无需打开弹窗。
更多的改进还在持续开发中。
更高性能
NocoBase 2.0 的页面带来比 1.x 更高的前端性能。
FlowEngine
2.0 页面的重构基于全新的前端无代码、低代码开发引擎 FlowEngine。它将模型(Model)与流(Flow)结合,简化前端逻辑、提升复用性与可维护性;同时,借助 Flow 的可配置能力,为前端组件和业务逻辑赋予无代码化的配置与编排能力。
在 1.x 中,开发插件的前端部分经常遇到繁琐甚至很难处理的问题。有了 FlowEngine,这些问题将大大简化。
多应用和多空间
1.x 中提供了基础的多应用功能,所有应用共享进程且无法监控每个应用的资源消耗情况,也不能进行应用的管理和切换。
在 NocoBase 2.0 中提供了全新的多应用和多空间插件。
- 多应用插件(仍在开发中)允许动态创建和管理多个独立应用,而无需单独部署。每个子应用都是完全独立的实例,拥有自己的数据库、插件和配置。多应用运行以独立进程或共享进程运行,可以在父应用中监控和管理各个子应用的资源消耗、状态。新的多应用插件适用于多租户等场景。
- 多空间插件允许在单一应用实例中,通过逻辑隔离实现多个独立的数据空间,适用于多门店或工厂等场景,即:业务流程和系统配置高度一致,例如统一的库存管理、生产计划、销售策略和报表模板,但需要保证每个业务单元的数据互不干扰。
全新的数据可视化
1.x 中提供了基础的数据可视化插件,基于 Ant Design Charts 和 Echarts 实现最基本的数据可视化展示,但对于复杂图表、个性化交互、数据联动的场景却无能为力。
NocoBase 2.0 中基于 Echarts 提供了全新的数据可视化插件,支持可视化配置模式和 SQL、JSON 模式,支持事件,可以方便地满足复杂图表、多图表联动、数据下钻等场景。
不需要担心 SQL 和 JSON 过于复杂,有 AI 员工 Nathan 帮你。
同步主数据库结构,修改字段类型
在 1.x 中,主数据库中的表格字段尽可以通过 NocoBase 的数据源管理界面创建,且创建后不可更改类型。
在 NocoBase 2.0 中,可以同步主数据库已有的表格字段,并且可以更改字段的类型。这意味着你可以使用已有数据结构的数据库作为主数据库。
其他插件
数据历史记录
历史记录插件用于追踪数据的变更过程,自动保存新增、修改、删除操作的快照与差异记录,帮助用户快速回溯数据变化、审计操作行为。
表单草稿
表单草稿插件支持在用户填写表单时自动保存草稿。
全新的邮件管理
邮件管理插件使用 FlowEngine 进行了重构,使 AI 员工可以无缝参与到邮件的总结、分析、撰写中,同时新增了自动保存草稿等功能。
如何升级
从 1.x 升级到 2.0 很简单,只需要按照 手册 正常操作即可。但请注意 NocoBase 2.0 目前为 alpha 版本,请确保你可以接受诸多不稳定。
得益于 NocoBase 的界面与数据解耦的架构,升级之后,在 1.x 中搭建的应用不受任何影响。在新建页面的选项中,分为 v1 和 v2 两种页面,新建 v2 页面即可使用 NocoBase 2.0 的新功能。