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