騫云實(shí)戰(zhàn)分享 | 低代碼平臺(tái):企業(yè)IT管理的一劑“良方”

隨著企業(yè)數(shù)字化和上云的趨勢(shì)愈演愈烈,越來越多的個(gè)性化SaaS應(yīng)用,需要更快、更高效的開發(fā)。低代碼是近年來流行的一種企業(yè)軟件快速開發(fā)技術(shù)和工具,憑借其低門檻、高效率和易集成等特性,受到越來越多軟件開發(fā)團(tuán)隊(duì)的青睞。

據(jù)Gartner預(yù)測(cè),到2024年四分之三的大企業(yè)將會(huì)使用至少4種低代碼開發(fā)平臺(tái),用于信息化應(yīng)用開發(fā)。屆時(shí),65% 的應(yīng)用開發(fā)將通過低代碼完成。今天我們就一起來聊聊低代碼!

01什么是低代碼平臺(tái)?

1、Wikipedia的定義:低代碼開發(fā)平臺(tái)(LCDP)提供了一個(gè)開發(fā)環(huán)境,用于通過圖形用戶界面而不是傳統(tǒng)的手工編碼計(jì)算機(jī)編程來創(chuàng)建應(yīng)用程序軟件。低編碼的平臺(tái)可能產(chǎn)生完全可操作的應(yīng)用程序,可能需要為特定情況編寫額外的代碼。低代碼開發(fā)平臺(tái)減少了傳統(tǒng)手工編碼的數(shù)量,加速了業(yè)務(wù)應(yīng)用程序的交付。一個(gè)常見的好處是,更廣泛的人可以為應(yīng)用程序的開發(fā)做出貢獻(xiàn)——不僅僅是那些具有編碼技能的人。lcdp還可以降低安裝、培訓(xùn)、部署和維護(hù)的初始成本。

維基百科關(guān)于低代碼的定義有5個(gè)關(guān)鍵的點(diǎn):

(1)通過圖形界面寫程序

(2)可以產(chǎn)生完整應(yīng)用程序

(3)減少代碼量,加速應(yīng)用交付

(4)降低門檻(讓更多人可以參與到程序開發(fā)中)

(5)降低成本(安裝、培訓(xùn)、部署和維護(hù))

2、Forrester的定義:應(yīng)用程序開發(fā)平臺(tái),支持用最少的手工編碼快速交付應(yīng)用程序,并快速設(shè)置和部署。Forrester的定義和Wikipedia定義基本一致,但是更加直白,去掉了圖形界面的限制,強(qiáng)調(diào)以最少的手工編碼,實(shí)現(xiàn)快速交付、設(shè)置和部署。

3、Gartner的定義:企業(yè)低代碼應(yīng)用程序平臺(tái)(Enterprise Low-code application platform, LCAP)使用低代碼和無代碼技術(shù),如聲明式、模型驅(qū)動(dòng)的應(yīng)用程序設(shè)計(jì)和開發(fā),以及簡(jiǎn)化的一鍵式應(yīng)用程序部署,提供快速的應(yīng)用程序開發(fā)和部署。LCAP通常創(chuàng)建元數(shù)據(jù),并在運(yùn)行時(shí)解釋該元數(shù)據(jù),并抽象底層服務(wù)器基礎(chǔ)設(shè)施,以方便使用;許多還允許可選的過程編程擴(kuò)展。LCAP支持:(1)通過響應(yīng)式web和移動(dòng)應(yīng)用程序的UI功能;(2)頁面、業(yè)務(wù)流程和決策或業(yè)務(wù)規(guī)則的編配或編排;(3)內(nèi)置的數(shù)據(jù)庫;(4)應(yīng)用程序的“一鍵”部署。Gartner的非常詳細(xì),甚至將低代碼的常見技術(shù)棧都羅列了出來。

綜合以上三家的定義,我們來看看什么是低代碼?

從表現(xiàn)上來看,低代碼應(yīng)具備圖形界面編碼,響應(yīng)式的UI功能(托拉拽),可以實(shí)現(xiàn)編配和編排,可以產(chǎn)生應(yīng)用程序。

從本質(zhì)上來看,也就是低代碼的核心價(jià)值。低代碼能夠:(1)降低寫代碼的門檻——讓更多的非軟件專業(yè)人員可以來實(shí)現(xiàn)功能;(2)降低編寫的代碼數(shù)量——減少測(cè)試、部署和運(yùn)維工作;(3)降低交付和部署成本——提升客戶滿意度。

02騫云的低代碼思考

SmartCMP作為云原生的IT統(tǒng)一管理平臺(tái)需要對(duì)接大量系統(tǒng),包括公有云、私有云(甚至是魔改的私有云)、各類第三方系統(tǒng)(釘釘、微信、各種OA、堡壘機(jī)、備份恢復(fù)系統(tǒng))、客戶自研的系統(tǒng)等;此外,企業(yè)需求發(fā)散,流程復(fù)雜也成為業(yè)內(nèi)研發(fā)中的難題。很多IT統(tǒng)一管理平臺(tái)很難實(shí)現(xiàn)產(chǎn)品化也正是由于這兩大原因。

自產(chǎn)品設(shè)計(jì)之初,SmartCMP的目標(biāo)便是實(shí)現(xiàn)千人千面,即要求每個(gè)權(quán)限、菜單、按鈕、甚至字段都應(yīng)該可以配置和模塊解耦,即每個(gè)對(duì)接的平臺(tái)、資源、甚至資源上的操作都應(yīng)該可以快速接入并單獨(dú)配置,并且這種配置不需要編譯,用戶可以直接參與。于用戶而言,能夠最大化滿足用戶個(gè)性化場(chǎng)景;于自身而言,能夠大幅度提高產(chǎn)品開發(fā)交付效率,降低合作伙伴和用戶參與的門檻,業(yè)務(wù)專家可以直接開發(fā)產(chǎn)品。

那么SmartCMP是如何實(shí)現(xiàn)上述目標(biāo)的呢?沒有銀彈,但低代碼確是一劑良藥,騫云認(rèn)為低代碼是針對(duì)IT管理的上述的兩大問題的良藥。我們是這么理解低代碼的:

首先是插件化和模型化,插件化就是相互不影響,又可以進(jìn)行組裝,在我們的平臺(tái)上不同的模塊、不同的功能、對(duì)接的不同平臺(tái)、甚至同平臺(tái)的不同資源,都應(yīng)該是插件。模型就是相同的部分可以抽象成模型,增加復(fù)用。就像樂高積木,可以使用10塊拼成一個(gè)小鴨子,可以使用3696塊拼成一輛蘭博基尼,更可以使用7541塊拼成一個(gè)千年隼,千年隼和小鴨子本質(zhì)都是樂高積木塊,但是呈現(xiàn)這么大不同,那是因?yàn)樗麄冊(cè)O(shè)計(jì)不同。

騫云實(shí)戰(zhàn)分享

其次,還是拼樂高的例子。拼的過程很愉悅,但確實(shí)費(fèi)時(shí)費(fèi)力還費(fèi)手,所以我們發(fā)明了引擎。什么是引擎驅(qū)動(dòng)?與3D打印機(jī)類似,只要給出圖紙,放入材料,3D打印機(jī)什么都可以制造出來,可以是一顆牙齒,一艘船,甚至是一只鞋子。

騫云平臺(tái)針對(duì)不同場(chǎng)景提供三大引擎,業(yè)務(wù)專家們只要“畫圖紙”,我們的“引擎”,便可將“模型”自動(dòng)組裝起來,這樣就可以低代碼甚至無代碼的進(jìn)行功能開發(fā)。這三大引擎包括表單引擎(用來生成頁面)、編排引擎(用來驅(qū)動(dòng)模型)、流程引擎(用來驅(qū)動(dòng)任務(wù))。

1、表單引擎

基于可視化表單,只需要通過拖拽的方式創(chuàng)建和編輯所需要的表單,完成更多內(nèi)容的編輯和配置。超強(qiáng)便捷的可配置能力,使用者只需通過圖形化拖拽方式,就能實(shí)現(xiàn)服務(wù)表單配置。拖過拖拽審批表單+可視化流程配置,兩步即可完成一個(gè)個(gè)性化服務(wù)流程。

騫云實(shí)戰(zhàn)分享

2、藍(lán)圖編排引擎

服務(wù)編排藍(lán)圖目前已經(jīng)是面向服務(wù)、面向應(yīng)用的云管理平臺(tái)的核心能力之一。SmartCMP通過基于TOSCA的藍(lán)圖,可以構(gòu)建一個(gè)面向目標(biāo)的編排引擎,也就是我們畫出來什么,最后就部署出來什么,變更出來什么。藍(lán)圖編排引擎是SmartCMP平臺(tái)的一大特色,非專業(yè)運(yùn)維人也可以便捷的進(jìn)行服務(wù)編排。SmartCMP有兩種服務(wù)藍(lán)圖設(shè)計(jì)狀態(tài):

(1)所見即所得的畫布設(shè)計(jì)

騫云實(shí)戰(zhàn)分享

(2)YAML語言編輯,會(huì)根據(jù)可視化藍(lán)圖動(dòng)態(tài)生產(chǎn)

騫云實(shí)戰(zhàn)分享

3、流程引擎

基于靈活的BPMN引擎,無需寫代碼,只需在編輯器內(nèi)將組件拖拽到畫布中,在配置組件的樣式、數(shù)據(jù)源和交互動(dòng)作,以可視化的方式完成對(duì)功能的開發(fā)。同時(shí),內(nèi)置大量標(biāo)準(zhǔn)流程,供用戶開箱即用。通過可視化流程編輯器可高效實(shí)現(xiàn)多種審批方式:多級(jí)審批、平行審批、條件審批、第三方審批對(duì)接(釘釘、企業(yè)微信等)。

騫云實(shí)戰(zhàn)分享

03騫云的低代碼之路

任何物體都具有屬性、操作和關(guān)系三個(gè)要素,以手機(jī)和浮動(dòng)IP為例:

關(guān)于屬性:手機(jī)的屬性就是手機(jī)的品牌、型號(hào)和操作系統(tǒng)等等,比如手機(jī)是小米牌,型號(hào)是11ultra,系統(tǒng)是安卓;對(duì)于浮動(dòng)IP來說,它的屬性就是ID、帶寬等等。

關(guān)于操作:對(duì)于手機(jī)來說,就是開機(jī)和關(guān)機(jī)等;對(duì)于浮動(dòng)IP來說,就是綁定IP、調(diào)整帶寬等。關(guān)于關(guān)系:手機(jī)的關(guān)系包括這部手機(jī)由誰制造,現(xiàn)在屬于誰;對(duì)于浮動(dòng)IP來說,就是可以關(guān)聯(lián)到一個(gè)虛擬機(jī)上等。

騫云實(shí)戰(zhàn)分享

騫云的組件是對(duì)云資源的抽象,我們標(biāo)準(zhǔn)化、抽象化了所有云平臺(tái)的云資源為組件。對(duì)于SmartCMP來說,虛擬機(jī)、數(shù)據(jù)庫、負(fù)載均衡甚至安全組都是組件,每個(gè)組件,我們都賦予了其標(biāo)準(zhǔn)的屬性、操作和關(guān)系,甚至還可以關(guān)聯(lián)該組件的監(jiān)控。

通過低代碼的運(yùn)用,騫云的團(tuán)隊(duì)開發(fā)效率得到了大幅提升,接入一個(gè)新平臺(tái)的計(jì)算、網(wǎng)絡(luò)和存儲(chǔ)由原先4人月減少至4人周,釋放了75%的人力;合作伙伴甚至客戶自己都可以參與到產(chǎn)品開發(fā)中,業(yè)務(wù)專家可以直接把自己的想法實(shí)現(xiàn)出來,而不再需要通過程序員,交付效率也有了質(zhì)的飛躍。

騫云通過近些年的低代碼實(shí)踐,在該項(xiàng)技術(shù)上也總結(jié)出了“低代碼實(shí)踐三步走”的經(jīng)驗(yàn):

(1)開發(fā)人員使用,用戶內(nèi)部開發(fā)效率的提升,尤其是產(chǎn)品開發(fā)的定制化和交付定制化;

(2)提供給合作伙伴和客戶使用,方便定制和二次開發(fā),靈活應(yīng)對(duì)不同場(chǎng)景特點(diǎn),實(shí)現(xiàn)低成本交付;

(3)吸引用戶或者專業(yè)團(tuán)隊(duì)(比如ISV),在平臺(tái)上構(gòu)建全新應(yīng)用,利用售賣給平臺(tái)客戶。

目前第一步和第二步騫云已經(jīng)走的非常扎實(shí),第三步正在穩(wěn)步持續(xù)進(jìn)行中。

04低代碼之未來展望

合理并有效地運(yùn)用低代碼,能夠?yàn)槠髽I(yè)縮短開發(fā)周期、降低運(yùn)營(yíng)成本、提高開發(fā)質(zhì)量,低代碼的價(jià)值在業(yè)內(nèi)的實(shí)踐探索過程中已有目共睹。當(dāng)前,低代碼還處于國(guó)內(nèi)發(fā)展的初期階段,但在軟件產(chǎn)業(yè)供給遠(yuǎn)跟不上社會(huì)需求的今天,低代碼不會(huì)成為曇花一現(xiàn)的概念,而將會(huì)作為新的軟件開發(fā)模式,形成長(zhǎng)遠(yuǎn)發(fā)展趨勢(shì),對(duì)軟件產(chǎn)業(yè)乃至整個(gè)社會(huì)產(chǎn)生巨大影響。

騫云是低代碼平臺(tái)的前沿實(shí)踐者,并取得了實(shí)踐的豐碩成果。未來,低代碼將帶領(lǐng)數(shù)字化轉(zhuǎn)型去往何處,讓我們拭目以待!

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )