低代碼開(kāi)發(fā)平臺(tái)的方案類型總結(jié)(低代碼開(kāi)發(fā)平臺(tái)優(yōu)缺點(diǎn))
低代碼開(kāi)發(fā)平臺(tái)這兩年突然呈爆發(fā)狀態(tài),各類低代碼廠商如雨后春筍般冒出。但究其根本,具體的形式都大同小異,基本可以總結(jié)為四類:表單類型、頁(yè)面區(qū)塊類型、表格(Excel)類型、類語(yǔ)言級(jí)類型。
以下對(duì)這幾種類型進(jìn)行大體描述,不涉及細(xì)節(jié),如果疏漏,歡迎交流。
一、表單類型
表單類型是低代碼開(kāi)發(fā)平臺(tái)最常見(jiàn)的一種形式。
表單的核心為表單編輯器,流程編輯器,部分低代碼開(kāi)發(fā)平臺(tái)還有業(yè)務(wù)流編輯器(對(duì)數(shù)據(jù)的增刪改流程進(jìn)行后續(xù)操作),有的低代碼開(kāi)發(fā)平臺(tái)業(yè)務(wù)編輯器與流程編輯器是一體的。
這類低代碼開(kāi)發(fā)平臺(tái)由表單編輯器出發(fā),根據(jù)表單組件的類型直接生成列表頁(yè),由其中的特殊組件(例如子表組件,關(guān)聯(lián)數(shù)據(jù)組件)定義關(guān)聯(lián)關(guān)系。
這類低代碼開(kāi)發(fā)平臺(tái)的列表頁(yè)面一般比較固定,基本上每一種頁(yè)面類型都需要定向(用代碼)擴(kuò)展。
在數(shù)據(jù)模型有了之后,一般由一個(gè)可視化數(shù)據(jù)編排工具,例如ETL,進(jìn)行數(shù)據(jù)的分析,生成圖表。
圖表展示頁(yè)一般由一個(gè)可拖拽的布局器去引用生成的圖表。
此類型一般用在一些比較簡(jiǎn)單的后臺(tái)數(shù)據(jù)管理、分析等場(chǎng)景,缺少一些更多場(chǎng)景的靈活性。
二、頁(yè)面區(qū)塊類型
以頁(yè)面為單元進(jìn)行編排,直接從菜單出發(fā),每新增一個(gè)菜單就是一個(gè)頁(yè)面,所有的數(shù)據(jù)建模都來(lái)自于頁(yè)面上存在的部分。
其核心為頁(yè)面編輯器,組件列表,以及一個(gè)邏輯編排器。
頁(yè)面編輯器中,由列表或者表單等形成數(shù)據(jù)建模,各個(gè)組件之間的邏輯關(guān)系,直接被解析為數(shù)據(jù)模型之間的關(guān)聯(lián)。
頁(yè)面上所有的部分都被解釋為組件,可以自建數(shù)據(jù)模型,也可以引用其他的模型。
此類低代碼開(kāi)發(fā)平臺(tái),弱化數(shù)據(jù)建模(后端邏輯)的獨(dú)立性,直接從菜單(或者路由)作為起點(diǎn),一切的邏輯都收縮頁(yè)面上存在。
只要頁(yè)面上的組件(包括有一定業(yè)務(wù)屬性的組件)足夠地豐富,邏輯編排的方式足夠地多,那么可覆蓋的場(chǎng)景就越廣。
此類型市面上也比較多,各類大屏編輯器也屬于這一類型,其能力強(qiáng)依賴于其組件的豐富程度和邏輯編排能力的完整度。
三、表格(Excel)類型
直接以表格進(jìn)行建模,利用Excel強(qiáng)大的函數(shù)公式能力。
這一類低代碼開(kāi)發(fā)平臺(tái)在幾年前比較常見(jiàn),現(xiàn)在的流行度逐漸在降低了。
直接以一張Excel表作為數(shù)據(jù)模型,定義每一列是什么意思。
所有的表單、表格、流程等,都表現(xiàn)為一個(gè)Excel表。
需要擴(kuò)充部分動(dòng)態(tài)的公式,甚至數(shù)據(jù)表之間的影響公式。
權(quán)限、組織、人員、菜單等都放在外面,其數(shù)據(jù)也可以由Excel管理。
由于Excel的流行性,這類低代碼開(kāi)發(fā)平臺(tái)的上手難度較低,尤其是對(duì)Excel比較熟悉的用戶來(lái)說(shuō),只需要稍微學(xué)習(xí)一點(diǎn)新的公式和編排邏輯即可上手。
但是同樣,由于這類平臺(tái)過(guò)于依賴于Excel,想做更復(fù)雜業(yè)務(wù)的時(shí)候,需要用戶對(duì)Excel的復(fù)雜功能和業(yè)務(wù)抽象邏輯都有極深地了解才能繼續(xù),無(wú)形中的學(xué)習(xí)成本實(shí)際上是極高的。
同時(shí),由于對(duì)Excel的依賴性,也喪失了一部分頁(yè)面上的靈活性。
這類低代碼開(kāi)發(fā)平臺(tái)常用于一些本身業(yè)務(wù)就依賴于Excel,同時(shí)對(duì)單據(jù)還原度要求比較高的場(chǎng)景。
四、類語(yǔ)言級(jí)類型
這類低代碼開(kāi)發(fā)平臺(tái)目前市場(chǎng)出現(xiàn)較少,嚴(yán)格來(lái)說(shuō)已經(jīng)快脫離低代碼平臺(tái)的范疇了。
這類開(kāi)發(fā)平臺(tái)將所有的操作都細(xì)化到一個(gè)最小單元,幾乎與寫(xiě)代碼等同,但是更強(qiáng)化可視化編排這個(gè)能力。
一般來(lái)說(shuō)這類低代碼開(kāi)發(fā)平臺(tái)比較像“古老“的VB語(yǔ)言,將所有的組件都拆分為 屬性、行為、事件。
然后用一個(gè)可視化語(yǔ)法樹(shù)的形式,允許你對(duì)各個(gè)組件的事件進(jìn)行捕獲,然后執(zhí)行一些其他的行為。如數(shù)據(jù)處理等,也是一個(gè)組件,主要用于可視化編排邏輯使用。
對(duì)于后端的邏輯處理也類似,提供幾個(gè)原生的系統(tǒng)能力組件,在可視化語(yǔ)法樹(shù)中進(jìn)行邏輯編排調(diào)用。
只要邏輯單元,系統(tǒng)能力單元,組件單元足夠豐富,“理論上”可以做到代碼能做的所有功能。(底層能力除外)
這類低代碼開(kāi)發(fā)平臺(tái)一般會(huì)提供完整的入門(mén)方案,生態(tài)市場(chǎng),擴(kuò)展文檔,調(diào)試流程、發(fā)布流程等,如一門(mén)語(yǔ)言一般??梢哉f(shuō)是一個(gè)可視化寫(xiě)代碼的方式。
上手難度較高,需要一定的編碼邏輯基礎(chǔ)才能上手,但是比較學(xué)一門(mén)語(yǔ)言的難度,還是要低一些的。
總結(jié):
所有低代碼開(kāi)發(fā)平臺(tái)都是在將代碼過(guò)程分塊后進(jìn)行某個(gè)方向的抽象,并進(jìn)行可視化邏輯編排,將最細(xì)節(jié)的那一部分代碼留在組件或者邏輯塊內(nèi)部,因此,這四種類型也可以認(rèn)為是四種邏輯抽象的方向。
而從目前來(lái)看,所有低代碼開(kāi)發(fā)平臺(tái)都無(wú)法完全地解決所有的問(wèn)題,其更像是一個(gè)同類業(yè)務(wù)模型的高級(jí)抽象,以便在短時(shí)間內(nèi)解決更多類似的問(wèn)題,甚至可以自動(dòng)化地解決一些問(wèn)題( 如果樣本足夠多,個(gè)人相信可以做到根據(jù)描述生成一部分的功能出來(lái) )。
大多數(shù)的低代碼開(kāi)發(fā)平臺(tái)都無(wú)法繞過(guò)元數(shù)據(jù)(數(shù)據(jù)建模)建立這一關(guān),表單組件的拖拽、列表組件的數(shù)據(jù)列、Excel的列定義、或者更直接的數(shù)據(jù)表定義等,可以說(shuō)都是在進(jìn)行數(shù)據(jù)建模。
大多數(shù)的低代碼開(kāi)發(fā)平臺(tái)都在弱化元數(shù)據(jù)的具體概念,將其分化到各個(gè)操作之中。
大多數(shù)的低代碼開(kāi)發(fā)平臺(tái)都留有一定的代碼擴(kuò)展性,例如表單代碼塊,腳本,組件生命周期,或者直接就是組件的擴(kuò)展等,以應(yīng)對(duì)過(guò)于復(fù)雜的業(yè)務(wù)邏輯。
從某種程度上來(lái)說(shuō),留下的代碼擴(kuò)展點(diǎn)越少,代表其抽象程度越高,但是抽象程度越高可能配置的過(guò)程就會(huì)越繁瑣,有些部分甚至不比寫(xiě)代碼的工作量小,因此需要在具體場(chǎng)景下去平衡抽象組件與代碼擴(kuò)展點(diǎn)。