繞坑必看!專業(yè)低代碼選型必知的12項關鍵能力(低代碼平臺選型)
我們在上一篇文章《為什么低代碼和專業(yè)代碼走向融合才能破解低代碼困境?》中提出了專業(yè)低代碼(Pro-LowCode)的概念,強調只有為專業(yè)開發(fā)人員和開發(fā)團隊所設計的低代碼開發(fā)平臺才是專業(yè)低代碼平臺。
目前市面上充斥著大量的低代碼平臺,那么專業(yè)低代碼平臺與一般的低代碼平臺相比有哪些區(qū)別和關鍵能力?能夠為企業(yè)數(shù)字化帶來哪些方面的改變?目前業(yè)界專業(yè)低代碼平臺的發(fā)展現(xiàn)狀如何?又如何分辨一款專業(yè)低代碼平臺的能力高低?我們請起步科技牛刀低代碼平臺架構組繼續(xù)與大家一起深入剖析,也歡迎按文末所述方式加入微信群更詳細討論,以期共同探討進步。
一、專業(yè)低代碼的十二項關鍵能力
專業(yè)低代碼之所以區(qū)別于一般低代碼,核心是要解決低代碼和專業(yè)代碼的有機融合問題。在前文中我們提到在專業(yè)低代碼開發(fā)平臺中,低代碼和專業(yè)代碼之間的關系應該是:
(1)低代碼和專業(yè)代碼是有機融合的,專業(yè)代碼也是模型的一部分,不是割裂的;
(2)低代碼的模型是建立在專業(yè)代碼之上的,模型編譯輸出的就是專業(yè)代碼;
(3)在低代碼設計過程中可以隨時進行專業(yè)代碼開發(fā),而且是可逆可持續(xù)迭代的。
在此之上,從滿足專業(yè)開發(fā)人員的需求,提高開發(fā)效率的角度出發(fā),結合低代碼和專業(yè)代碼有機融合的相關思路,我們提出專業(yè)低代碼開發(fā)平臺應具備的十二項關鍵能力。這些關鍵能力從設計開發(fā)、部署運維、團隊協(xié)作、企業(yè)應用要求等多方面提出具體的能力要求,一個低代碼開發(fā)平臺能滿足得越多其在低代碼與專業(yè)代碼的融合程度越高,也就越接近于專業(yè)低代碼平臺的概念及要求,越能滿足復雜企業(yè)級應用的需求。
1、低代碼和專業(yè)代碼有機融合:低代碼和專業(yè)代碼是一體的;低代碼的模型必須建立在專業(yè)代碼之上;模型設計輸出的就是專業(yè)代碼;在低代碼可視化設計過程中,前后端隨時都可以進行專業(yè)開發(fā),而且是可逆可持續(xù)迭代的,不會因為采用了專業(yè)開發(fā)就失去了低代碼開發(fā)的能力。
2、專業(yè)技術框架:專業(yè)低代碼開發(fā)平臺的前后端,必須采用業(yè)界主流技術框架,符合大中型企業(yè)開發(fā)團隊的技術棧。后端Java Spring,前端React或Vue,這是當下企業(yè)應用的主流框架和事實標準。隨著技術的發(fā)展演進,未來前后端主流語言和框架也可能改變,專業(yè)低代碼也要能支持主流語言和框架的演進改變,保護企業(yè)在低代碼平臺上的投資和資產。
3、專業(yè)開發(fā)工具:專業(yè)低代碼開發(fā)平臺必須支持開發(fā)者可以使用專業(yè)的IDE開發(fā)工具。Eclipse、IDEA、VSCode這些工具是開發(fā)者手里的槍,你把槍給他沒收了,你讓他怎么打仗?另外,專業(yè)開發(fā)工具并不僅限于IDE工具,還包括構建工具(Maven)、測試工具(JMeter)、質量工具(SonarQube)等。
4、專業(yè)團隊協(xié)作:支持專業(yè)團隊協(xié)作工具,Git或Svn,支持版本管理和分支管理。而且不僅專業(yè)代碼部分支持團隊協(xié)作,更重要的是低代碼模型本身也是支持團隊協(xié)作工具的。這個能力同專業(yè)開發(fā)工具一樣,對于專業(yè)開發(fā)團隊來說,非常重要。我這里舉個例子:我就想知道當前版本與前一個版本有哪些差異,這些差異可能是模型的也可能是代碼的,如果沒有Git或Svn這種工具幾乎是不能實現(xiàn)的。
5、應用源碼全部開放:支持輸出應用的全部源碼,包括模型背后生成的源碼和所依賴的底層類庫和組件源碼,這樣應用才是白盒的,應用里的每一行代碼都可以調試跟蹤。
6、支持組件開發(fā)擴展:組件是所有低代碼開發(fā)的核心,專業(yè)低代碼一方面要提供豐富的組件,另一方面必須提供完善的組件開發(fā)規(guī)范和開發(fā)工具,支持開發(fā)者自定義組件,同時要提供組件市場和組件的生命周期管理,組件發(fā)布、更新、升級和版本管理。讓開發(fā)者可以通過組件封裝進行代碼高度復用,擴展低代碼開發(fā)平臺本身,真正發(fā)揮低代碼快速開發(fā)的優(yōu)勢,持續(xù)積累,自主可控。
7、支持獨立部署:基于專業(yè)低代碼平臺開發(fā)的應用,源碼能夠獨立于低代碼平臺編譯、構建和部署,可以完全獨立于低代碼平臺運行。
8、DevOps:支持專業(yè)DevOps工具鏈,應用自動化構建、發(fā)布、部署、升級,開發(fā)、測試、生產多環(huán)境隔離,實現(xiàn)研發(fā)流水線全過程敏捷管理。
9、云原生架構:專業(yè)低代碼開發(fā)平臺應與新一代云原生架構相結合,支持環(huán)境自動化、測試自動化、部署自動化、升級自動化、資源調度自動化,從研發(fā)到運維,為企業(yè)客戶提供全方位的平臺解決方案。
10、企業(yè)級集成能力:數(shù)據(jù)集成、服務集成、流程集成、門戶集成、組織集成、統(tǒng)一身份認證……
11、企業(yè)級應用安全:支持企業(yè)級應用和數(shù)據(jù)的高安全要求,滿足等保定級的相關要求。
12、企業(yè)級應用性能:支持高并發(fā)場景,隨著業(yè)務增長可彈性伸縮、橫向擴展。
二、專業(yè)低代碼的核心價值
企業(yè)對外面臨著更大的競爭壓力,對內面臨著更加嚴峻的成本壓力。數(shù)字化從“可選項”變成了企業(yè)競爭和社會生活的“必選項”,企業(yè)數(shù)字化進程正在按下“快進鍵”。提升體驗與效率,進而通過模式創(chuàng)新實現(xiàn)新的增長,是企業(yè)數(shù)字化轉型的初衷。專業(yè)低代碼平臺作為專業(yè)開發(fā)團隊的生產力工具與企業(yè)數(shù)字化基座的一部分,其重要程度不言而喻,那專業(yè)低代碼能帶來哪些方面的改變?
1、提高生產效率
低代碼工具通過可視化可以解決大部分場景的開發(fā)效率問題,但往往也是開發(fā)人員抵制的主要原因。對于專業(yè)開發(fā)人員來說有些邏輯可能只用幾行代碼就可以實現(xiàn),但是低代碼開發(fā)工具中需要進行繁瑣的操作與配置。專業(yè)低代碼平臺有效實現(xiàn)低代碼與專業(yè)代碼有機融合,促進團隊分工協(xié)作,即保留了低代碼的高生產力和高效率,也保留了專業(yè)代碼的高能力。為專業(yè)開發(fā)團隊提供高效生產力工具,大幅提升應用軟件的生產效率。
2、降低運維成本
隨著企業(yè)數(shù)字化的不斷發(fā)展,越來越繁多的系統(tǒng)與應用給運維管理工作帶來了極大的壓力。傳統(tǒng)的IT系統(tǒng)架構中大部分需要運維管理人員進行手動發(fā)布、部署、維護。專業(yè)低代碼平臺采用云原生技術架構,依托于DevOps自動化運維管理,降低企業(yè)數(shù)字化運維成本。
3、企業(yè)業(yè)務創(chuàng)新
前面也著重提到提升體驗與效率,進而通過模式創(chuàng)新實現(xiàn)新的增長,是企業(yè)數(shù)字化轉型的初衷。但傳統(tǒng)的開發(fā)模式已無法有效滿足企業(yè)業(yè)務日益增加的需求。專業(yè)低代碼與云原生技術完美結合,軟件研發(fā)、測試、生產、運維全過程敏捷管理,敏捷響應業(yè)務需求,讓數(shù)字化技術真正成為企業(yè)業(yè)務創(chuàng)新的技術驅動力。
4、可持續(xù)發(fā)展
IT企業(yè)在發(fā)展的過程中面臨的一大問題就是可持續(xù)發(fā)展問題。主要是兩個方面,一個是開發(fā)人員技術棧和技術水平的參差不齊導致研發(fā)管理困難,另一個是開發(fā)人員流動性大所帶來的管理風險。專業(yè)低代碼平臺統(tǒng)一技術框架,統(tǒng)一開發(fā)工具,規(guī)范化研發(fā)管理,實現(xiàn)項目開發(fā)的自主可控,避免由于人員流動導致的項目風險,保障企業(yè)數(shù)字化可持續(xù)發(fā)展。
三、專業(yè)低代碼的發(fā)展現(xiàn)狀
2014年,全球權威咨詢機構 Forrester 首次在報告中引入了低代碼的概念。在2018年Gartner提出了應用平臺即服務(application Platform as a Service,aPaaS)和集成平臺即服務(integration Platform as a Service,iPaaS)的概念。最近Gartner在最新的報告中認為技術提供商仍然需要發(fā)展更深一層的工具,支持較為專業(yè)的開發(fā)者構建「定制化應用」,這也與我們提出的專業(yè)低代碼的概念不謀而合。
1、國外發(fā)展現(xiàn)狀
國外低代碼整體方面發(fā)展比國內早,相關人員也更早的意識到低代碼和專業(yè)代碼融合的問題。目前主流的思想基本上都認為低代碼平臺需要專業(yè)代碼的能力才能改更好的為開發(fā)者服務。像以下這些文章中就著重描述了低代碼平臺中擁有專業(yè)代碼編寫能力的重要性。
- 《Why a Low-Code Platform Should Have Pro-Code Capabilities》
- 《Low-Code vs Pro-Code: Why They are not Mutually Exclusive》
他們均有提到低代碼開發(fā)平臺需要提供面向專業(yè)開發(fā)者的低代碼開發(fā)工具,支持JAVA、C#、JS等專業(yè)的開發(fā)語言,支持生成原生代碼,支持獨立于平臺進行部署,基本上能夠滿足專業(yè)開發(fā)人員的相關需求。
2、國內發(fā)展現(xiàn)狀
國內低代碼整體方面發(fā)展較國外來說相對較晚,但近幾年由于數(shù)字化進程的加快,目前整體水平也發(fā)展很快。像前面我們提到的阿里、華為、中興包括其他的一些低代碼平臺廠商都逐漸意識到低代碼在某些方面的困境與不足,紛紛都開展了相關低代碼和專業(yè)代碼融合的探索。
四、專業(yè)低代碼的成熟度模型
我們作為低代碼開發(fā)平臺的專業(yè)廠商,結合客戶需求、業(yè)界同業(yè)廠商和產品的對比和分析,從專業(yè)低代碼開發(fā)的角度提出如下的《專業(yè)低代碼的成熟度模型》。
專業(yè)低代碼的成熟度模型每個等級間的能力是遞增的,為了更直觀的表達,將其歸納后得到如下的能力要求矩陣。從此可以看出模型的核心是圍繞低代碼與專業(yè)代碼融合的程度進行等級劃分的。
低代碼成熟度等級能力要求矩陣
- Level 1:是對專業(yè)低代碼開發(fā)平臺的最基礎要求,即可以提供面向企業(yè)應用的低代碼開發(fā)能力和企業(yè)應用所必須的門戶、組織、權限、工作流、報表、消息、集成等各種業(yè)務支撐能力,支持在低代碼開發(fā)工具中可以通過模型規(guī)則、邏輯編排或腳本代碼等方式進行復雜業(yè)務邏輯擴展。這個也是目前絕大多數(shù)低代碼開發(fā)平臺都可以滿足的等級。
- Level 2:在Level 1之上增強了基于專業(yè)代碼開發(fā)擴展的能力,支持不論是低代碼編輯器還是專業(yè)代碼編輯器所開發(fā)出的應用都可以進行統(tǒng)一構建、統(tǒng)一部署,并且能夠支持專業(yè)DevOps工具鏈,實現(xiàn)全過程的自動化部署。
- Level 3:真正實現(xiàn)低代碼和專業(yè)代碼之間的有機融合。首先是工程融合,主要是指低代碼輸出的代碼與專業(yè)代碼輸出的代碼是同一個代碼工程,相互之間可以進行互相調用和引用。其次是協(xié)作融合,一個團隊中不論是低代碼開發(fā)人員還是專業(yè)代碼開發(fā)人員,最終都使用統(tǒng)一的代碼協(xié)作工具,實現(xiàn)統(tǒng)一的應用版本管理和分支管理。
- Level 4:從工具層面實現(xiàn)低代碼和專業(yè)代碼開發(fā)環(huán)境的統(tǒng)一,即在統(tǒng)一的開發(fā)環(huán)境中同時提供低代碼的可視化設計工具和專業(yè)代碼的專業(yè)編程工具,實現(xiàn)低代碼與專業(yè)代碼在工具層面的有機融合,全方位支持團隊中低代碼開發(fā)人員和專業(yè)代碼開發(fā)人員的統(tǒng)一協(xié)作開發(fā)。
- Level 5:在Level 4之上進一步完善和優(yōu)化,提升產品化程度,讓整個工具鏈更加簡單易用,降低學習成本,實現(xiàn)企業(yè)應用軟件研發(fā)效率的全面提升。
以上面的《專業(yè)低代碼的成熟度模型》作為參照,我們認為國外多數(shù)專業(yè)低代碼廠商處在成熟度模型的Level 2和3,少量的達到Level 4。在這方面做的比較好的是Outsystems、Mendix等廠商。他們都有提供面向專業(yè)開發(fā)者的專業(yè)開發(fā)工具,支持JAVA、C#、JS等專業(yè)的開發(fā)語言,并且都支持生成原生代碼,能夠獨立于平臺進行部署。
國內大部分的低代碼廠商目前處在Level 1 或 Level 2,但是也都有向低代碼與專業(yè)代碼融合的方向邁進。部分廠家走的比較深入一些,像中興就已經(jīng)做到了低代碼向專業(yè)代碼的單項轉換,達到了成熟度模型的Level 3。
北京起步科技深耕于低代碼領域多年,其最新一代產品牛刀專業(yè)低代碼平臺目前已真正實現(xiàn)低代碼與專業(yè)代碼的有機融合,并且從工具層面實現(xiàn)了低代碼可視化設計和專業(yè)代碼開發(fā)環(huán)境的雙向切換,支持低代碼開發(fā)人員和專業(yè)開發(fā)人員統(tǒng)一協(xié)作開發(fā),初步達到了Level 4。后續(xù)的系列文章中我們將繼續(xù)介紹我們在實現(xiàn)低代碼與專業(yè)代碼的有機融合方面的技術實踐。
為了更好地交流專業(yè)低代碼方面的內容,我們建立了相關的微信群,群內可以討論專業(yè)低代碼相關的內容,我們會不定期分享專業(yè)低代碼領域的相關內容,期待您的加入,可私信我們的官方賬號牛刀專業(yè)低代碼,私信回復專業(yè)低代碼即可入群,或瀏覽起步科技官方網(wǎng)站也有入群二維碼。
牛刀專業(yè)低代碼系列文章
參考文章
- 《Why a Low-Code Platform Should Have Pro-Code Capabilities》
- 《Low-Code vs Pro-Code: Why They are not Mutually Exclusive》
- 《中國低代碼應用平臺競爭格局》報告(《Competitive Landscape: Enterprise Low-Code Application Platforms in China》)