優維低程式碼:關於Brick Next

語言: CN / TW / HK

優維低程式碼技術專欄,是一個全新的、技術為主的專欄,由優維技術委員會成員執筆,基於優維7年低程式碼技術研發及運維成果,主要介紹低程式碼相關的技術原理及架構邏輯,目的是給廣大運維人提供一個技術交流與學習的平臺。 https://mp.weixin.qq.com/s?__biz=MzI4NjE1NTMwOQ==&mid=2652524602&idx=1&sn=bccb9210c0ad856bb4ef714204828256&chksm=f00fc778c7784e6e9e78da51e4a52a0690522e5d6b242dcac513a03fcafe06084bbbbd8be551&token=232632082&lang=zh_CN#rd

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。

有疑問加站長微信聯絡(非本文作者)