Uknow | 优维低代码:关于Brick Next
导语
优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,主要介绍低代码相关的技术原理及相关架构,目的是给广大运维人提供一个技术交流与学习的平台。
《第一期:关于Brick Next》
▽
Brick Next 是 EasyOps 的新一代前端框架,旨在提供一套高度插件化、高度可配置化的企业用户界面解决方案。
#Brick Next 为插件开发提供了什么能力
登录态的继承
权限的继承
无缝对接(非 iframe 实现方式)
可直接使用已有组件列表
可直接使用已有的 Service,获得后台的所有资源数据
#Brick Next 与其他平台的插件化开发有什么不同
这种开发是无缝的,与原生页面无任何差别,直接继承了登录态和权限等。同时还提供了调整出厂内置的界面的能力,如果有新的界面也可直接使用已有的各种 brick 库。
有部分产品也号称提供了灵活的上层二次开发的能力,但其实他只是提供了基本的后台框架(如 Django)和各种原生的 API 文档或者 SDK,至于前台页面是不能更改和无缝对接的
#Brick Next 面向的用户是谁
优维内部研发人员(优维新的产品都会基于此框架来开发,无差别使用)
优维渠道商
客户的内部平台维护人员(基于优维平台做上层的定制化开发)
个人开发者
#原理介绍
系统主要由三部分组成:
Brick Package 是包含了一组构件(Brick)的包,其中的每个构件都是具有特定业务属性的 UI 模块。
Micro App 指的是小产品包,它通过 Storyboard 定义该产品的用户界面,包括路由的组织、界面使用的构件及其属性和事件配置等。
Brick Container 是整个系统的底层平台,它通过 Brick Kit 根据 Micro Apps 的配置信息,渲染对应的用户界面,并通过 DLLs 为 Brick Package 提供一些公共依赖。
如果把它和乐高作类比:
Brick 对应单个积木块儿
Brick Package 对应一小包某类积木块儿
Micro App 对应一个具体的积木拼搭产品
Storyboard 对应产品组装说明书
Brick Kit 则是根据说明书自动挑选积木并组装成最终产品的机器人
由于 Storyboard 是声明式的,这使得用户界面可以轻易地实现运行时配置的能力。而每个 Brick 在技术上实际都是一个标准的 Custom Element,当前原生支持 React 框架和原生 JS。