專業(yè)低代碼之所以區(qū)別于一般低代碼,核心是要解決低代碼和專業(yè)代碼的有機融合問題。在此之上,從滿足專業(yè)開發(fā)人員的需求,提高開發(fā)效率的角度出發(fā),結合低代碼和專業(yè)代碼有機融合的相關思路,提出專業(yè)低代碼開發(fā)平臺應具備的十二項關鍵能力。這些關鍵能力從設計開發(fā)、部署運維、團隊協(xié)作、企業(yè)應用要求等多方面提出具體的能力要求,一個低代碼開發(fā)平臺能滿足得越多其在低代碼與專業(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ā)者常用的開發(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è)級應用性能:支持大規(guī)模高并發(fā)場景,隨著業(yè)務增長可橫向擴展。