是“玩具”還是神作?低代碼平臺(tái)真的是下一個(gè)千億級(jí)賽道嗎?(這四個(gè)才是真正的低代碼平臺(tái))
近年來(lái),低代碼平臺(tái)非?;?,尤其是Mendix和Outsystems的收購(gòu)及融資后,很多人越來(lái)越相信,低代碼平臺(tái)或?qū)⒊蔀槔^云計(jì)算之后,又一個(gè)千億級(jí)賽道。
什么是低代碼平臺(tái)
那么什么是低代碼平臺(tái)呢?
一般來(lái)說(shuō),低代碼開發(fā)平臺(tái)是指不同水平的開發(fā)人員,甚至是沒有任何開發(fā)經(jīng)驗(yàn)的人,可以通過(guò)可視化用戶界面,使用拖拽組件和模型驅(qū)動(dòng)的邏輯,來(lái)創(chuàng)建網(wǎng)頁(yè)或者移動(dòng)應(yīng)用程序的平臺(tái)。
創(chuàng)建應(yīng)用程序的過(guò)程,就好像拼圖一樣,將一個(gè)一個(gè)不同的模塊拼接起來(lái),最終組合形成應(yīng)用程序。
由于低代碼平臺(tái)仍然處于初級(jí)階段,對(duì)它的定義較為模糊,市面上也出現(xiàn)了不同形式的實(shí)現(xiàn)方式,常見的有以下幾種:
- 完全簡(jiǎn)化前后端的開發(fā),用戶甚至可以不寫代碼搭建應(yīng)用程序,不過(guò)靈活性較差;
- 在線IDE和編輯器,頁(yè)面采用了可視化設(shè)計(jì),方便開發(fā)者組合模塊,但仍然需要寫少量的代碼進(jìn)行二次開發(fā),才能正常使用;
- 簡(jiǎn)化前端開發(fā),開發(fā)者不再需要寫前端代碼;
- 簡(jiǎn)化后端開發(fā),即開發(fā)者只需要寫前端代碼,后端可以在線設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)增刪改查功能;
- 提供一站式開發(fā)平臺(tái),提供持續(xù)集成、部署和運(yùn)維等功能,以幫助開發(fā)者提升效率為目的;
低代碼要解決什么問題
“低代碼”概念的出現(xiàn),形成了兩種極端的觀點(diǎn)。
由于目前“低代碼”還處于初級(jí)階段,產(chǎn)品并不成熟,很多時(shí)候開發(fā)效率反而不如直接寫代碼快,很多專業(yè)開發(fā)人員認(rèn)為,所謂“低代碼”就是個(gè)玩具,根本不能被應(yīng)用于開發(fā)工作中。
另一種觀點(diǎn)以普通人為代表,認(rèn)為低代碼平臺(tái)大幅降低了開發(fā)應(yīng)用程序的門檻,不懂代碼也能開發(fā)程序,以后程序員就要失業(yè)了。
這兩種觀點(diǎn),其實(shí)都不太正確。
低代碼平臺(tái)只能解決“效率”的問題,而不能解決“寫代碼”的問題。
常見的低代碼平臺(tái),實(shí)現(xiàn)方式有以下幾種:
1.提供一種簡(jiǎn)化版的DSL,類似excel的公式;
2.提供圖形化代碼編輯器;
3.支持寫代碼或外部api擴(kuò)展;
4.平臺(tái)內(nèi)置實(shí)現(xiàn);
前三種都要求使用者會(huì)寫代碼,或者至少懂實(shí)現(xiàn)邏輯,還做不到完全零代碼、零經(jīng)驗(yàn)。
如果某一個(gè)需求很常見,那么可以使用平臺(tái)內(nèi)置來(lái)實(shí)現(xiàn)需求。比如淘寶實(shí)際上就是一個(gè)低代碼平臺(tái),它將許多常見的電商功能都集成進(jìn)去,商家可以根據(jù)需求組合使用這些功能,還可以個(gè)性化設(shè)計(jì)自己的店鋪。
顯然,低代碼平臺(tái)可以解決“開發(fā)效率”的問題,但是,如果需求不常見,開發(fā)人員仍然要寫代碼進(jìn)行開發(fā)。
目前來(lái)看,這一階段的低代碼平臺(tái),還不太可能被用于創(chuàng)建To C的應(yīng)用程序,因?yàn)檫@類應(yīng)用一般是公司的主營(yíng)業(yè)務(wù),需要足夠高的靈活性、自主可控性,對(duì)定制需求、展現(xiàn)也有較高的要求,是不可能通過(guò)低代碼平臺(tái)中的組件實(shí)現(xiàn)的。如果需要使用大量的代碼進(jìn)行拓展,還不如自己開發(fā)效率高。
低代碼平臺(tái)面臨的問題
盡管低代碼平臺(tái)能大幅提高開發(fā)效率,但它仍然存在許多問題,這些問題制約了平臺(tái)的發(fā)展。
1.學(xué)習(xí)成本
所有低代碼平臺(tái),均使用了內(nèi)部獨(dú)立的框架,使用者需要付出額外的學(xué)習(xí)成本。
2.黑盒子
由于使用者不清楚功能是如何被平臺(tái)實(shí)現(xiàn)的,如產(chǎn)生bug、性能等問題,只能等待平臺(tái)解決,當(dāng)平臺(tái)還無(wú)法滿足需求時(shí),也只能等平臺(tái)升級(jí)。
3.功能繁雜
由于不能像本地代碼那樣進(jìn)行全局搜索,低代碼平臺(tái)信息分布在各個(gè)地方,不利于查找所需的功能組件。
4.多人協(xié)作困難
低代碼平臺(tái)很難做到分支管理,不方便多人協(xié)作。
低代碼平臺(tái)既不會(huì)像普通人覺得的那樣美好,也不會(huì)像專業(yè)人士那樣覺得糟糕透頂。在某些特定領(lǐng)域,低代碼平臺(tái)會(huì)取得成功,比如面向客戶的應(yīng)用極有可能失敗,但如果應(yīng)用在企業(yè)內(nèi)部應(yīng)用,低代碼平臺(tái)很有可能發(fā)揮重要作用。