隨著企業(yè)數(shù)字化和上云的趨勢愈演愈烈,越來越多的個性化SaaS應(yīng)用,需要更快、更高效的開發(fā)。低代碼是近年來流行的一種企業(yè)軟件快速開發(fā)技術(shù)和工具,憑借其低門檻、高效率和易集成等特性,受到越來越多軟件開發(fā)團(tuán)隊(duì)的青睞。
據(jù)Gartner預(yù)測,到2024年四分之三的大企業(yè)將會使用至少4種低代碼開發(fā)平臺,用于信息化應(yīng)用開發(fā)。屆時,65% 的應(yīng)用開發(fā)將通過低代碼完成。今天我們就一起來聊聊低代碼!
01什么是低代碼平臺?
1、Wikipedia的定義:低代碼開發(fā)平臺(LCDP)提供了一個開發(fā)環(huán)境,用于通過圖形用戶界面而不是傳統(tǒng)的手工編碼計算機(jī)編程來創(chuàng)建應(yīng)用程序軟件。低編碼的平臺可能產(chǎn)生完全可操作的應(yīng)用程序,可能需要為特定情況編寫額外的代碼。低代碼開發(fā)平臺減少了傳統(tǒng)手工編碼的數(shù)量,加速了業(yè)務(wù)應(yīng)用程序的交付。一個常見的好處是,更廣泛的人可以為應(yīng)用程序的開發(fā)做出貢獻(xiàn)——不僅僅是那些具有編碼技能的人。lcdp還可以降低安裝、培訓(xùn)、部署和維護(hù)的初始成本。
維基百科關(guān)于低代碼的定義有5個關(guān)鍵的點(diǎn):
(1)通過圖形界面寫程序
(2)可以產(chǎn)生完整應(yīng)用程序
(3)減少代碼量,加速應(yīng)用交付
(4)降低門檻(讓更多人可以參與到程序開發(fā)中)
(5)降低成本(安裝、培訓(xùn)、部署和維護(hù))
2、Forrester的定義:應(yīng)用程序開發(fā)平臺,支持用最少的手工編碼快速交付應(yīng)用程序,并快速設(shè)置和部署。Forrester的定義和Wikipedia定義基本一致,但是更加直白,去掉了圖形界面的限制,強(qiáng)調(diào)以最少的手工編碼,實(shí)現(xiàn)快速交付、設(shè)置和部署。
3、Gartner的定義:企業(yè)低代碼應(yīng)用程序平臺(Enterprise Low-code application platform, LCAP)使用低代碼和無代碼技術(shù),如聲明式、模型驅(qū)動的應(yīng)用程序設(shè)計和開發(fā),以及簡化的一鍵式應(yīng)用程序部署,提供快速的應(yīng)用程序開發(fā)和部署。LCAP通常創(chuàng)建元數(shù)據(jù),并在運(yùn)行時解釋該元數(shù)據(jù),并抽象底層服務(wù)器基礎(chǔ)設(shè)施,以方便使用;許多還允許可選的過程編程擴(kuò)展。LCAP支持:(1)通過響應(yīng)式web和移動應(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ì)上來看,也就是低代碼的核心價值。低代碼能夠:(1)降低寫代碼的門檻——讓更多的非軟件專業(yè)人員可以來實(shí)現(xiàn)功能;(2)降低編寫的代碼數(shù)量——減少測試、部署和運(yùn)維工作;(3)降低交付和部署成本——提升客戶滿意度。
02騫云的低代碼思考
SmartCMP作為云原生的IT統(tǒng)一管理平臺需要對接大量系統(tǒng),包括公有云、私有云(甚至是魔改的私有云)、各類第三方系統(tǒng)(釘釘、微信、各種OA、堡壘機(jī)、備份恢復(fù)系統(tǒng))、客戶自研的系統(tǒng)等;此外,企業(yè)需求發(fā)散,流程復(fù)雜也成為業(yè)內(nèi)研發(fā)中的難題。很多IT統(tǒng)一管理平臺很難實(shí)現(xiàn)產(chǎn)品化也正是由于這兩大原因。
自產(chǎn)品設(shè)計之初,SmartCMP的目標(biāo)便是實(shí)現(xiàn)千人千面,即要求每個權(quán)限、菜單、按鈕、甚至字段都應(yīng)該可以配置和模塊解耦,即每個對接的平臺、資源、甚至資源上的操作都應(yīng)該可以快速接入并單獨(dú)配置,并且這種配置不需要編譯,用戶可以直接參與。于用戶而言,能夠最大化滿足用戶個性化場景;于自身而言,能夠大幅度提高產(chǎn)品開發(fā)交付效率,降低合作伙伴和用戶參與的門檻,業(yè)務(wù)專家可以直接開發(fā)產(chǎn)品。
那么SmartCMP是如何實(shí)現(xiàn)上述目標(biāo)的呢?沒有銀彈,但低代碼確是一劑良藥,騫云認(rèn)為低代碼是針對IT管理的上述的兩大問題的良藥。我們是這么理解低代碼的:
首先是插件化和模型化,插件化就是相互不影響,又可以進(jìn)行組裝,在我們的平臺上不同的模塊、不同的功能、對接的不同平臺、甚至同平臺的不同資源,都應(yīng)該是插件。模型就是相同的部分可以抽象成模型,增加復(fù)用。就像樂高積木,可以使用10塊拼成一個小鴨子,可以使用3696塊拼成一輛蘭博基尼,更可以使用7541塊拼成一個千年隼,千年隼和小鴨子本質(zhì)都是樂高積木塊,但是呈現(xiàn)這么大不同,那是因?yàn)樗麄冊O(shè)計不同。
其次,還是拼樂高的例子。拼的過程很愉悅,但確實(shí)費(fèi)時費(fèi)力還費(fèi)手,所以我們發(fā)明了引擎。什么是引擎驅(qū)動?與3D打印機(jī)類似,只要給出圖紙,放入材料,3D打印機(jī)什么都可以制造出來,可以是一顆牙齒,一艘船,甚至是一只鞋子。
騫云平臺針對不同場景提供三大引擎,業(yè)務(wù)專家們只要“畫圖紙”,我們的“引擎”,便可將“模型”自動組裝起來,這樣就可以低代碼甚至無代碼的進(jìn)行功能開發(fā)。這三大引擎包括表單引擎(用來生成頁面)、編排引擎(用來驅(qū)動模型)、流程引擎(用來驅(qū)動任務(wù))。
1、表單引擎
基于可視化表單,只需要通過拖拽的方式創(chuàng)建和編輯所需要的表單,完成更多內(nèi)容的編輯和配置。超強(qiáng)便捷的可配置能力,使用者只需通過圖形化拖拽方式,就能實(shí)現(xiàn)服務(wù)表單配置。拖過拖拽審批表單+可視化流程配置,兩步即可完成一個個性化服務(wù)流程。
2、藍(lán)圖編排引擎
服務(wù)編排藍(lán)圖目前已經(jīng)是面向服務(wù)、面向應(yīng)用的云管理平臺的核心能力之一。SmartCMP通過基于TOSCA的藍(lán)圖,可以構(gòu)建一個面向目標(biāo)的編排引擎,也就是我們畫出來什么,最后就部署出來什么,變更出來什么。藍(lán)圖編排引擎是SmartCMP平臺的一大特色,非專業(yè)運(yùn)維人也可以便捷的進(jìn)行服務(wù)編排。SmartCMP有兩種服務(wù)藍(lán)圖設(shè)計狀態(tài):
(1)所見即所得的畫布設(shè)計
(2)YAML語言編輯,會根據(jù)可視化藍(lán)圖動態(tài)生產(chǎn)
3、流程引擎
基于靈活的BPMN引擎,無需寫代碼,只需在編輯器內(nèi)將組件拖拽到畫布中,在配置組件的樣式、數(shù)據(jù)源和交互動作,以可視化的方式完成對功能的開發(fā)。同時,內(nèi)置大量標(biāo)準(zhǔn)流程,供用戶開箱即用。通過可視化流程編輯器可高效實(shí)現(xiàn)多種審批方式:多級審批、平行審批、條件審批、第三方審批對接(釘釘、企業(yè)微信等)。
03騫云的低代碼之路
任何物體都具有屬性、操作和關(guān)系三個要素,以手機(jī)和浮動IP為例:
關(guān)于屬性:手機(jī)的屬性就是手機(jī)的品牌、型號和操作系統(tǒng)等等,比如手機(jī)是小米牌,型號是11ultra,系統(tǒng)是安卓;對于浮動IP來說,它的屬性就是ID、帶寬等等。
關(guān)于操作:對于手機(jī)來說,就是開機(jī)和關(guān)機(jī)等;對于浮動IP來說,就是綁定IP、調(diào)整帶寬等。關(guān)于關(guān)系:手機(jī)的關(guān)系包括這部手機(jī)由誰制造,現(xiàn)在屬于誰;對于浮動IP來說,就是可以關(guān)聯(lián)到一個虛擬機(jī)上等。
騫云的組件是對云資源的抽象,我們標(biāo)準(zhǔn)化、抽象化了所有云平臺的云資源為組件。對于SmartCMP來說,虛擬機(jī)、數(shù)據(jù)庫、負(fù)載均衡甚至安全組都是組件,每個組件,我們都賦予了其標(biāo)準(zhǔn)的屬性、操作和關(guān)系,甚至還可以關(guān)聯(lián)該組件的監(jiān)控。
通過低代碼的運(yùn)用,騫云的團(tuán)隊(duì)開發(fā)效率得到了大幅提升,接入一個新平臺的計算、網(wǎng)絡(luò)和存儲由原先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)對不同場景特點(diǎn),實(shí)現(xiàn)低成本交付;
(3)吸引用戶或者專業(yè)團(tuán)隊(duì)(比如ISV),在平臺上構(gòu)建全新應(yīng)用,利用售賣給平臺客戶。
目前第一步和第二步騫云已經(jīng)走的非常扎實(shí),第三步正在穩(wěn)步持續(xù)進(jìn)行中。
04低代碼之未來展望
合理并有效地運(yùn)用低代碼,能夠?yàn)槠髽I(yè)縮短開發(fā)周期、降低運(yùn)營成本、提高開發(fā)質(zhì)量,低代碼的價值在業(yè)內(nèi)的實(shí)踐探索過程中已有目共睹。當(dāng)前,低代碼還處于國內(nèi)發(fā)展的初期階段,但在軟件產(chǎn)業(yè)供給遠(yuǎn)跟不上社會需求的今天,低代碼不會成為曇花一現(xiàn)的概念,而將會作為新的軟件開發(fā)模式,形成長遠(yuǎn)發(fā)展趨勢,對軟件產(chǎn)業(yè)乃至整個社會產(chǎn)生巨大影響。
騫云是低代碼平臺的前沿實(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)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )