低代碼:可視化邏輯編排選型(低代碼設(shè)計)

編輯導(dǎo)讀:業(yè)務(wù)邏輯的代碼繁瑣且無用,只能讓程序員在做低水平的重復(fù)工作。有痛點就會有需求,一些低代碼平臺推出了可視化邏輯編排能力,能夠很好地解決這個問題。本文作者對此進行了分析,希望對你有幫助。

低代碼:可視化邏輯編排選型(低代碼設(shè)計)

一、業(yè)務(wù)邏輯代碼在軟件工程中的地位

在企業(yè)中開發(fā)一個業(yè)務(wù)系統(tǒng),公認最頻繁和最無用的就是寫業(yè)務(wù)邏輯的代碼,這些代碼工作本身并不能提升程序員的綜合實力,只能讓程序員在做低水平的重復(fù)鍛煉,這里面的業(yè)務(wù)邏輯代碼可能會涉及很多很多框架、性能、新技術(shù)上的處理,但是應(yīng)用這些內(nèi)容和業(yè)務(wù)邏輯代碼本身沒有關(guān)系,程序員應(yīng)該更多地把精力放在提升自己的核心競爭力上。

那么有需求就有市場,一些服務(wù)能力也順應(yīng)而生,我們這次來認識一下低代碼平臺中的可視化邏輯編排能力。

二、什么是可視化邏輯編排

如果把程序猿寫代碼的過程視作不可視的,那可視就是把程序猿寫代碼的過程做了一層交互設(shè),讓普羅大眾看著更容易去理解程序猿寫代碼這個過程甚至能上手操作,那可視化邏輯編排,就是在可視化的基礎(chǔ)上加入特點場景,比如無腦的P圖軟件就是把PS這種針對像素點的處理能力做了一層簡單的封裝,降低了用戶的使用門檻;低代碼平臺的可視化邏輯編排,就是把程序猿通過IDE寫代碼的過程做了一層封裝,降低用戶的使用門檻甚至提升開發(fā)效率。

三、類代碼的可視化邏輯編排

1. 微搭-事件

微搭的事件由【觸發(fā)條件】 【執(zhí)行動作】&【動作參數(shù)】組成。

業(yè)務(wù)場景舉例:當前按鈕點擊后需要重定向至指定頁面。

低代碼:可視化邏輯編排選型(低代碼設(shè)計)

我們可以通過平臺提供的重定向的方法,給按鈕組件配置一個觸發(fā)條件,如【tap點擊】,當組件被點擊事件觸發(fā)后,則會重定向到我們配置的定向頁面去,即:

從下圖看到微搭的邏輯編排是以組件的動作為主體來進行活動的,多個動作會進行排列展示,也就意味著整個業(yè)務(wù)邏輯編排會變成一個個散點分布在頁面組件上,用戶如果需要知道具體的邏輯需要點進去每個組件的每個動作進行查看。

2. Ivx-事件流

Ivx的事件流由【觸發(fā)事件】 【前置條件】 【目標對象】 【執(zhí)行動作】&【動作參數(shù)】組成。

場景舉例:每觸發(fā)一次按鈕點擊,則自動新增一行表單錄入來給用戶錄入,以達到添加多條記錄的效果。

低代碼:可視化邏輯編排選型(低代碼設(shè)計)

Ivx的編排機制比較復(fù)雜,這里我們需要先構(gòu)建一個區(qū)塊,這個區(qū)塊包含了我們需要的按鈕與表單輸入控件,然后我們需要實現(xiàn)的效果是點擊按鈕自動新增對應(yīng)的表單組件來錄入多條記錄(注意這里不是表格組件新增行);Ivx這里提供的是一種按編程思維進行的邏輯編排形式,我們需要在上面創(chuàng)建好的區(qū)塊內(nèi)創(chuàng)建好表單錄入對應(yīng)的數(shù)據(jù)源組件(二維數(shù)組組件)以及邏輯組件(for循環(huán)創(chuàng)建組件),然后通過按鈕的事件流來觸發(fā)數(shù)組的數(shù)據(jù)改變,再通過數(shù)組組件的數(shù)據(jù)變化來觸發(fā)循環(huán)創(chuàng)建行為,從而添加多行表單記錄組件。

其中按鈕的事件流我們可以看到它通過【點擊】事件觸發(fā)【二維數(shù)組】這個對象,讓它做【添加一行數(shù)據(jù)】的行為。

四、流程圖化的可視化邏輯編排

1. Mendix-微流

Mendix的微流采用了BPMN標準化圖形符號來進行業(yè)務(wù)邏輯的編排,這里需要普及一下BPMN是個啥東西:BPMN – Business Process Modeling Notation,業(yè)務(wù)流程建模符號,粗暴一點理解,BPM要通過流程圖表達,BPMN定義好了標準的圖例,用戶使用標準圖例來畫流程圖,只是這個流程圖表達了一個強業(yè)務(wù)語義強邏輯的流程。

場景舉例:在詳情頁中當用戶輸入姓名失焦后時間字段自動獲取當前時間。

低代碼:可視化邏輯編排選型(低代碼設(shè)計)

Mendix的邏輯編排的核心思想是把控制顆粒度細化到后端實體屬性然后把設(shè)計好的微流掛載在前端頁面元素的事件上進行觸發(fā),所以我們先進入Mendix的微流設(shè)計器,針對我們的場景我們做了這樣的一個邏輯假設(shè),當系統(tǒng)判斷姓名字段不是空的時候,就給時間字段賦值當前系統(tǒng)時間;那懂流程圖的看圖應(yīng)該也能看出來這個條件判斷邏輯,再選中節(jié)點來看具體節(jié)點的邏輯,就能知道我們這個微流是怎么轉(zhuǎn)的,最后系統(tǒng)怎么執(zhí)行這個微流,就是靠頁面上的【姓名】字段的輸入框組件對應(yīng)的【on change aciton】上,當輸入框的值變化時則會觸發(fā)對應(yīng)的微流,從而實現(xiàn)我們上述的場景。

2. 宜搭-審批流

相比起Mendix的微流,宜搭的審批流就像是微流的定制版,只用于一些審批流程的設(shè)置。

場景舉例:公司采購進出貨商品流程,根據(jù)一定進貨商品數(shù)量做審批。

低代碼:可視化邏輯編排選型(低代碼設(shè)計)

雖說宜搭的審批流像是Mendix微流的定制版,但是用法卻大大不同,宜搭不是領(lǐng)域驅(qū)動設(shè)計導(dǎo)向,而是表單驅(qū)動設(shè)計,所以它的審批流是建立在流程表單已經(jīng)設(shè)計好的基礎(chǔ)上,根據(jù)用戶設(shè)計的流程表單進行審批流的編排;宜搭的審批流設(shè)計就是拉一堆節(jié)點出來做條件判斷和具體執(zhí)行,比如我設(shè)置進貨數(shù)量大于等于200個的情況需要兩個角色審批,進貨數(shù)量小于200個的情況只需一個角色審批,即可通過以下流程圖實現(xiàn)。

五、文字表達與圖形表達

大家看完上面兩大類的可視化編排形式,有沒有什么感受呢?如果說類代碼的可視化編排是一種文字表達,流程圖話的邏輯編排是一種圖形表達,那這個分析點就可以轉(zhuǎn)換為文字表達與圖形表達兩種表達方式的對比了。

這里不得不從文字的起源說起,象形文字,就是對原始圖形的一個符號性的描述,一開始的象形文字都和對應(yīng)的實物長得很像,往后發(fā)展才變成了我們現(xiàn)在的文字,然后我們又會用文字來描述圖形,同樣的也會用圖形的表達文字;那么圖形和文字哪個的表達力更強呢?其實沒有一個絕對的說法;比如古代詩人的詩詞寥寥數(shù)語,要用什么圖形才能清晰表達呢?又好像“太極”兩個字,再說一百遍都不如黑白兩儀圖形生動。

六、針對兩類邏輯編排工具進行分析比對

那既然從原始的表達形式來討論分析不出個優(yōu)劣,那我們從應(yīng)用層面來反證:邏輯編排,都少不了節(jié)點,那么節(jié)點的顆粒度大小就很影響編排的實現(xiàn)形式;

如果邏輯節(jié)點的抽象程度足夠高,不需要過多地去定制化邏輯節(jié)點,那么流程圖化的邏輯編排則適用;

如果數(shù)據(jù)流線路畢竟復(fù)雜,邏輯節(jié)點無法通過抽象進行復(fù)用,再應(yīng)用流程圖化的邏輯編排則會使得整個邏輯編排變得十分復(fù)雜,幾乎不可維護;這時候就需要類代碼的邏輯編碼,并且邏輯節(jié)點的顆粒度也得足夠細;

原則:流程圖編排不適合過于復(fù)雜的邏輯編排,太多復(fù)雜的邏輯需要使用類代碼的可視化編排。

七、感悟

企業(yè)在考慮應(yīng)用低代碼平臺或者自己生產(chǎn)低代碼平臺,建議尋找某些原則之后才來進行相對應(yīng)的規(guī)劃設(shè)計與落地,上述原則不一定適用每個場景,只是希望每個低代碼領(lǐng)域的踐行者都能往前踏一步,哪怕是一小步,大家去探索不一樣的方向,給這個領(lǐng)域添燈添火!

本文由 @陳起gogogo 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部