low-code

 

 low-code特點:

1. 一個創造軟體的開發環境,類似vs-code;

2. 通過可視化拖拽和參數配置高效開發。

1. 背景

1.1 目標

需求的交付品質和交付效率一直是中後台項目開發中非常關注的指標。

1.2 發展

各個團隊也在不斷探索更多的方式。

(1)開發通用業務組件。將各個特定業務場景進行封裝;

(2)開發通用性組件。設定規則,通過配置化完成頁面構建和邏輯處理,form-render就是如此的組件;

(3)頁面配置化。對於業務比較成熟後,對於業務組件提煉已經到達一個非常高的程度(形成物料級別),我們在開發頁面的時候會發現,實際開發就是將各個業務組件進行組合,於是會出現頁面的配置化;

(4)頁面可視化。繼續發展,配置仍然需要程式碼開發上線,這些配置是不是可以通過可視化完成,然後存入資料庫,這個時候就形成了我們low-code程式碼平台的基礎版本。

(5)可視化平台完善。監控,埋點,頁面管理,物料管理,上線流程這些功能的支援,將會形成一個完善的可視化搭建平台。此時基本是程式設計師可以用。

(6)產品可用。產品可搭建是一個比較高的要求,需要物料設計更簡單,平台使用更簡單。基本上只針對比較簡單或者通用的頁面支援。此時就會形成no-code平台。

 

2. 對開發有什麼幫助

2.1 提升開發效率

開發中,即便再小的需求也會存在不少的code,即便的複製的程式碼也會存在一些邊界值的修改,這些往往是耗費時間的。在low-code平台,將不會看到任何程式碼,我們能看到的僅僅是一些我們需要修改的參數,我們的關注點也可以聚焦到這些參數上。此時,我們需要關注的是頁面的整體邏輯和物料的參數配置。

2.2 提升交付品質

「多做多錯,少做少錯」是一個生活常識,通過low-code平台,我們做的事兒更少了,我們主要是物料拖拽以及屬性配置,不用再去關注邊界條件,基本上只要物料不出問題,我們交付的頁面也不會出問題。同時也能減少測試的工作量。

 

3. low-code關鍵組成

3.1 拖拽功能

拖拽功能可以是對用戶非常友好的一種方式,同時也是比較方便的方式。實現中比較常用的庫是react-dnd。

3.2 頁面渲染

一般頁面結構通過json schema進行描述,low-code平台需要根據schema配置完成頁面渲染,所以需要提供一個渲染器。

3.3 物料協議

對於任何一個low-code平台都有自己物料的協議,只有滿足協議才能接入平台。

3.4 物料屬性配置

物料都有一些變數需要配置,比如一個表格,需要配置請求的url資訊,需要配置每個列的列名和綁定欄位。所以需要一個物料的屬性配置面板,一般這個面板的配置資訊配置在物料中。

3.5 事件編排

物料之間可能也會存在一些互動,比如,點擊按鈕,出現一個彈框。這個都需要進行事件編排,在各個事件中觸發配置事件。

 

附上一個個人開發的小案例:

預覽

程式碼地址