企業(yè)自建低代碼開(kāi)發(fā)平臺(tái)的簡(jiǎn)單實(shí)現(xiàn)(企業(yè)級(jí)低代碼開(kāi)發(fā)平臺(tái))
在大家還沒(méi)弄明白信息化和數(shù)字化區(qū)別的時(shí)候,數(shù)字化轉(zhuǎn)型無(wú)疑已經(jīng)成了一個(gè)所有企業(yè)都無(wú)法避免的大名詞和大問(wèn)題。
信息化是業(yè)務(wù)的數(shù)據(jù)化搜集,數(shù)字化則是依托數(shù)據(jù)的業(yè)務(wù)化創(chuàng)新,低代碼開(kāi)發(fā)平臺(tái)則是一個(gè)企業(yè)數(shù)字化轉(zhuǎn)型必不可少的的基礎(chǔ)架構(gòu)之一。那么企業(yè)如何選擇自己的低代碼開(kāi)發(fā)平臺(tái)呢?
當(dāng)然,目前市面上有很多提供低代碼開(kāi)發(fā)平臺(tái)的服務(wù)商,主流低代碼開(kāi)發(fā)平臺(tái)我也都逐個(gè)試用過(guò),這些平臺(tái)的成熟度都比較高,個(gè)人也都蠻認(rèn)可的,但是有幾個(gè)問(wèn)題,不太適合企業(yè)使用,第一:這些平臺(tái)無(wú)疑都是SaaS的,要想部署到企業(yè)私有云,恐怕需要支付一大筆費(fèi)用;第二,這些低代碼平臺(tái)考慮的通用因素比較多,但是企業(yè)一般都拿低代碼做自己的創(chuàng)新業(yè)務(wù),其實(shí)只使用了低代碼開(kāi)發(fā)平臺(tái)的一小部分功能,大部分功能用不上,又不得不學(xué)所有功能,學(xué)習(xí)成本和學(xué)習(xí)曲線很高;第三,企業(yè)的核心業(yè)余特別復(fù)雜,低代碼開(kāi)發(fā)平臺(tái)很難實(shí)施出企業(yè)的核心業(yè)務(wù)的界面、邏輯,只能依靠靈活的架構(gòu)定制開(kāi)發(fā)來(lái)實(shí)現(xiàn),具體到企業(yè)技術(shù)落地,要么拿不到這些廠商的源代碼,要么這些廠商源代碼特別復(fù)雜,改造起來(lái)幾乎不可能,所以基于一個(gè)簡(jiǎn)單低代碼開(kāi)發(fā)平臺(tái),進(jìn)行個(gè)性化改造,個(gè)人認(rèn)為這是目前企業(yè)上低代碼開(kāi)發(fā)平臺(tái)的一個(gè)理性的選擇。
對(duì)于低代碼開(kāi)發(fā)平臺(tái)的定位,我個(gè)人的總結(jié),40%的非核心業(yè)務(wù)的功能,例如基礎(chǔ)數(shù)據(jù)的收集、簡(jiǎn)單業(yè)務(wù)的實(shí)現(xiàn),可以依賴基本的低代碼開(kāi)發(fā)平臺(tái)實(shí)施出來(lái);30%獨(dú)有的核心業(yè)務(wù)功能,依賴靈活的架構(gòu)定制開(kāi)發(fā)來(lái)解決實(shí)際問(wèn)題;剩余30%復(fù)用性比較高的業(yè)務(wù)邏輯,可以做成一個(gè)一個(gè)插件,最開(kāi)始是個(gè)性化定制,然后慢慢通用化,逐步加入到自定義的低代碼開(kāi)發(fā)平臺(tái)內(nèi)。
那么一個(gè)企業(yè)如何自建自己的低代碼開(kāi)發(fā)平臺(tái)呢?一個(gè)低代碼開(kāi)發(fā)平臺(tái),一般包含如下可視化功能:
(1)數(shù)據(jù)庫(kù)表設(shè)計(jì);
(2)前端界面拖拽可視化;
(3)能夠插入邏輯層代碼和業(yè)務(wù)規(guī)則;
(4)能夠?qū)?span id="gkep7e9w" class="candidate-entity-word" data-gid="18757583">BPM流程引擎;
從上圖中,可以看出,頁(yè)面建模,是低代碼開(kāi)發(fā)平臺(tái)的核心技術(shù)。市面上開(kāi)源的也大都是界面建模,包括阿里巴巴旗下釘釘也都開(kāi)放出自己的源代碼,其它還有百度、騰訊也都有自己頁(yè)面建模的解決方案,開(kāi)源出來(lái),供大家參考。
關(guān)于頁(yè)面建模的技術(shù)選型,與其他企業(yè)開(kāi)發(fā)技術(shù)一樣,無(wú)外乎Vue和React、Angular三種的一種,如果團(tuán)隊(duì)中沒(méi)有一個(gè)偏好,個(gè)人建議選擇Vue,因?yàn)閂ue在國(guó)內(nèi)生態(tài)好,程序員好招聘,價(jià)格也不貴。
關(guān)于流程建模的選擇,流程引擎無(wú)外乎Activiti或者Flowable,他們本是一家的,核心技術(shù)人員理念不一致吧,就各自分家了,選擇其中一個(gè)即可。關(guān)于流程引擎的可視化界面,我看開(kāi)源絕大部分選擇,都是選擇了bpmn.io,在此基礎(chǔ)上,基于VUE或者React做了二次開(kāi)發(fā),界面如下:
個(gè)人不喜歡提到業(yè)務(wù)流程,就是這種千篇一律的界面,再說(shuō)這種界面,操作起來(lái),Bug也比較多,所以我個(gè)人做了其他選擇,關(guān)于低代碼技術(shù)架構(gòu)的細(xì)節(jié),我后續(xù)還會(huì)寫(xiě)文章全部吐出來(lái)。
關(guān)于低代碼開(kāi)發(fā)的后端引擎,Java、Spring Cloud、Spring boot則是最佳選擇。我所做低代碼開(kāi)發(fā)技術(shù)架構(gòu)圖如下:
(待續(xù)…)