現如今我們已經全面邁入互聯網時代:“新技術代表的新生產力,一定是我們開創未來最好的原動力”。究竟什么樣的新技術,才能真正解放IT生產力,加速社會數字化轉型,Make The World Great Again?我認為是低代碼(Low-Code)。
Part 01
低代碼概況
2014年,Forrester提出了低代碼的概念。低代碼是一種軟件開發技術,衍生于軟件開發的高級語言,讓使用者通過可視化的方式,以更少的編碼,更快速地構建和交付應用軟件,全方位降低軟件的開發、配置、部署和培訓的成本。
Part 02
低代碼構成
1??可視化設計器:具備可視化定義UI,工作流和數據模型的設計器,且在必要時可以支持手寫代碼。
2??服務器程序:承載可視化設計器構建的應用,供最終用戶通過多終端訪問,具體形式如私有化部署的服務程序、運行在云端的容器或服務等。
3??各種后端或服務的連接器:能夠自動處理數據結構,存儲和檢索。有些低代碼開發平臺將其集成到了可視化設計器中。
4??應用程序生命周期管理器:用于測試、暫存、構建、調試、部署和維護應用程序的自動化工具。
Part 03
低代碼開發者
CPE從事低代碼開發人員可以分成兩類:服務于企業IT部門或軟件的公司的IT技術人員;以及來自業務部門,本職工作與IT無關但參與到軟件開發中的業務開發者。
- 低代碼賦能IT技術人員--低代碼
這里的IT技術人員是與“業務開發者”相對的概念,特指在企業或信息化提供商中,本職工作為企業信息化相關的技術人員,典型崗位有項目經理、架構師、程序員、測試人員、實施和運維人員、DevOps等。
- 低代碼賦能業務人員--零代碼
在低代碼技術被命名之前,研究機構提出了“業務開發者、平民開發者”的概念。在傳統的編碼開發時代,業務開發者較為少見,有能力從事輔助性軟件開發的業務人員主要集中在數據分析師、軟件公司的程序員等具備編程能力的人群。低代碼技術的出現,讓更多的業務人員可以成為業務開發者,比如構建訂單管理應用的銷售主管、人事檔案系統的HR、庫存盤點App的庫管人員等。
Part 04
低代碼核心技術概念
數據結構
這里的數據結構指數據表和數據字段,類似于數據庫中的表及字段的概念,也類似于Excel中表及字段的概念。低代碼編程的數據結構是完全托管的,用戶可以創建任意的數據表,選擇各類型字段。
數據關聯
關系型數據庫核心價值所在,多個業務表之間的關聯關系,反應的是業務對象之間的聯系。在綜合性應用中表之間的關聯往往是多層級,錯綜復雜的。通過代碼模板,可以生成絕大多數可用代碼。
枚舉項
一般意義上也叫下拉項,實際業務中有不少的變化。前端可以表現為單選框,多選框,級聯選擇框。例如城市、職位、狀態、流程等。低代碼編程的枚舉型也遵從通用編碼的原則,定義的枚舉項可以綁定到不同字段,使得不同字段使用同一枚舉項,內部編碼一致。
用戶及角色
用戶指的是軟件或平臺的使用人員。大概可分為匿名用戶,注冊用戶,內部用戶等。角色是用戶可用功能的集合,很多時候,一個用戶有多個角色權限。例如電商平臺通用角色有普通用戶、客服、倉庫、管理員等。絕大多數的權限控制,都是通過角色來完成。低代碼編程,一般內置了完善的人員角色體系,不同應用僅需做相應的配置。
配置頁面
配置頁面是低代碼編程區別于傳統編程的一個特點。通過頁面類型、組件、元素、屬性、參數等一系列的配置,直接形成可供終端用戶使用的功能。拿常見的表單頁舉個例子,前后端可用通用編碼技術編寫,引用現有的封裝大大提升效率,省去很多開發時間。配置型的表單,短時間內可以實現非常復雜的功能,很功能豐富的ERP軟件,也是通過這種方式實現。前后端事件的加入,使得頁面的靈活性更高。
路由
工程化的前端項目中,指的是頁面導航的路徑,替代了原來純鏈接的做法。菜單上綁定不同的路由,達到訪問不同頁面的目的。低代碼編程,通過重寫路由,來實現完整的前后端自定義功能。
函數與事件
主要分為全局事件和頁面事件兩大類。目前云市場上有個比較熱門的服務 serverless,就是通過編寫函數,來實現后端功能。低代碼編程的后端事件基本等效于serverless服務端。低代碼編程有著更完善的上下文引用,使得函數與事件交叉引用更加靈活,同時提供了大量的封裝,代碼量遠小于通用編程。
菜單
低代碼編程允許完全自定義多層級菜單,菜單通過路由的綁定來訪問系統的不同功能頁,可以靈活性授權,基于不同的角色展示的菜單可能完全不一樣。
權限體系
權限體系包含各種授權設置,絕大多數情況,可以配置化完成。為了靈活起見,保留了代碼設置權限的能力。主要包含模塊權限、菜單權限、頁面權限、數據行權限、路由權限、流程權限等。
Part 05
低代碼能力
? 全棧可視化編程:可視化包含兩層含義,一個是編輯時支持的點選、拖拽和配置操作,另一個是編輯完成后所及即所得的預覽效果。傳統代碼IDE也支持部分可視化能力,但低代碼更強調的是全棧、端到端的可視化編程,覆蓋一個完整應用開發所涉及的各個技術層面。
? 全生命周期管理:作為一站式的應用開發平臺,低代碼支持應用的完整生命周期管理,即從設計階段開始,歷經開發、構建、測試和部署,一直到上線后的各種運維及運營。
? 低代碼擴展能力:使用低代碼開發時,大部分情況下仍離不開代碼,因此平臺必須能支持在必要時通過少量的代碼對應用各層次進行靈活擴展,比如添加自定義組件、修改主題css樣式、定制邏輯流動作等。一些可能的需求場景包括:UI樣式定制、遺留代碼復用、專用的加密算法、非標系統集成。
Part 06
低代碼技術應用價值及趨勢
在這個大爺大媽滿嘴都“互聯網+”和“數字化轉型”的時代,企業越來越需要通過應用來改善企業內部的信息流轉、強化與客戶之間的觸點連接。低代碼開發平臺可以顯著提升軟件開發的效率,更簡單、更快速地構建個性化應用,打造數字化平臺,可廣泛應用于各行業數字化轉型升級。中國的低代碼產業于2019年進入高速發展階段,目前已有近百家低代碼廠商推出了不同類型的低代碼平臺產品,形成了多種商業模式與渠道模型。無論是企業信息化部門還是軟件公司都能從中找到與自身訴求和狀況相匹配的解決方案。