低代碼平臺:10分鐘從入門到原理
編輯導讀:低代碼平臺是最近被熱議的話題,通過自動代碼生成和可視化編程,只需要少量代碼,即可快速搭建各種應用,滿足了很多開發人員和業務人員的需求。本文作者將圍繞低代碼平臺從三個維度展開分析,希望對你有幫助。
近兩年來,伴隨著企業數字化轉型和云計算的發展,低代碼平臺成為一個熱門話題被越來越多的人討論,互聯網行業的從業者應該多少都會有所聽聞。最近我剛好查閱了大量資料并體驗了相關產品,決定專門寫篇總結文章,從低代碼平臺的概念到原理,希望能幫助非業內人士對低代碼平臺形成更全面的認識。
本篇文章主要分享以下內容:
- 低代碼平臺簡介
- 低代碼平臺兩種技術路線
- 低代碼平臺核心要素
- 結語
一、低代碼平臺簡介
1. 概念
廣義上的低代碼平臺包括低代碼平臺和零代碼平臺,它們都屬于APaaS(Application Platform as a Service? 應用平臺即服務),兩者的主要區別在于對代碼的依賴程度:
- 低代碼平臺:通過自動代碼生成和可視化編程,只需要少量代碼,即可快速搭建各種應用
- 零代碼平臺:零開發經驗的業務人員通過拖拽等方式,無需編寫代碼,即可快速搭建各種應用
以上可知,低代碼平臺面向開發人員,專業性較強,可以提高開發效率,但要求使用者具備一定的技術基礎;零代碼平臺降低了開發門檻,從而將用戶范圍擴展到了業務人員。大家可以類比一下PhotoShop與美圖秀秀,大概就是這么個區別。
2. 優勢及局限
相較于原生開發模式,低代碼開發平臺能顯著提升開發效率,尤其適合業務變化快、預算有限、開發時間緊迫的企業應用場景;相較于只能解決行業通用問題的SaaS租用模式,低代碼平臺適用范圍更廣,可以滿足個性化需求,有較強的靈活性。
低代碼平臺也有明顯的局限性,至少就目前來說,它主要用于搭建企業軟件,因為此類軟件架構是有一定規律的,低代碼平臺的產品設計者正是找到了這種規律(快看,這就是智慧呀!),但它并不適合娛樂、社交等軟件開發。此外,低代碼平臺目前仍處于發展初期,成熟度也待進一步提升。
二、低代碼平臺兩種技術路線
1. 基于IDE框架的快速開發平臺
該方案將傳統的集成開發環境(IDE)充分可視化,開發者對前端界面組件、數據源綁定方式、數據模型、業務邏輯和工作流等都可以自由定義,平臺將自動生成代碼,開發者也可以添加自己的代碼,對程序具有較強的控制能力,因此該方案具備更高的靈活性,可以設計出定制化程度高、邏輯復雜的軟件。
由于該方案仍涉及代碼開發、部署等技術工作,所以它仍然是一個技術開發平臺,需要較高的學習成本,主要價值是提高開發效率,減少重復勞動。
Outsystems就是采用該方案的典型產品,如下為產品截圖:
2. 基于模型驅動的應用平臺
用戶通過可視化方式構建數據模型、視圖、權限、工作流等,即可在平臺提供的環境中運行,無需編譯部署,更像一種傻瓜式的應用搭建平臺。平臺對各類組件、業務邏輯做了較高層級的封裝,因此用戶無法隨心所欲修改界面風格、交互方式、處理邏輯等。
該方案可以實現完全零代碼,對使用者技術要求不高,但需要具備業務抽象、建模能力。主要價值是降低開發門檻、快速適應變化。
明道云、伙伴云等都是此類方案的典型產品,如下為明道云的產品截圖:
三、低代碼平臺核心要素
軟件產品的搭建從原生代碼開發到SaaS租用再到低代碼平臺,都是人們為了降低開發成本、控制項目風險(超過50%的軟件項目都是失敗的,無法為客戶帶來預期價值)、提高開發效率不斷努力的結果,人們期望能找到更通用更高效的解決方案。前文也已經提到,低代碼平臺之所以能廣泛用于企業軟件的搭建就是因為人們吃透了企業軟件的本質(底層思維能力是多么的重要!),找到了某種規律,那么是什么規律呢?
絕大部分的企業軟件由以下四個部分組成:
- 業務實體:即操作對象,如客戶、訂單
- 業務活動:即進行何種操作,如采購申請、合同審批
- 業務權限:即何種人擁有何種權限,包括數據查看權限和數據操作權限,如部門經理可以管理所有下屬的客戶信息,而員工只能管理自己的客戶信息
- 統計報表:即從哪些方面量化企業活動情況,如客戶增長率、各月銷售額趨勢
低代碼平臺將以上進行抽象,支持數據模型、業務流程、用戶權限、統計圖表,因此可以作為更通用的企業軟件解決方案,這四類能力也是任何一個低代碼平臺都必須具備的核心要素。下面我們來看一下低代碼平臺是如何支持這四個要素的:
1. 數據模型
建立數據模型就是提取業務實體的數據特征,抽象為數據表,建立表間關系。B端產品經理制作ER圖的過程就是數據建模。市面上常見的低代碼平臺均提供了豐富的控件,可以拖拽完成數據模型搭建。此外,數據模型搭建與表單展示合二為一,每完成一個數據表的創建,就自動生成了該表的增刪改查功能及相關頁面,進而隱藏了數據庫設計、前端開發這些專業技術。其實,這也就是我們常說的表單引擎。
這里順便提一下,雖然很多低代碼平臺將數據建模與表單展示合二為一,但通過這種方式自動生成的表單只能實現最基礎的增刪改查頁面,用戶對界面展示內容及形式的控制程度很低,無法滿足大部分企業軟件的需求,所以低代碼平臺一般還會提供自定義頁面功能,用戶可根據需要在頁面上配置按鈕、圖表等元素,滿足個性化需求。
如下圖分別為明道云單個業務實體創建界面及平臺自動生成的新增該業務實體頁面。這里我以學生、班級為例,配置了【班級】這個業務實體包含的字段,并設置了【班級】實體與已創建的【學生】實體的 1:n 關聯關系:
2. 業務流程
業務流程指為了實現某項目標,由多人合作,按照一定的規則、順序進行的一系列活動,在軟件中,業務流程的參與者可以是人,也可以是程序。低代碼平臺實現了可視化流程配置,用戶對觸發條件、處理節點、節點參與者進行配置,實現自定義業務流程。
如下圖是明道云業務流程配置界面:
想要深入了解業務流程的小伙伴,推薦閱讀《流程的永恒之道:工作流及BPM技術的理論、規范、模式及最佳實踐》
3. 用戶權限
大部分的低代碼平臺都采用了非常經典的RBAC(Role-Based Access Control )模型管理用戶權限,簡單來說就是將擁有相同權限的用戶添加為相同角色,通過為角色分配權限,實現了“用戶——角色——權限”的授權模式。由于企業是一個組織,一般都會有部門的概念,所以也可以將部門添加到某個角色,實現“用戶——部門——角色——權限”的授權模式。
如下圖為明道云的用戶權限管控方式:
4. 統計圖表
統計圖表大家都比較熟悉,我就不再贅述了,可以類比Excel中的透視圖,統計圖表由數據源、統計規則、展示形式定義,低代碼平臺也正是遵循這種方式,實現統計圖表的可視化配置。
如下圖為明道云統計圖表配置頁面:
四、結語
無論是原生開發模式、SaaS模式、還是低代碼平臺,變化的是軟件開發模式,而永遠不變的是讓技術賦能業務,為客戶創造價值。對業務的理解能力、抽象能力、解決方案能力值得每位B端產品經理不斷探索、提升,大家共勉!
本文由 @辣椒圈 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自 Unsplash,基于CC0協議。
在低代碼平臺的產品架構中,“作業、交易、經營、賦能”這四類對應各層次的可能解讀如下:
設施層(IaaS):
賦能: 提供基礎的硬件設施如存儲、計算力、網絡等。
作業: 確保硬件設施的運行,維護和升級。
交易: 硬件資源的分配和調度。
經營: 基于資源利用情況進行設施層的優化和擴展。
數據層(DaaS):
賦能: 提供數據存儲、管理和分析的功能。
作業: 數據的采集、清洗、存儲和更新。
交易: 數據的查詢、抽取和交換。
經營: 數據質量、安全和合規性的管理。
接口層(FaaS):
賦能: 提供各種功能的API供上層調用。
作業: API的開發、測試和部署。
交易: API的調用和響應。
經營: API的維護和版本管理。
業務層(BaaS):
賦能: 提供業務流程管理、任務自動化等功能。
作業: 業務流程的設計和優化。
交易: 業務流程的執行和監控。
經營: 業務流程的效果評估和改進。
應用層(SaaS):
賦能: 提供各種業務應用供用戶使用。
作業: 應用的開發、測試和部署。
交易: 用戶使用應用完成業務操作。
經營: 應用的維護、優化和迭代。
好文,贊!
樓主是負責低代碼平臺應用設計的產品經理嗎?
不是哦,只是感興趣了解了一下,分享給大家,有錯漏還請指導
太強了
第三小節RBAC輸成了RABC了
感謝指正,已修改~