低代碼平臺(tái)選型,你一定要知道的9個(gè)點(diǎn)(低代碼平臺(tái)選型,你一定要知道的9個(gè)點(diǎn)是什么)
目前低代碼技術(shù)正處在風(fēng)口,低代碼平臺(tái)產(chǎn)品不斷涌現(xiàn),亂花漸欲迷人眼。作為軟件公司或企業(yè)IT部門的負(fù)責(zé)人,在做低代碼平臺(tái)選型時(shí)需要關(guān)注哪些方面,才能順利“上車”,讓低代碼為自己的團(tuán)隊(duì)賦能?
除了產(chǎn)品功能是否滿足當(dāng)前項(xiàng)目需求,價(jià)格是否在預(yù)算范圍內(nèi)之外,以下幾個(gè)問題的答案同樣重要。
Q1:是否支持協(xié)同開發(fā)和版本管理?
項(xiàng)目開發(fā)過程中,我們難免遇到客戶反饋某個(gè)新開發(fā)的功能沒有用,但是過一段時(shí)間以后反悔,又希望加回來的情況。這是軟件開發(fā)的常態(tài)。為了解決這一問題,傳統(tǒng)的軟件開發(fā)團(tuán)隊(duì)都會(huì)引入版本管理機(jī)制,低代碼也不例外。面對(duì)頻繁的需求變更、棘手的問題排查,低代碼平臺(tái)的版本管理,特定模塊回滾等操作的價(jià)值就會(huì)體現(xiàn)出來。
此外,為了加速項(xiàng)目的交付速度,我們通常需要集中更多人員進(jìn)行同步開發(fā)。只有具備協(xié)同開發(fā)能力的低代碼平臺(tái)才能讓這一過程變得可管理,避免混亂。
所以,不論項(xiàng)目規(guī)模大小,選擇一款兼容主流代碼庫、支持敏捷開發(fā)的低代碼平臺(tái)都會(huì)對(duì)開發(fā)工作有所幫助。
(Git:一款主流的版本控制系統(tǒng),圖片來自Git官網(wǎng))
Q2:是否支持自由設(shè)計(jì)數(shù)據(jù)庫結(jié)構(gòu)?
數(shù)據(jù)庫是所有企業(yè)管理軟件的“地基”。為了后續(xù)功能的開發(fā)更加方便,擴(kuò)展性更強(qiáng),維護(hù)性更佳,良好的數(shù)據(jù)庫設(shè)計(jì)至關(guān)重要。這個(gè)點(diǎn)是企業(yè)軟件自身的屬性決定的,無論是低代碼還是傳統(tǒng)的純代碼,都不會(huì)有變化。
事實(shí)上,軟件開發(fā)技術(shù)發(fā)展到今天,數(shù)據(jù)庫設(shè)計(jì)的最佳實(shí)踐早已被總結(jié)成了久經(jīng)考驗(yàn)的數(shù)據(jù)庫設(shè)計(jì)范式。低代碼開發(fā)平臺(tái)是否能夠?qū)﹂_發(fā)者開放數(shù)據(jù)庫結(jié)構(gòu)的自由設(shè)計(jì)能力,能夠讓開發(fā)者基于數(shù)據(jù)庫設(shè)計(jì)范式不斷優(yōu)化數(shù)據(jù)結(jié)構(gòu),直接決定了該平臺(tái)的專業(yè)性。如果你需要開發(fā)高標(biāo)準(zhǔn)的核心業(yè)務(wù)應(yīng)用,或者對(duì)應(yīng)用后期的可擴(kuò)展性、可維護(hù)性有要求,那么數(shù)據(jù)庫設(shè)計(jì)能力在評(píng)估過程中至關(guān)重要。
(滿足設(shè)計(jì)范式要求的數(shù)據(jù)庫結(jié)構(gòu)示意圖,圖片來自網(wǎng)絡(luò))
Q3:能否靈活自由地設(shè)計(jì)顯示頁面?
不同的企業(yè)、不同的用戶都的使用習(xí)慣和審美風(fēng)格具有差異化。即便面對(duì)同樣的業(yè)務(wù)需求,客戶對(duì)軟件的頁面呈現(xiàn)和交互也會(huì)有完全不同的要求。舉例來說,客戶A比較喜歡在頁面的右上角尋找提交按鈕;客戶B可能習(xí)慣于提交按鈕出現(xiàn)在頁面的正下方,客戶C則對(duì)提交按鈕放到頁面的右下角的設(shè)計(jì)更加青睞。于是我們需要為不同的客戶做不同的頁面布局,以縮減使用培訓(xùn)成本,提升用戶的滿意度。
類似的問題和解決方案,我相信您在多年的軟件交付經(jīng)驗(yàn)中已有體會(huì)。當(dāng)然這里舉例可能是冰山一角,客戶對(duì)頁面布局和樣式風(fēng)格的差異化要求遠(yuǎn)不止于此。如果您認(rèn)可滿足用戶的使用習(xí)慣,適配公司的設(shè)計(jì)風(fēng)格的重要性,那么請(qǐng)盡量選擇支持靈活自由設(shè)計(jì)顯示頁面的低代碼平臺(tái),以確保我們?cè)陧?xiàng)目開發(fā)和交付時(shí)不會(huì)陷入被動(dòng)。
(使用同款低代碼平臺(tái)開發(fā)不同樣式的表格,圖片來自活字格官網(wǎng))
Q4:能否支持前后端分離的系統(tǒng)架構(gòu),后端復(fù)雜邏輯如何解決?
正如前面所說,軟件行業(yè)發(fā)展了多年,沉淀出了很多最佳實(shí)踐。與數(shù)據(jù)庫設(shè)計(jì)范式類似的,還有前后端分離,數(shù)據(jù)庫讀寫分離等等。上一點(diǎn)重點(diǎn)講了前端,這里則要將目光轉(zhuǎn)向后端。
在前后端分離架構(gòu)的支撐下,不論是軟件公司還是企業(yè)IT團(tuán)隊(duì),在發(fā)展的過程中都會(huì)積累出自己的“核心數(shù)字資產(chǎn)”,這些資產(chǎn)往往表現(xiàn)在一些后臺(tái)業(yè)務(wù)復(fù)雜邏輯計(jì)算方法(有的可能還會(huì)包含一些用于調(diào)優(yōu)的“魔法數(shù)字”)。后臺(tái)的邏輯復(fù)雜度高、技術(shù)積累價(jià)值大,相對(duì)較為穩(wěn)定。如何用低代碼實(shí)現(xiàn)后端復(fù)雜的業(yè)務(wù)邏輯,持續(xù)積累“核心數(shù)字資產(chǎn)”,是低代碼平臺(tái)必須解決的問題。在做技術(shù)評(píng)估時(shí),千萬別忘了這些運(yùn)行在后臺(tái),沒有任何界面的邏輯,因?yàn)檫@些才是系統(tǒng)和開發(fā)團(tuán)隊(duì)的核心競(jìng)爭(zhēng)力。
(前后端分離,圖片來自網(wǎng)絡(luò))
Q5:是否有全系統(tǒng)模塊的解決方案?
在實(shí)際項(xiàng)目交付過程中,如果我們僅可以滿足99%的需求,另外1%的需求滿足不了,真實(shí)用戶大概率是不會(huì)買單的。因此,在評(píng)估低代碼產(chǎn)品的時(shí)候,我們一定要保證該平臺(tái)可以支撐所有系統(tǒng)模塊類型的開發(fā),至少也要有足夠的擴(kuò)展性,可以確保使用純代碼開發(fā)出的模塊能夠與低代碼模塊進(jìn)行無縫集成。
考慮到巨大的生產(chǎn)力差距,低代碼平臺(tái)覆蓋的模塊越多,整個(gè)項(xiàng)目的開發(fā)效率也會(huì)越高。那么,企業(yè)軟件通常會(huì)涉及哪些類型的模塊呢?我將其中最常見的列舉如下:
- 多終端頁面
- 可精確打印的報(bào)表
- 圖表構(gòu)成的可視化大屏
- 自動(dòng)化任務(wù)
Q6:如何保證開發(fā)出應(yīng)用的系統(tǒng)安全性?
安全性對(duì)任何一個(gè)系統(tǒng)都至關(guān)重要。使用低代碼平臺(tái)所開發(fā)出的應(yīng)用中,絕大多數(shù)邏輯都是低代碼開發(fā)者自行構(gòu)建的,而不是出自低代碼平臺(tái)廠商。所以,我們很難通過平臺(tái)的安全性報(bào)告來簡(jiǎn)單評(píng)判開發(fā)出應(yīng)用的安全性,這就相當(dāng)于沒人關(guān)心Visual Studio和eclipse的安全報(bào)告一樣。
這并不意味著我們不需要關(guān)心低代碼平臺(tái)自身的安全性。那么,我們?cè)撊绾慰创痛a平臺(tái)的安全性,如何評(píng)估使用該平臺(tái)開發(fā)出應(yīng)用的安全性?以下幾點(diǎn)值得參考:
- 該低代碼平臺(tái)是否有金融或者銀行業(yè)的客戶?這些行業(yè)一般對(duì)安全性要求比較高,他們能用一般行業(yè)肯定可以使用
- 在評(píng)估階段,您可以基于該平臺(tái)創(chuàng)建一個(gè)demo程序,并對(duì)這個(gè)demo做安全性檢查,下面是一些安全檢查的工具或者產(chǎn)品:ZAP – OWASP(免費(fèi))、SonarQube – SonarWorks(收費(fèi))、Burp Suite – PortSwigger(收費(fèi))、AppScan – IBM(收費(fèi))
(OWASP的ZAP檢測(cè)工具,圖片來自ZAP官網(wǎng))
Q7:平臺(tái)是否獨(dú)立,能夠不依賴其他第三方的產(chǎn)品?
這個(gè)點(diǎn)聽上去有些奇怪,為什么會(huì)有低代碼平臺(tái)依賴特定的第三方產(chǎn)品?這就與國(guó)內(nèi)低代碼所處的發(fā)展階段有關(guān)了。我來舉兩個(gè)例子:
- 有的產(chǎn)品說他是Excel的設(shè)計(jì)模式,但是其實(shí)他們所有的頁面設(shè)計(jì)都是在Excel中,甚至訪問時(shí)也是在Excel中訪問,聽起來沒什么大問題,但是這其中有一個(gè)非常重要的點(diǎn),Excel經(jīng)常會(huì)更新Excel2008,Excel2010,Excel2016,….,這樣每一次Excel升級(jí),您都需要重新購(gòu)買一次他們這個(gè)平臺(tái)了;
- 有的低代碼產(chǎn)品說自己是B/S架構(gòu),但是你必須安裝他們特定的瀏覽器才能訪問,這跟C/S架構(gòu)的系統(tǒng)有什么區(qū)別?
為了確保后面的開發(fā)和部署過程可控,我推薦您優(yōu)先選擇獨(dú)立的低代碼平臺(tái)。如果因?yàn)槠渌蛐枰x擇一款依賴特定的第三方軟件,如數(shù)據(jù)庫、Web服務(wù)器等的低代碼平臺(tái),則需要將這些依賴的軟件納入部署清單和操作手冊(cè)。
Q8:是否會(huì)產(chǎn)生新的“數(shù)據(jù)孤島”?
數(shù)據(jù)孤島這個(gè)概念從提出到現(xiàn)在,一直是企業(yè)信息化行業(yè)最希望解決的問題。作為新一代的軟件開發(fā)技術(shù),我們不需要使用低代碼開發(fā)出來的應(yīng)用成為新的數(shù)據(jù)孤島。所以,不論是連接現(xiàn)有的數(shù)據(jù)庫,還是支持通過Web API與其他軟件互通,低代碼都必須具有開放性,不能產(chǎn)生新的數(shù)據(jù)庫孤島。
跟進(jìn)一步,如果該低代碼平臺(tái)可以幫助我們解決企業(yè)的數(shù)據(jù)孤島問題,將多個(gè)系統(tǒng)打通,通過整合多源數(shù)據(jù)實(shí)現(xiàn)協(xié)同增效,那就更是一個(gè)加分項(xiàng)目了。
(數(shù)據(jù)孤島現(xiàn)象,圖片來自網(wǎng)絡(luò))
Q9:該平臺(tái)的產(chǎn)品生態(tài)建設(shè)如何,是否有激勵(lì)機(jī)制?
聚沙成塔,如果一個(gè)低代碼產(chǎn)品選擇孤軍奮戰(zhàn),沒有生態(tài),大概率是不能長(zhǎng)久的。對(duì)于低代碼開發(fā)平臺(tái),生態(tài)的價(jià)值主要體現(xiàn)在以下兩個(gè)方面:
- 模板:模板也叫開發(fā)成果,是指開發(fā)者使用低代碼平臺(tái)為特定行業(yè)或場(chǎng)景構(gòu)建的“半成品”系統(tǒng)?;诎氤善愤M(jìn)行二次開發(fā),可以進(jìn)一步提升企業(yè)應(yīng)用的構(gòu)建速度。成熟的低代碼平臺(tái)通常具備模板市場(chǎng),通過商務(wù)和技術(shù)手段,鼓勵(lì)開發(fā)者將自己使用該平臺(tái)開發(fā)出的應(yīng)用放在市場(chǎng)中分享或銷售,打造“人人為我,我為人人”的正向循環(huán)。
- 插件:低代碼平臺(tái)通常會(huì)開放插件機(jī)制,以吸引更多開發(fā)者封裝自己開發(fā)的“模塊”。插件和平臺(tái)在一起運(yùn)行,讓低代碼平臺(tái)的應(yīng)用場(chǎng)景更豐富。事實(shí)上,一家平臺(tái)廠商的技術(shù)能力再?gòu)?qiáng),也不能全部滿足客戶的所有需求。只有開放插件機(jī)制,建立插件付費(fèi)環(huán)境,才能讓廣大的開發(fā)者都參于進(jìn)來,共同打造更強(qiáng)大的平臺(tái)。
低代碼平臺(tái)生態(tài)的關(guān)鍵在于如何建立長(zhǎng)效激勵(lì)機(jī)制,實(shí)現(xiàn)正向循環(huán),通俗的理解就是讓生態(tài)上游的開發(fā)者可以通過付費(fèi)機(jī)制獲得合理的回報(bào)。我們相信,只有提供長(zhǎng)效激勵(lì)機(jī)制的平臺(tái)生態(tài)才能持久。
(多種連接器插件,圖片來自Power Apps官網(wǎng))
小結(jié)
在低代碼平臺(tái)的井噴期,使用者更應(yīng)該擦亮眼睛,選擇合適的平臺(tái)產(chǎn)品,充分利用新技術(shù)帶來的新價(jià)值、新動(dòng)能。上面九個(gè)問題,就是我為您整理的低代碼技術(shù)選型思路,希望能夠幫正在評(píng)估低代碼平臺(tái)的軟件公司和企業(yè)IT部門少走彎路,抓住時(shí)代潮流,開啟低代碼之旅。