應(yīng)用場(chǎng)景不同,是無(wú)代碼和低代碼的最大區(qū)別

文章來(lái)源:微信公眾號(hào) 葡萄城技術(shù)社區(qū)

隨著媒體對(duì)低代碼、無(wú)代碼等先進(jìn)技術(shù)的持續(xù)關(guān)注,我們發(fā)現(xiàn)大多數(shù)人都聽說(shuō)過(guò)低代碼開發(fā)和無(wú)代碼開發(fā)這兩個(gè)概念,但是對(duì)兩者之間的區(qū)別其實(shí)并不清楚。事實(shí)上,低代碼開發(fā)和無(wú)代碼開發(fā)之間存在著很多非常顯著的差異,如果你正在考慮放棄傳統(tǒng)的應(yīng)用程序開發(fā)方式,或者只是想嘗試一下全新的可視化應(yīng)用程序開發(fā)方式,那么你需要了解這兩個(gè)技術(shù)能給你帶來(lái)什么好處。

這篇文章,將會(huì)對(duì)低代碼開發(fā)與無(wú)代碼開發(fā)技術(shù)進(jìn)行深度解析,看看它們區(qū)別在哪里,探討如何使用它們?yōu)槠髽I(yè)信息化服務(wù)。

從編程發(fā)展史說(shuō)起

編程是編定程序的中文簡(jiǎn)稱,指設(shè)計(jì)具備邏輯流動(dòng)作用的一種“可控體系”。最早的編程可以溯源至1804年,歷史遠(yuǎn)早于電子計(jì)算機(jī)。19世紀(jì)早期的法國(guó)里昂是世界聞名的絲織之都。里昂的絲織工人們使用的工具卻是質(zhì)量低劣、效率低下的老式手工提花機(jī)。這種機(jī)器需要有人站在上面,費(fèi)力地一根一根地將絲線提起、放下,才能織出精細(xì)復(fù)雜的絲綢,就好像演員在操縱牽線木偶。這種繁瑣的勞動(dòng)隨著1804年雅卡爾提花機(jī)的發(fā)明發(fā)生了改變。雅卡爾提花機(jī)利用預(yù)先打孔的卡片來(lái)控制織物的編織式樣,速度比老式手工提花機(jī)快了25倍。

雅卡爾提花機(jī)復(fù)原圖,圖片來(lái)自網(wǎng)絡(luò)??

從這種借助穿孔卡片進(jìn)行編程的提花織機(jī)問(wèn)世至今,編程語(yǔ)言已經(jīng)走過(guò)了200多年的歷史。隨著計(jì)算機(jī)技術(shù)的發(fā)展,1950年代開始,為電子計(jì)算機(jī)設(shè)計(jì)的編程語(yǔ)言層出不窮。到現(xiàn)在為止,已經(jīng)出現(xiàn)了250多種編程語(yǔ)言。每一年,都有新的語(yǔ)言流行,舊的語(yǔ)言被淘汰,這意味著使用編程語(yǔ)言的開發(fā)人員必須習(xí)慣的一件事就是“改變”。

1980年代,葡萄城使用BASIC語(yǔ)言開發(fā)的財(cái)務(wù)程序界面??

回顧200年的發(fā)展歷程,我們認(rèn)為編程界最大的改變,就是集成開發(fā)環(huán)境(IDE)的出現(xiàn)。IDE為專業(yè)開發(fā)人員和平民開發(fā)者(沒(méi)有受過(guò)專業(yè)編程訓(xùn)練的技術(shù)人員和業(yè)務(wù)人員)提供了一套用來(lái)簡(jiǎn)化編碼工作的軟件開發(fā)工具。IDE的起源可以追溯到1982年,當(dāng)時(shí)詹姆斯·馬丁寫了一本書,叫《沒(méi)有程序員的應(yīng)用程序開發(fā)》。馬丁在這本書中提到,有了IDE的幫助,創(chuàng)建應(yīng)用程序所需要的開發(fā)人員可以減少,在某些情況,甚至可能根本不需要開發(fā)人員。

使用Visual Studio IDE開發(fā)應(yīng)用程序的界面??

時(shí)間快進(jìn)到2019年,編程界的形勢(shì)又發(fā)生了變化。我們現(xiàn)在已經(jīng)到達(dá)了一個(gè)這樣的臨界點(diǎn):由于太多的代碼已經(jīng)被編寫出來(lái),使得我們已經(jīng)不再需要從零開始編寫每一個(gè)應(yīng)用程序了。事實(shí)上,當(dāng)你使用一個(gè)可視化設(shè)計(jì)器能夠生成覆蓋大多數(shù)應(yīng)用程序所需90%代碼的低代碼開發(fā)平臺(tái)時(shí),這個(gè)開發(fā)平臺(tái)就能夠完成大部分繁重的編碼工作。而這,就是低代碼開發(fā)平臺(tái)帶給編程界的最大“改變”。

什么是低代碼開發(fā),如何使用它?

首先,你可以通過(guò)閱讀老牌開發(fā)工具廠商葡萄城的技術(shù)博客《低代碼開發(fā)平臺(tái)是什么?》(在百度搜索文章標(biāo)題即可查看)來(lái)深入了解低代碼開發(fā)到底是什么意思。簡(jiǎn)而言之,“低代碼開發(fā)”就是開發(fā)人員可以通過(guò)編寫少量代碼甚至無(wú)需代碼就可以快速生成應(yīng)用程序的一種方法。我們有時(shí)把“低代碼”作為名詞用,這時(shí)候我們把它看作一個(gè)像Python語(yǔ)言和C#語(yǔ)言一樣的一種“東西”。我們有時(shí)也把“低代碼”作為動(dòng)詞用,這時(shí)候它表達(dá)的是它字面上代表的一種應(yīng)用程序開發(fā)方式,因?yàn)橛眠@種方式開發(fā)應(yīng)用程序時(shí),你需要手寫的代碼比通常的開發(fā)方式要少很多,在部分場(chǎng)景下甚至可以完全不寫代碼。

低代碼開發(fā)包含可視化設(shè)計(jì)和編碼擴(kuò)展能力??

使用低代碼開發(fā)平臺(tái)類似于使用IDE,因?yàn)樗艘惶卓梢怨╅_發(fā)人員直接使用的功能,和一套供開發(fā)人員使用的工具。然而,它實(shí)際上能提供的遠(yuǎn)遠(yuǎn)超過(guò)一個(gè)傳統(tǒng)的IDE。簡(jiǎn)單來(lái)說(shuō),低代碼開發(fā)就是將已有代碼的可視化模塊拖放到工作流中以創(chuàng)建應(yīng)用程序的過(guò)程。由于它可以完全取代傳統(tǒng)的手工編碼應(yīng)用程序的開發(fā)方法,技術(shù)嫻熟的開發(fā)人員可以更智能、更高效地工作,而不會(huì)被重復(fù)的編碼束縛住。相反,他們可以將精力集中于創(chuàng)建應(yīng)用程序的10%部分(90%功能可以通過(guò)可視化方式創(chuàng)建),并使其具有與眾不同的功能。

使用活字格低代碼開發(fā)平臺(tái)的可視化設(shè)計(jì)器構(gòu)建數(shù)據(jù)看板??

與“低代碼”開發(fā)相對(duì)的另一種方式是編寫數(shù)萬(wàn)行復(fù)雜的代碼和語(yǔ)句,然后對(duì)其進(jìn)行調(diào)試。而使用“低代碼”開發(fā)并且使用可視化地方式來(lái)構(gòu)建應(yīng)用程序,你可以將開發(fā)速度提高數(shù)倍,并且最大化技術(shù)嫻熟的開發(fā)人員的價(jià)值。專注于冷鏈物流行業(yè)信息化系統(tǒng)的北京馭夢(mèng)科技有限公司正在使用活字格低代碼開發(fā)平臺(tái),馭夢(mèng)的總經(jīng)理高守成在接受采訪時(shí)表示,使用活字格這種低代碼開發(fā)模式,可以將物流管理系統(tǒng)的交付周期縮短到1/5,即便將低代碼開發(fā)平臺(tái)的采購(gòu)費(fèi)用計(jì)算在內(nèi),開發(fā)總成本也降低了70%。這就是為什么Forrester預(yù)計(jì)到2022年,低代碼市場(chǎng)的支出仍將達(dá)到210億美元開發(fā)費(fèi)用的一個(gè)重要原因。

低代碼開發(fā)的好處

拋開吸引眼球的數(shù)據(jù),讓我們先從更高層次了解一下低代碼開發(fā)的好處,然后再研究一下“無(wú)代碼”開發(fā)能帶給我們什么。低代碼開發(fā)的好處主要有以下四點(diǎn):

1. 速度:使用低代碼開發(fā),你可以同時(shí)為多個(gè)平臺(tái)(桌面電腦、Android、iOS、釘釘或微信)構(gòu)建應(yīng)用程序,并且在幾天甚至在幾小時(shí)以內(nèi)就可以向項(xiàng)目相關(guān)人員提交可以運(yùn)行的示例。

2. 更多的資源:如果你在一個(gè)大型項(xiàng)目上工作,使用低代碼開發(fā),你就不必再等待陷于另一個(gè)冗長(zhǎng)項(xiàng)目的具有專業(yè)技能開發(fā)人員,即便沒(méi)有接受專業(yè)編程訓(xùn)練的技術(shù)人員也能參與到開發(fā)過(guò)程,這意味著項(xiàng)目可以更高效、以更低廉的成本完成。

3. 低風(fēng)險(xiǎn)/高投資回報(bào)率:使用低代碼開發(fā),意味著強(qiáng)大的安全流程,數(shù)據(jù)集成和跨平臺(tái)支持已經(jīng)內(nèi)置,并且可以輕松定制,這通常意味著更低的風(fēng)險(xiǎn),并且可以將更多的時(shí)間集中在業(yè)務(wù)邏輯的實(shí)現(xiàn)上。

4. 快速部署:項(xiàng)目上線總是會(huì)讓人神經(jīng)緊張。而使用低代碼開發(fā),部署前的影響評(píng)估可以確保你的應(yīng)用程序按預(yù)期工作。如果有任何異常發(fā)生,只需要一次單擊,你就可以回滾你所做的所有改變。

為什么還需要無(wú)代碼開發(fā)?

低代碼看上去很完美,但為什么還需要無(wú)代碼?回答這個(gè)問(wèn)題前,我們先回顧一下什么是無(wú)代碼開發(fā)。

人們很容易將低代碼開發(fā)和無(wú)代碼開發(fā)混淆起來(lái),因?yàn)樗麄兟犉饋?lái)就很像。 “無(wú)代碼”開發(fā)平臺(tái)是為那些“不知道也不需要知道任何實(shí)際的編程語(yǔ)言”、使用應(yīng)用程序的業(yè)務(wù)人員而構(gòu)建的。無(wú)代碼平臺(tái)供應(yīng)商認(rèn)為,使用者構(gòu)建應(yīng)用程序需要的所有內(nèi)容都已經(jīng)內(nèi)置到平臺(tái)中。無(wú)代碼平臺(tái)類似于現(xiàn)在流行的問(wèn)卷服務(wù),或者H5宣傳頁(yè)面設(shè)計(jì)平臺(tái)。這些平臺(tái)有預(yù)先構(gòu)建的頁(yè)面,可以讓你在幾分鐘內(nèi)啟動(dòng)你的調(diào)查問(wèn)卷或你的H5頁(yè)面。

使用問(wèn)卷網(wǎng),無(wú)需編碼生成調(diào)查問(wèn)卷??

聽起來(lái)不錯(cuò)吧?如果你的應(yīng)用沒(méi)有任何獨(dú)特的、很難定制的功能,并且不需要解決系統(tǒng)集成等挑戰(zhàn)的話,無(wú)代碼平臺(tái)當(dāng)然是個(gè)好選擇。然而,大多數(shù)無(wú)代碼平臺(tái)最初設(shè)計(jì)用于解決單個(gè)業(yè)務(wù)問(wèn)題,如審批流程管理。從業(yè)務(wù)增長(zhǎng)的角度來(lái)看,這是天然的局限。為了吸引更多企業(yè)用戶的目光,許多無(wú)代碼平臺(tái)供應(yīng)商已經(jīng)開始了將自己的平臺(tái)歸類于低代碼平臺(tái),并進(jìn)行了廣泛的宣傳。

然而,不少行業(yè)分析師卻有不同的看法,他們開始將一些無(wú)代碼平臺(tái)供應(yīng)商從相關(guān)報(bào)告中移出(如Forrester Research公司發(fā)布的報(bào)告《2019 Q1 Forrester Wave?:面向應(yīng)用程序開發(fā)和交付專業(yè)人員的低代碼開發(fā)平臺(tái)》),同時(shí)將它們轉(zhuǎn)移到那些只適用有限用例的平臺(tái)報(bào)告中。

無(wú)代碼的局限性

如果將我們的討論嚴(yán)格限定在應(yīng)用程序開發(fā)層面的話,某些類型的用戶以及他們需要開發(fā)的內(nèi)容可能會(huì)促使他們傾向于使用低代碼平臺(tái)而不是無(wú)代碼平臺(tái)。

無(wú)代碼只適合業(yè)務(wù)用戶。他們很少需要專業(yè)培訓(xùn)。你可以把它視為一大優(yōu)勢(shì),但是由于這種類型用戶的技能有限,加上無(wú)代碼平臺(tái)本身也有功能局限。大多數(shù)專業(yè)的開發(fā)人員甚至以IT人員為代表的平民開發(fā)者,都會(huì)發(fā)現(xiàn)無(wú)代碼平臺(tái)無(wú)法提供他們需要的開發(fā)能力,并且工具本身也限制了他們的開發(fā)能力。

低代碼平臺(tái)旨在同時(shí)服務(wù)平民開發(fā)者和專業(yè)開發(fā)人員。對(duì)于有一定IT相關(guān)知識(shí)的平民開發(fā)者來(lái)說(shuō),在經(jīng)驗(yàn)豐富的IT人員或?qū)I(yè)開發(fā)人員的指導(dǎo)下,創(chuàng)建經(jīng)過(guò)深思熟慮的與實(shí)際需求相符的應(yīng)用程序,擴(kuò)展了技術(shù)團(tuán)隊(duì)的業(yè)務(wù)能力。對(duì)于專業(yè)的開發(fā)人員來(lái)說(shuō),通過(guò)可視化的操作搭建應(yīng)用程序,可以更加有效地提高開發(fā)效率。同時(shí)低代碼平臺(tái)也允許他們根據(jù)需要手工編碼來(lái)應(yīng)對(duì)更復(fù)雜的系統(tǒng)需求,這意味著在提高技術(shù)團(tuán)隊(duì)的業(yè)務(wù)價(jià)值的同時(shí),降低了開發(fā)工作的積壓量。

在outsystems低代碼開發(fā)平臺(tái)中使用JavaScript手工編碼??

而無(wú)代碼平臺(tái)的吸引力在于,組織中幾乎任何具有一點(diǎn)技術(shù)背景的人都可以快速創(chuàng)建業(yè)務(wù)應(yīng)用程序。這可能是一個(gè)巨大的優(yōu)勢(shì)。但它同時(shí)也帶來(lái)了諸多問(wèn)題。

首先,無(wú)代碼應(yīng)用程序開發(fā)不需要任何編碼的想法并不是很現(xiàn)實(shí)。因?yàn)檫@些平臺(tái)是為業(yè)務(wù)人員設(shè)計(jì)的,IT技術(shù)部門還是不得不在“最后一公里”處介入,以完成與現(xiàn)有系統(tǒng)的集成。如果你們的IT技術(shù)部門根本不參與應(yīng)用程序開發(fā)時(shí)會(huì)出現(xiàn)什么狀況?這將會(huì)產(chǎn)生可怕的結(jié)果:那就是你們的應(yīng)用程序開發(fā)很可能根本沒(méi)有適當(dāng)?shù)谋O(jiān)督或經(jīng)過(guò)充分的論證,無(wú)法和現(xiàn)有信息化系統(tǒng)實(shí)現(xiàn)集成。可以預(yù)見,各種各樣的安全問(wèn)題、合法性問(wèn)題、系統(tǒng)集成問(wèn)題都會(huì)出現(xiàn),最后會(huì)產(chǎn)生一個(gè)個(gè)設(shè)計(jì)不當(dāng)?shù)膽?yīng)用程序。最好的情形是這些應(yīng)用程序浪費(fèi)了很多不必要的資源,而最壞的情形則是,用戶會(huì)對(duì)這些“數(shù)據(jù)孤島”般奇怪的應(yīng)用程序望而卻步。


將使用活字格低代碼開發(fā)的應(yīng)用嵌入用友U8+中??

低代碼開發(fā)就一定比無(wú)代碼開發(fā)好嗎?

不完全是。低代碼平臺(tái)和無(wú)代碼平臺(tái)都是基于同樣的“敏捷性”這一思想而構(gòu)建的。雖然粗略地看上去(或者在無(wú)代碼供應(yīng)商的網(wǎng)站上看),它們很相似。但實(shí)際上它們適用于不同的場(chǎng)景。低代碼開發(fā)平臺(tái)適合開發(fā)復(fù)雜的應(yīng)用程序,這些應(yīng)用程序通常為你們的核心業(yè)務(wù)服務(wù),運(yùn)行那些重要的和關(guān)鍵性的業(yè)務(wù)流程。它還可以用來(lái)構(gòu)建獨(dú)立的移動(dòng)和Web應(yīng)用程序,這些應(yīng)用程序可能需要也可能不需要復(fù)雜的集成。事實(shí)上,它可以用來(lái)開發(fā)任何應(yīng)用程序。

ERP+APS+MES,生產(chǎn)制造業(yè)企業(yè)的核心業(yè)務(wù)服務(wù)??

相反,無(wú)代碼平臺(tái)的局限性意味著它們只能用于企業(yè)后勤等非核心、標(biāo)準(zhǔn)化業(yè)務(wù)系統(tǒng)模塊的開發(fā)。

話雖如此,在現(xiàn)代企業(yè)中,兩種平臺(tái)都有應(yīng)用空間,或者至少兩者能結(jié)合在一起。對(duì)于那些DevOps(另一種用于在開發(fā)中創(chuàng)造更大的靈活性的方法)的擁護(hù)者來(lái)說(shuō),低代碼平臺(tái)和無(wú)代碼平臺(tái)的組合可以提供完美的應(yīng)用程序開發(fā)環(huán)境。

應(yīng)用程序開發(fā)的未來(lái)

在一切都必須快速發(fā)展的世界中,低代碼平臺(tái)和無(wú)代碼平臺(tái)都可以為使用者提供競(jìng)爭(zhēng)優(yōu)勢(shì)。但是,除非你只是開發(fā)最簡(jiǎn)單的應(yīng)用程序,并且對(duì)定制的要求很低,否則低代碼平臺(tái)總是更好的選擇。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容