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