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