作者:京東保險 吳凱
低程式碼是一組數位技術工具平臺,基於圖形化拖拽、引數化設定等更為高效的方式,實現快速構建、資料編排、連線生態、中臺服務。通過少量程式碼或不用程式碼實現數位化轉型中的場景應用創新。本文將重點介紹低程式碼相關知識,包括低程式碼的定義與意義、相關概念、行業發展等,同時介紹京東的低程式碼工具,期望能幫助大家更好地認識與理解低程式碼。
2014年,Forrester(著名研究諮詢機構)提出「低程式碼」的術語,定義為「利用很少或幾乎不需要寫程式碼就可以快速開發應用,並可以快速設定和部署的一種技術和工具」。或者說是「(能力)多(出品)快(質量)好(功夫)省」。
這個定義體現出低程式碼的核心價值:
1、低程式碼開發平臺能夠實現業務應用的快速交付。低程式碼開發的重點是開發應用快,不像傳統意義上僅僅是一個應用的開發,而是通過視覺化的開發,達到「設計及交付」的目的,提高開發效率。
2、低程式碼開發平臺能夠降低業務應用的開發成本。低程式碼開發投入更低,主要體現在開發時間短,可以快速設定和部署,同時也更容易使非開發人員上手。
低程式碼可以降本增效,一方面低程式碼的出現避免了「反覆造輪子」的問題,其通過視覺化的程式設計方式實現「千人千面」的效果,驅使技術迴歸本源--支援業務。另一方面低程式碼的生命週期貫穿整個軟體開發週期(設計、開發、測試、交付),週期上的各角色都可以在同一個低程式碼開發平臺上緊密共同作業,由傳統的開發方式變為敏捷開發,實現了快速交付的目的。
低程式碼的使用場景:
1、構建新的SaaS應用,而藉助低程式碼平臺可以快速有效地構建、測試和推出應用。低程式碼與SaaS的結合,可以為企業提供獨特的業務解決方案。
2、基於Web的入口網站是提供自助服務的數位化工具。使用低程式碼開發平臺,更簡單、更快速地構建個性化應用,打造數位化平臺。
3、歷史系統的遷移或升級。基於低程式碼技術:一方面,最大限度地保留遺留系統的程式碼,保留其「公共資料服務」;另一方面,基於遺留系統的開發環境和能力構建相應的「功能介面卡」,然後在此基礎上,通過低程式碼技術快速客製化新業務和流程的互動式UI與業務邏輯。
4、應用複雜性低,業務流程相對簡單,95%的應用場景可以通過低程式碼完成。
回答這個問題,我們首先需要搞明白:低程式碼和零程式碼的區別。作為程式設計師,大家都會把低程式碼認為是零程式碼,這也是會被誤解程式設計師失業的原因之一。
低程式碼,意味著反覆迭代的程式碼質量高,在必要的時候,也會進行程式碼的編寫;BUG更少,減少了測試環節的工作量。
零程式碼,字面意思:完全不需要任何程式碼即可完成應用開發,從軟體開發效率看,零程式碼是低程式碼的最終形態。零程式碼平臺由於採用全部都是封裝模組進行搭建,所有控制元件都已經被固化了,所以用零程式碼平臺搭建的系統想要進行擴充套件是有些困難的。
現實是,編碼的最終目的是支援業務,業務邏輯的複雜與否依舊需要人來掌握,低程式碼只是寫的少,並不是不寫程式碼,這並不會導致程式設計師的失業
2021年11月11日,Forrester釋出《The State Of Low-Code Platforms In China》,這是低程式碼概念提出者第一次將視角聚焦在中國。Forrester認為,低程式碼目前在國內主要應用於銀行、保險、零售、醫療、政府、製造、電信和建築行業。比如,為了針對各個業務單元量身客製化各種業務需求,中國建設銀行採用雲樞為其分散式開發團隊構建統一的低程式碼開發平臺(LCDP)。另外,報告指出:中國企業數位化轉型過程中,有58%的決策者正在採用低程式碼工具進行軟體構建,另有16%的決策者計劃採用低程式碼。
目前,國內的低程式碼開發平臺不斷湧現,Forrester劃分了9類低程式碼平臺廠商:
▪數位流程自動化(BPM):炎黃盈動(AWS PaaS)、奧哲(雲樞)
▪公有云:阿里巴巴(宜搭)、百度(愛速搭)、華為(應用魔方)、微軟(Power Platform)、騰訊(微搭)
▪面向專業開發者的低程式碼開發平臺:ClickPaaS、葡萄城(活字格)、Mendix、Outsystems
▪面向業務開發者的低程式碼開發平臺:捷德(Joget DX)、輕流
▪AI/機器學習:第四規格化(HyperCycle)
▪BI:帆軟(簡道雲)
▪共同作業管理:泛微(E-Builder)
▪流程自動化機器人(RPA):雲擴(ViCode)、來也(流程創造者)
▪數位化運營平臺:博科(Yigo)、金蝶(金蝶雲·蒼穹)、浪潮(iGIX)、用友(YonBIP)
由此可知,中國的低程式碼市場正在飛速發展,各種低程式碼工具的釋出問世,也意味著低程式碼未來將成為主流的開發方式。
1、Out-System
OutSytems 作為國外著名的低程式碼開發平臺,出發點就是簡化整個應用開發和交付的過程,讓開發人員可以快速響應市場的需求變化。通過視覺化和模型驅動的開發方式,大幅減少時間和成本。並通過預構建的聯結器加速整合後端系統,同時還提供了一個集中式的控制檯來管理應用的版本、釋出以及部署。
OutSytems 生成的應用可以不依賴於 OutSytems 執行。資料是直接儲存到資料庫,這樣就可以通過任何標準的 ETL、 BI或其他第三方資料工具來存取資料。
官網:
https://www.outsystems.com/demos/
2、阿里-雲鳳蝶
雲鳳蝶是螞蟻金服體驗技術部的重點研發專案,是面向中後臺產品的快速研發平臺,主要使用者面向工程師,使用場景專注在標準化的中後臺產品研發,目標是為了提高效率。
雲鳳蝶的核心思路是將元件生產和元件組裝這兩部分工作進行職責分離,通過建立一條元件組裝流水線,打通 npm 元件的一鍵匯入流程,從而完成一條產業鏈式的分工共同作業,最終實現規模化的快速生產。
淘系的「樂高」系統以及螞蟻金服的「金蟬」系統、「雲鳳蝶」系統成微阿里系主要的低程式碼開發工具。
3、京東-星鏈
星鏈是京東科技消金基礎研發部開發的一款研發效能提升工具,主要為面向後端服務研發需求,因此前端簡潔視覺化開發介面需要滿足極致的細節,並依賴其自身後端的能力來實現使用者的低程式碼。
核心概念:
VMS視覺化微服務應用,是星鏈的基本單元,同時VMS也是一種模型,各種設定均在模型中。支援京東中介軟體(JSF、定時任務、JMQ,快取服務、分散式設定等),服務流程編排,DEBUG偵錯等;
Serverless部署,星鏈的部署及設定均由系統自動分配。使用者只需關注系統的開發,資源的使用情況。
低程式碼,一定不「low」,卻更low-code。
參考:
2021年低程式碼平臺中國市場現狀分析報告
https://www.authine.com/report/56.html