前言
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。