優維低程式碼:關於Brick Next
優維低程式碼技術專欄,是一個全新的、技術為主的專欄,由優維技術委員會成員執筆,基於優維7年低程式碼技術研發及運維成果,主要介紹低程式碼相關的技術原理及架構邏輯,目的是給廣大運維人提供一個技術交流與學習的平臺。 http://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。
有疑問加站長微信聯絡(非本文作者)
「其他文章」
- 終於有人把雲原生架構講明白了
- 優維低程式碼:構件渲染子構件
- 優維低程式碼:構件 slot 說明
- Go語言愛好者週刊:第 149 期 — 正確率只有 22%
- 優維低程式碼:構件引數傳遞
- 教育業IT運維怎麼做?這家機構給出了他們的答案
- 優維低程式碼:構件基本說明
- GO專案實戰—開發上傳圖片功能
- 熬夜運維必看!監控觀測夠有效,你就可以睡好覺
- 用 Golang 跑「佇列任務」,也可以像 Laravel 一樣簡單
- GitHub 倉庫對比工具 —— github-compare
- 優維低程式碼:編排詳解選單配置
- GoBatch簡介 —— 一款基於go語言的企業級批處理框架(Golang下的SpringBatch)
- Go語言愛好者週刊:第 144 期 — 一道切片的題目
- Wind分散式遊戲伺服器引擎的實現
- Go專案實戰之日誌必備篇[開源十年專案第11次更新]
- 深入Go底層原理,重寫Redis中介軟體實戰
- 從原始碼解讀切片容量增加的計算步驟
- 什麼是中介軟體
- 優維低程式碼:Storyboard 整體結構與路由配置