五大維度詳解低代碼、純代碼和無代碼的區(qū)別與聯(lián)系(低代碼和無代碼是什么)
目前,關(guān)于低代碼、純代碼和無代碼之間的關(guān)系,業(yè)界一直存在著各種爭論。因此,本文將從定義、技術(shù)特征、開發(fā)者、應用場景和經(jīng)濟性論述三者之間的區(qū)別與聯(lián)系,厘清三者之間的關(guān)系。
01從定義看三者的區(qū)別與聯(lián)系
廣義的“低代碼”(Low-Code)概念于2014年由Forrester首次正式提出,定義為:能夠以“最少的手寫代碼”和設(shè)置快速開發(fā)應用、配置和部署業(yè)務應用程序?!凹兇a”(Pro-Code)定義為:傳統(tǒng)的以“全程手寫代碼”為中心的開發(fā)模式?!盁o代碼”(No-Code)定義為:在可視化界面中,通過拖拉拽代碼模塊,“無需手寫代碼”直接搭建應用系統(tǒng)。從定義可以看出,如果假定純代碼的開發(fā)代碼量是100,那么無代碼的開發(fā)代碼量就是0,三者之間的關(guān)系可表述為下面公式所示:
廣義的低代碼=無代碼× X% 純代碼× (1-X%)
其中,X(0≤X≤100)代表了可復用的“數(shù)字化資產(chǎn)”滿足業(yè)務需求的程度。X值越大,數(shù)字化資產(chǎn)滿足業(yè)務需求的程度越高,但同時,代碼靈活性會被削弱。當X=0時,就是純代碼;0<x<100時,就是“狹義的低代碼”;當x=100時,就是無代碼。
02從技術(shù)特征看三者的區(qū)別與聯(lián)系
1.純代碼的技術(shù)特征
純代碼的開發(fā)方法是模型驅(qū)動,采用“全程手寫代碼”的方式搭建應用系統(tǒng),代碼不會自動生成,因此不依賴開發(fā)平臺的可復用“數(shù)字化資產(chǎn)”,編碼靈活性高、定制性強、應用的可移植性強。開發(fā)者可以根據(jù)自己的偏好編寫代碼,可編程能力強,但要求開發(fā)者對核心編碼的邏輯有相當深入的理解。由于開發(fā)者能力不同,會導致編碼的標準化程度低,用戶操作體驗不一致,錯誤率偏高。
另外,開發(fā)者還需要自建部署和運維環(huán)境,整個應用的BizDevOps一體化過程相當復雜,對開發(fā)者的技術(shù)要求很高。
2.無代碼的技術(shù)特征
無代碼的開發(fā)方法是表單驅(qū)動,在可視化界面中,通過拖拉拽代碼模塊,“無需手寫代碼”的方式搭建應用系統(tǒng)。100%的代碼由平臺自動生成,可以消滅所有繁瑣和重復的樣板代碼(Boilerplate Code),因此對開發(fā)平臺的可復用“數(shù)字化資產(chǎn)”依賴程度非常高。平臺不會提供編程擴展接口,源碼無法進行客戶化編輯,編碼的靈活性和定制性完全取決于平臺提供的“數(shù)字化資產(chǎn)”數(shù)量和質(zhì)量。應用的可移植性也依賴aPaaS平臺的功能,存在非常強的制約。開發(fā)者不可以編寫代碼,因此不需要開發(fā)者理解編碼的基本邏輯。但由于100%的代碼由平臺自動生成,因此編碼的標準化程度非常高,用戶操作體驗一致,錯誤率極低。另外,開發(fā)者通過aPaaS平臺,直接在云端完成整個應用的BizDevOps一體化過程,完全不需要專業(yè)技術(shù)人員的參與,整個過程所見即所得,對開發(fā)者基本沒有技術(shù)要求。
3.低代碼的技術(shù)特征
低代碼的開發(fā)方法是可視化IDE模式,開發(fā)模式以“最少的手寫代碼”的方式搭建應用系統(tǒng)。80%以上的代碼由平臺搭建,可以消滅絕大部分繁瑣和重復的樣板代碼,因此對開發(fā)平臺的可復用“數(shù)字化資產(chǎn)”依賴程度較高。
另外,平臺會提供編程擴展接口,方便開發(fā)者導出導入源碼進行客戶化編輯,依賴開發(fā)平臺提供的可復用的“數(shù)字化資產(chǎn)”,編碼的靈活性和定制性較高,應用的可移植性依賴aPaaS平臺的功能,存在一定的制約。
開發(fā)者可根據(jù)自己的偏好改寫部分代碼,可編程能力較強,這就要求開發(fā)者對編碼的基本邏輯有比較深入的理解。但由于開發(fā)者只能改動部分代碼,因此80%以上的編碼的標準化程度較高,用戶操作體驗較為一致,錯誤率也控制在改寫的編碼范圍內(nèi)。
另外,開發(fā)者通過aPaaS平臺,直接在云端完成整個應用的BizDevOps一體化過程,可以不需要專業(yè)技術(shù)人員的參與,降低了對開發(fā)者的技術(shù)要求。
4.技術(shù)特征的區(qū)別與聯(lián)系
雖然上述三者在技術(shù)上存在很大的區(qū)別,但從軟件開發(fā)技術(shù)演進過程中的角度看,低代碼處于純代碼與無代碼中間的階段,既能夠降低純代碼的技術(shù)門檻,同時也能通過編程擴展接口,提供客戶化的編碼功能。通過aPaaS平臺實現(xiàn)應用的BizDevOps一體化過程,顯著降低了對開發(fā)者的技術(shù)要求。
03從目標開發(fā)者看三者的區(qū)別與聯(lián)系
1.純代碼的目標開發(fā)者
純代碼對開發(fā)者的技術(shù)要求很高,因此需要“專業(yè)開發(fā)者”(Professional Developers),指服務于專業(yè)IT部門的IT技術(shù)人員,包含程序員、項目經(jīng)理、實施顧問等。整個開發(fā)過程中,所有的業(yè)務和技術(shù)的復雜度都由“專業(yè)開發(fā)者”全程負責。
2.無代碼的目標開發(fā)者
無代碼對開發(fā)者基本沒有技術(shù)要求,因此只需要“公民開發(fā)者”(Citizen Developers),指來自財務、銷售、運作等業(yè)務部門,本職工作與IT無關(guān),但參與到軟件開發(fā)中的業(yè)務開發(fā)者,完全可以獨立或在技術(shù)人員的指導下開發(fā)出更符合業(yè)務需求的輕量化應用,擴大了應用開發(fā)勞動力,實現(xiàn)了應用程序開發(fā)的民主化。整個開發(fā)過程中,所有的業(yè)務復雜度由“公民開發(fā)者”負責,而所有的技術(shù)復雜度則由“低代碼平臺”負責。
3.低代碼的目標開發(fā)者
低代碼兼具了無代碼和純代碼的技術(shù)特點,因此需要“專業(yè)開發(fā)者和公民開發(fā)者的融合團隊”,指由專業(yè)IT技術(shù)人員和業(yè)務開發(fā)者組成的團隊,目的在于提升應用開發(fā)的整體效率。
公民開發(fā)者負責更貼近業(yè)務的、相對簡單的無代碼開發(fā)工作,讓專業(yè)開發(fā)者更專注于技術(shù)性強、難度大的純代碼開發(fā)工作。整個開發(fā)過程中,所有的業(yè)務復雜度由“公民開發(fā)者”負責,客戶化代碼的技術(shù)復雜度則由“專業(yè)開發(fā)者”負責,樣板代碼的技術(shù)復雜度則由“低代碼平臺”負責。
4.目標開發(fā)者的區(qū)別與聯(lián)系
雖然上述三者在目標開發(fā)者上存在一定區(qū)別,但從應用的BizDevOps一體化角度看,低代碼的目標開發(fā)者囊括了純代碼與無代碼的目標開發(fā)者,其優(yōu)勢在于:可以將開發(fā)工作進行了重新劃分,將原本“專業(yè)開發(fā)者”的工作分成三個部分,分別由“低代碼平臺”“公民開發(fā)者”和“專業(yè)開發(fā)者”分別負責,在擴大應用開發(fā)勞動力的同時,也能有效發(fā)揮、整合各自的專業(yè)優(yōu)勢。
04從應用場景看三者的區(qū)別與聯(lián)系
1.純代碼的應用場景
純代碼的編碼靈活性高,開發(fā)者專業(yè)化程度高,因此,純代碼開發(fā)在各行業(yè)領(lǐng)域下通用,沒有特別的限制,尤其是針對復雜的、個性化的業(yè)務決策層應用,如業(yè)務邏輯復雜、安全性要求高的領(lǐng)域,是純代碼最擅長的領(lǐng)域。
2.無代碼的應用場景
無代碼的編碼靈活性完全取決于平臺提供的“數(shù)字化資產(chǎn)”數(shù)量和質(zhì)量,開發(fā)者都是公民開發(fā)者,實際應用中,每個無代碼平臺都有各自的領(lǐng)域特色,直接決定了無代碼開發(fā)只能專注個別領(lǐng)域,尤其是針對簡單的、通用的、輕量化的業(yè)務執(zhí)行層應用,如表單、視圖、統(tǒng)計、角色權(quán)限、報表、流程管理,是無代碼開發(fā)最擅長的領(lǐng)域。
3.低代碼的應用場景
低代碼兼具了無代碼和純代碼的技術(shù)特點,開發(fā)者是“專業(yè)開發(fā)者和公民開發(fā)者的融合團隊”,因此,低代碼平臺具備專業(yè)領(lǐng)域通用的特點,尤其是針對不太復雜的業(yè)務管理層應用,如供應鏈管理系統(tǒng)、客戶與訂單管理系統(tǒng)、線上商城、OA、CRM等,是低代碼開發(fā)最擅長的領(lǐng)域。
4.應用場景的區(qū)別與聯(lián)系
雖然上述三者在應用場景上存在一定區(qū)別,但是從各自擅長的領(lǐng)域來看,決策層應用適合純代碼開發(fā),管理層應用適合低代碼開發(fā),執(zhí)行層適合無代碼開發(fā),各有所長,互為補充。越簡單的應用,越契合低代碼和無代碼;越復雜的應用,越契合純代碼。
同時,由于低代碼、無代碼的應用更偏企業(yè)中、集層,而這些應用的需求量最大,所以可以得出如下判斷:低代碼能夠適用于大部分業(yè)務場景,如B2E類、B2B類和B2C類應用。
05
從經(jīng)濟性看三者的區(qū)別與聯(lián)系
1.純代碼的經(jīng)濟性
從純代碼的專業(yè)的技術(shù)特征可以得出,純代碼開發(fā)的工作量相對最大,交付最慢,軟件開發(fā)周期最長,可達數(shù)月甚至數(shù)年,總開發(fā)成本最高,從幾百萬元到幾千萬元不等。
2.無代碼的經(jīng)濟性
從無代碼的專業(yè)的技術(shù)特征可以得出,純代碼開發(fā)的工作量相對最小,交付最快,軟件開發(fā)周期最短,按分鐘小時計,總開發(fā)成本最低,部分小范圍的輕量級應用的成本接近于0。
3.低代碼的經(jīng)濟性
從無代碼的專業(yè)的技術(shù)特征可以得出,低代碼開發(fā)的工作量適中,交付較快,軟件開發(fā)周期較短,總開發(fā)成本最低。調(diào)研表明,使用低代碼搭建業(yè)務邏輯簡單的基礎(chǔ)應用和初級業(yè)務系統(tǒng)平均僅需1周,搭建業(yè)務邏輯較復雜的初級工業(yè)系統(tǒng)僅需1~2周,大幅縮短開發(fā)時間。100人的研發(fā)團隊通過低代碼開發(fā)應用,平均1年縮短應用開發(fā)時間92天,總節(jié)約成本20~35萬元。
4.經(jīng)濟性的區(qū)別與聯(lián)系
雖然上述三者在經(jīng)濟性上存在較大的區(qū)別,但因為各自的應用場景不同,因此不能簡單地認為經(jīng)濟性越好,對應的開發(fā)方法就越好。最重要的是要將三者有機整合,在滿足需求的基礎(chǔ)上,發(fā)揮各自在經(jīng)濟上的優(yōu)勢,使應用開發(fā)整體的經(jīng)濟性最優(yōu)。
06結(jié)語
本文從定義、技術(shù)特征、目標開發(fā)者、應用場景和經(jīng)濟性五個方面,分析了低代碼、純代碼和無代碼的區(qū)別和聯(lián)系,認為在選擇代碼開發(fā)方式時,要綜合考慮以下因素。
首先,考慮應用場景。比如針對復雜度高、客戶化強的應用,必須以純代碼的開發(fā)方式為主,兼顧低代碼或無代碼的開發(fā)方式。其次,考慮經(jīng)濟性。在滿足應用場景要求的前提下,哪種方式的經(jīng)濟指標越好,越應該優(yōu)先采用。最后,再綜合考慮技術(shù)特征和開發(fā)者的因素。
總之,純代碼、低代碼和無代碼不是相互替代的關(guān)系,而是各有優(yōu)勢,互為補充的關(guān)系。實際應用中,要根據(jù)應用場景的要求,取長補短,有效組合,發(fā)揮各自的優(yōu)勢。
來源:《網(wǎng)絡(luò)安全和信息化》雜志
作者:康世杰