低代碼平臺(tái)的使用者都是誰(shuí)?(低代碼平臺(tái)的使用者都是誰(shuí)?。?/h1>
2019年開(kāi)始,低代碼爆火。有人認(rèn)為它是第四代編程語(yǔ)言,有人認(rèn)為它是開(kāi)發(fā)模式的顛覆,也有人認(rèn)為是企業(yè)管理模式的變革……有很多聲音,社區(qū)討論很熱烈。CSDN隨后展開(kāi)低代碼平臺(tái)產(chǎn)品系列活動(dòng),包括低代碼開(kāi)發(fā)者認(rèn)知度與應(yīng)用線(xiàn)上調(diào)研,市場(chǎng)洞察報(bào)告,專(zhuān)家專(zhuān)訪專(zhuān)輯,研討會(huì)等。邀請(qǐng)低代碼平臺(tái)產(chǎn)品的各個(gè)角色共同研討,力求為大家呈現(xiàn)一個(gè)立體的、透光的低代碼發(fā)展脈絡(luò)和未來(lái)趨勢(shì)。
本期訪談嘉賓:寧偉,CSDN知名博主。葡萄城產(chǎn)品市場(chǎng)總監(jiān),2005年加入葡萄城,從事.NET平臺(tái)軟件開(kāi)發(fā)和項(xiàng)目管理工作,2018年起專(zhuān)注于活字格低代碼平臺(tái)的市場(chǎng)運(yùn)營(yíng)與推廣。
談國(guó)內(nèi)外低代碼平臺(tái)產(chǎn)品的發(fā)展脈絡(luò)
CSDN: 您怎么看待2019年這個(gè)時(shí)間點(diǎn)?低代碼目前真實(shí)的現(xiàn)狀是怎樣的?
寧偉: 事實(shí)上2014年開(kāi)始,一些傳統(tǒng)的軟件開(kāi)發(fā)工具廠商或者說(shuō)主流的ToB風(fēng)格的玩家已經(jīng)紛紛入場(chǎng)研究低代碼了。葡萄城2012年啟動(dòng)活字格的研究和開(kāi)發(fā),2016年就發(fā)布了活字格低代碼開(kāi)發(fā)平臺(tái)。從一些行業(yè)研究機(jī)構(gòu)的報(bào)告上看,現(xiàn)在市面上活躍的低代碼平臺(tái)廠商,除了一些互聯(lián)網(wǎng)巨頭在2019年入場(chǎng)之外,幾乎全都是2015年到2019年這段時(shí)間就已經(jīng)入場(chǎng)開(kāi)始產(chǎn)品布局的。也就是說(shuō)低代碼,從2014年Forrester發(fā)布了低代碼的概念之后就一直存在了。
但是,2019年開(kāi)始到今年,隨著風(fēng)險(xiǎn)投資的進(jìn)場(chǎng),這個(gè)概念突然之間爆火起來(lái)。是資本催生了低代碼的火爆,它的產(chǎn)品定義邊界也一直在演進(jìn)。現(xiàn)在這個(gè)時(shí)間點(diǎn)在探討低代碼這個(gè)問(wèn)題的時(shí)候,就需要去分時(shí)間階段的去看了。但整體上來(lái)講,在2019年風(fēng)口起來(lái)之前就在入場(chǎng)的玩家,事實(shí)上是構(gòu)成了目前中國(guó)低代碼行業(yè)的主力。
CSDN:目前要想定義清楚什么是低代碼,需要先為低代碼分類(lèi),國(guó)內(nèi)外的低代碼平臺(tái)產(chǎn)品,他們的用戶(hù)群,產(chǎn)品定位其實(shí)都不盡相同,縱觀國(guó)內(nèi)外的低代碼廠商,目前比較清晰的分類(lèi)有哪些?
寧偉:剛才我們聊了國(guó)內(nèi)的大概情況,那么國(guó)外的其實(shí)也是有一些比較有意思的事情。低代碼概念在國(guó)外火起來(lái),也是來(lái)自資本的助力。2018年Outsystems拿了3.6億美元的投資,估值達(dá)到超十億美金這種量級(jí)的,是當(dāng)年的獨(dú)角獸。Outsystems是一家在葡萄牙的公司,總部在里斯本,開(kāi)發(fā)團(tuán)隊(duì)大概兩三百人。因?yàn)镺utsystemss也是葡萄城開(kāi)發(fā)控件的客戶(hù),我們對(duì)這家公司的了解也比較深一些。他的發(fā)展歷程也可以幫助我們了解歐美在低代碼方面的發(fā)展歷程。
服務(wù)專(zhuān)業(yè)開(kāi)發(fā)者的低代碼平臺(tái)
以O(shè)utsystems為代表的國(guó)外主流低代碼開(kāi)發(fā)平臺(tái),它的產(chǎn)品開(kāi)發(fā)工具的屬性,相比國(guó)內(nèi)很多產(chǎn)品會(huì)更加純粹一些。舉個(gè)例子,Outsystems起步時(shí),它所面對(duì)的用戶(hù)群體就是專(zhuān)業(yè)開(kāi)發(fā)者。它的產(chǎn)品幾乎所有的設(shè)計(jì)全都采用了現(xiàn)有的軟件開(kāi)發(fā)體系,包括模型驅(qū)動(dòng)、前后端分離、包括構(gòu)建外部API,以及調(diào)用第三方接口的做法等。包括在部署階段,整個(gè)流程都是按照一個(gè)專(zhuān)業(yè)開(kāi)發(fā)者的專(zhuān)業(yè)開(kāi)發(fā)工具的標(biāo)準(zhǔn)去做的。即便是部署也是私有化部署為主,在他的云端所采用的方式,跟很多人想的云端部署也不太一樣。
通常意義上講的云服務(wù),SaaS服務(wù)一般情況下來(lái)講叫共享資源,是多租戶(hù)模式。也就是大家很多人去共享同一個(gè)云主機(jī),用同樣一套資源來(lái)實(shí)現(xiàn),通過(guò)錯(cuò)峰使用時(shí)間,來(lái)實(shí)現(xiàn)資源的高效利用,這是云基本的底層邏輯,但是Outsystems在做這件事情的時(shí)候不一樣。
他們提供了獨(dú)占式的云服務(wù)模式。簡(jiǎn)單理解就是說(shuō)Outsystems的云上部署,后臺(tái)相當(dāng)于給你創(chuàng)建了獨(dú)立的屬于你的一臺(tái)虛擬機(jī)。資源是獨(dú)占的,不會(huì)出現(xiàn)資源爭(zhēng)搶。當(dāng)然這樣子來(lái)做,對(duì)于云服務(wù)商來(lái)講,它的成本是很高的。但當(dāng)客戶(hù)把核心系統(tǒng)或者業(yè)務(wù)系統(tǒng)用低代碼的方式開(kāi)發(fā)部署后,考慮到對(duì)處理能力和可用性的高要求,是更加希望它能夠獨(dú)享資源部署的。
這種服務(wù)于企業(yè)核心業(yè)務(wù)的底層邏輯并不是Outsystems的專(zhuān)利,國(guó)外的Mendix和國(guó)內(nèi)的活字格、ClickPaaS等都是這個(gè)賽道下的典型玩家。只是有些廠商更偏重于提升產(chǎn)品作為開(kāi)發(fā)工具的技術(shù)能力,將低代碼平臺(tái)作為一個(gè)獨(dú)立的產(chǎn)品進(jìn)行銷(xiāo)售;另一些廠商投入更大的力量在自己組建實(shí)施團(tuán)隊(duì)為客戶(hù)做交付而已。本質(zhì)上,這些都是面向?qū)I(yè)開(kāi)發(fā)者的低代碼平臺(tái)。
需要注意的是,這里的專(zhuān)業(yè)開(kāi)發(fā)者和程序員其實(shí)不完全劃等號(hào)。按照Gartner關(guān)于平民開(kāi)發(fā)者和專(zhuān)業(yè)開(kāi)發(fā)者的劃分,凡是向IT部門(mén)匯報(bào)的開(kāi)發(fā)者都是專(zhuān)業(yè)開(kāi)發(fā)者,而向業(yè)務(wù)部門(mén)匯報(bào)的開(kāi)發(fā)者則是平民開(kāi)發(fā)者。兩者的差異主要體現(xiàn)在工作職責(zé)和崗位劃分,而不是技術(shù)能力。所以,不管是Outsystems還是活字格,使用者中都不乏在企業(yè)IT部門(mén)中從事低代碼開(kāi)發(fā)的初級(jí)技術(shù)人員,這些人與程序員配合,前者負(fù)責(zé)簡(jiǎn)單的增刪改查和頁(yè)面設(shè)計(jì),后者則更關(guān)注系統(tǒng)架構(gòu)、數(shù)據(jù)庫(kù)設(shè)計(jì)以及編程擴(kuò)展等高技術(shù)含量的部分。
Outsystems:輕應(yīng)用場(chǎng)景的低代碼平臺(tái)
據(jù)我對(duì)國(guó)內(nèi)市場(chǎng)的了解,面向?qū)I(yè)開(kāi)發(fā)者的低代碼平臺(tái)在體量上并不占優(yōu)勢(shì)。在資本的牽引下,國(guó)內(nèi)的大多數(shù)低代碼平臺(tái)在向互聯(lián)網(wǎng)輕應(yīng)用場(chǎng)景的平臺(tái)模式發(fā)展,從應(yīng)用場(chǎng)景到技術(shù)路線(xiàn),和前面提到的面向?qū)I(yè)開(kāi)發(fā)者的低代碼平臺(tái)存在很大的差異。
輕應(yīng)用場(chǎng)景,在企業(yè)中它并不是核心業(yè)務(wù)場(chǎng)景。比如在生產(chǎn)制造型企業(yè),一個(gè)輕應(yīng)用場(chǎng)景舉個(gè)例子,比如做一張廠商宣傳海報(bào),做一個(gè)疫情流調(diào)的填報(bào)等等,能夠快速上線(xiàn),讓大家來(lái)填寫(xiě)提交的。以此為例,工廠比如說(shuō)有1000個(gè)人,1000個(gè)人就都是低代碼開(kāi)發(fā)平臺(tái)最終輻射到的用戶(hù)群體。
而另外一個(gè)方面,軟件公司或者企業(yè)IT部門(mén)使用面向?qū)I(yè)開(kāi)發(fā)者的低代碼平臺(tái),來(lái)實(shí)現(xiàn)核心系統(tǒng)應(yīng)用,比如生產(chǎn)系統(tǒng),庫(kù)存系統(tǒng)。料庫(kù)和成品庫(kù)之間庫(kù)存流轉(zhuǎn),然后做財(cái)務(wù)的成本核算,業(yè)務(wù)財(cái)務(wù)一體化結(jié)算等等,這些核心業(yè)務(wù)的話(huà),那它的使用群體的用戶(hù)數(shù)量,其實(shí)是很小的。一個(gè)企業(yè)的1000人中可能只有不到100個(gè)人在使用。對(duì)于互聯(lián)網(wǎng)公司和投資機(jī)構(gòu)來(lái)講,10倍的用戶(hù)群體差異意味著質(zhì)的差別。
所以,在互聯(lián)網(wǎng)投融資的支持下,國(guó)內(nèi)更多廠商走上了面向輕應(yīng)用,快速過(guò)大用戶(hù)群體的路線(xiàn),并取得了動(dòng)輒上億的融資回報(bào)。從另一個(gè)角度上看,用戶(hù)群體的規(guī)模就決定了中國(guó)低代碼平臺(tái)的輻射面,影響到的人肯定是要比歐美更廣泛的。
其實(shí),這類(lèi)低代碼平臺(tái)產(chǎn)品也可以理解為是無(wú)代碼平臺(tái)產(chǎn)品,F(xiàn)orrester稱(chēng)這種為L(zhǎng)CDP for business developers,與前面將的LCDP for professional developers對(duì)應(yīng)。在資本市場(chǎng)的支持之下,我們相信無(wú)代碼會(huì)從低代碼中進(jìn)一步分化。無(wú)代碼很快會(huì)成為一個(gè)新的分支獨(dú)立出去。因?yàn)檫@一些類(lèi)型的產(chǎn)品,它的商業(yè)邏輯是固定的。那就是擁有更大的用戶(hù)群體,更大的流量入口機(jī)會(huì),更多的投融資,讓更多人知道,然后上市變現(xiàn),這是互聯(lián)網(wǎng)企業(yè)中一個(gè)非常典型的路徑,與軟件開(kāi)發(fā)工具類(lèi)廠商的底層邏輯完全不同。
降低二次開(kāi)發(fā)成本的低代碼平臺(tái)
低代碼除了上面這兩種定位之外,還有一種類(lèi)型的典型應(yīng)用就是二次開(kāi)發(fā)。對(duì)于企業(yè)級(jí)軟件來(lái)講,CRM也好,ERP也好,它通常不是買(mǎi)回來(lái)就能用的。需要一個(gè)團(tuán)隊(duì)來(lái)進(jìn)行二次開(kāi)發(fā),適配企業(yè)獨(dú)特的個(gè)性化需求。這個(gè)對(duì)于大部分企業(yè)軟件來(lái)講是逃不過(guò)去的,甚至可以說(shuō)是占到很大比例的。所以每一個(gè)做CRM,做ERP的廠商,他必須要考慮一個(gè)問(wèn)題,怎么樣幫助我的實(shí)施團(tuán)隊(duì),以及我的商業(yè)伙伴,我的代理商的實(shí)施團(tuán)隊(duì),去快速的搞定二次開(kāi)發(fā)這件事。但是,在低代碼出現(xiàn)之前,二次開(kāi)發(fā)是需要靠編程的方式來(lái)實(shí)現(xiàn)的,而且必須用主系統(tǒng)規(guī)定的語(yǔ)言和類(lèi)庫(kù),推廣起來(lái)難度很大。
低代碼的概念提出后,很多的CRM、ERP廠商第一時(shí)間開(kāi)始琢磨低代碼做二次開(kāi)發(fā)這個(gè)方向。Salesforce、微軟Dynamic以及國(guó)內(nèi)的用友和金蝶也都是基于類(lèi)似這樣的背景提出的低代碼平臺(tái)。幫助行業(yè)軟件快速完成二次開(kāi)發(fā),本身是一個(gè)非常典型的企業(yè)個(gè)性化應(yīng)用場(chǎng)景。而且,參與這部分實(shí)施的開(kāi)發(fā)者,整體技術(shù)水平、技術(shù)能力是比廠商側(cè)的研發(fā)人員低的,低代碼的引入會(huì)為他們帶來(lái)更多的可能性。
所以二次開(kāi)發(fā)的工具也在逐步迭代和升級(jí),現(xiàn)在我們看到的低代碼開(kāi)發(fā)平臺(tái)Lighting、PowerApps、YonBIP等就是不斷讓二次開(kāi)發(fā)變成了一個(gè)更低成本的事情。但是這也滋生出一個(gè)問(wèn)題就是,在不同平臺(tái)下的低代碼開(kāi)發(fā)工具所生成的系統(tǒng)依然要圍繞著主系統(tǒng)運(yùn)轉(zhuǎn),他們之間是非常割裂的。這就會(huì)給后續(xù)的系統(tǒng)間擴(kuò)展,復(fù)用,移植等很多方面帶來(lái)障礙。
上面提到的三個(gè)類(lèi)別并不能覆蓋所有低代碼產(chǎn)品,F(xiàn)orrester在報(bào)告中甚至給中國(guó)的低代碼廠商劃分出了9大類(lèi)別。低代碼平臺(tái)的多樣性很強(qiáng),初次看到“低代碼”時(shí),人們很容易產(chǎn)生盲人摸象的感覺(jué)。這也是目前大家對(duì)低代碼的意見(jiàn)存在較大分歧的主要原因。所以,如果你真的想要了解這個(gè)行業(yè),在迷霧中找到一條路,還是得根據(jù)自己團(tuán)隊(duì)的技術(shù)能力、需要面對(duì)的應(yīng)用場(chǎng)景選擇合適的類(lèi)型入手。如果你是一個(gè)程序員,要開(kāi)發(fā)核心的生產(chǎn)和銷(xiāo)售軟件,卻將輕應(yīng)用低代碼平臺(tái)作為評(píng)估低代碼技術(shù)的唯一選項(xiàng),我相信你無(wú)疑會(huì)對(duì)低代碼很失望;但是,如果你選擇了服務(wù)專(zhuān)業(yè)開(kāi)發(fā)者的活字格,結(jié)論很可能是相反的。不要以為這是個(gè)玩笑般的比喻,我們的售前技術(shù)支持團(tuán)隊(duì)反饋說(shuō)有不少程序員都走了這個(gè)彎路。
CSDN:如果要給開(kāi)發(fā)者一把尺子,去衡量這個(gè)產(chǎn)品是否真的適合自己,從開(kāi)發(fā)效率,技能提升,或者穩(wěn)定性等等方面,獲得一個(gè)對(duì)低代碼平臺(tái)產(chǎn)品相對(duì)全面的評(píng)估。只用三個(gè)問(wèn)題來(lái)判斷,你會(huì)如何選擇?
寧偉:這是一個(gè)方法論的問(wèn)題。我認(rèn)為應(yīng)該用這三個(gè)問(wèn)題來(lái)判斷:
1. “拿來(lái)干什么”。不同類(lèi)型的低代碼產(chǎn)品有不同的應(yīng)用邊界和底層邏輯。開(kāi)發(fā)者評(píng)估一款低代碼產(chǎn)品時(shí),首先弄清自己的應(yīng)用場(chǎng)景。如果你希望做的是簡(jiǎn)單的輕應(yīng)用,講究短平快,不需要考慮和其他軟件集成以及持續(xù)發(fā)展的問(wèn)題,那么選擇面向?qū)I(yè)開(kāi)發(fā)者的低代碼平臺(tái)的話(huà),學(xué)習(xí)成本就太高了;如果你希望用低代碼技術(shù)開(kāi)發(fā)核心業(yè)務(wù)系統(tǒng)甚至分階段搞定全公司所有軟件開(kāi)發(fā),輕應(yīng)用平臺(tái)顯然無(wú)法承載你的夢(mèng)想。
2. “怎么干”。同樣的應(yīng)用場(chǎng)景,不同的產(chǎn)品有不同的實(shí)現(xiàn)路徑。條條大路通羅馬,但是高速公路需要掏過(guò)路費(fèi),鄉(xiāng)村小道跑的不舒服。具體到開(kāi)發(fā)工具上,我們需要根據(jù)自己的技術(shù)能力選擇更適合自己的低代碼平臺(tái)。不過(guò),如果有學(xué)習(xí)的意愿和投入,我建議選擇架構(gòu)更專(zhuān)業(yè)、開(kāi)放性更高、與大學(xué)里軟件開(kāi)發(fā)課程更近的那一款,提升一下軟件開(kāi)發(fā)的上限。
3. “誰(shuí)干成了”。實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。如果我們沒(méi)有足夠的時(shí)間來(lái)做詳細(xì)的評(píng)估,可以去看一下其他人用該平臺(tái)開(kāi)發(fā)的系統(tǒng),從界面自由度、功能復(fù)雜度到穩(wěn)定性,都能體現(xiàn)到案例中。比如如果一個(gè)平臺(tái)有大量開(kāi)發(fā)ERP、MES這種核心系統(tǒng)的案例,客戶(hù)的要求會(huì)比做后勤部門(mén)數(shù)據(jù)填報(bào)的輕應(yīng)用高很多,所以該平臺(tái)的穩(wěn)定性應(yīng)該沒(méi)問(wèn)題。所以,去這些低代碼平臺(tái)廠商的官網(wǎng)看看他們推的案例,也是一個(gè)不錯(cuò)的方法。
CSDN:程序員喜歡的低代碼平臺(tái)產(chǎn)品要具備什么樣的特點(diǎn)
寧偉:對(duì)于程序員來(lái)說(shuō),轉(zhuǎn)型到低代碼開(kāi)發(fā)和新學(xué)一門(mén)編程語(yǔ)言在本質(zhì)是一樣的,必須考慮學(xué)習(xí)的成本和之前經(jīng)驗(yàn)積累的復(fù)用性。所以,我們接觸過(guò)的大多數(shù)程序員在做低代碼平臺(tái)選型評(píng)估時(shí),首先會(huì)看這個(gè)工具用起來(lái),跟之前寫(xiě)代碼的流程一樣嗎?跟寫(xiě)代碼的架構(gòu)一樣嗎?為啥?因?yàn)檫@樣程序員和其他技術(shù)性崗位一樣,專(zhuān)業(yè)知識(shí),專(zhuān)業(yè)技能是需要持續(xù)積累和復(fù)用的,只有這樣才能讓職業(yè)生涯走得更順。所以,我們不能讓程序員之前一行一行寫(xiě)代碼,積攢起來(lái)的經(jīng)驗(yàn),在切換到低代碼平臺(tái)開(kāi)發(fā)之后,全部作廢。如果做不到這一點(diǎn),大多數(shù)程序員就會(huì)被推到了低代碼的對(duì)立面。
程序員在選擇開(kāi)發(fā)工具的時(shí)候希望能繼續(xù)延續(xù)自己的優(yōu)勢(shì),逆勢(shì)而為就會(huì)為產(chǎn)品的落地造成很大的障礙。順勢(shì)而為就可以延續(xù)程序員之前積攢的經(jīng)驗(yàn),成為更好的開(kāi)發(fā)者。
落實(shí)到具體功能上面,我們之前做過(guò)一次調(diào)研,面向活字格低代碼平臺(tái)的用戶(hù)群體,征集開(kāi)發(fā)者最喜歡的三個(gè)功能是什么。最終,我們整理出三個(gè)點(diǎn),現(xiàn)在看也是比較有代表性的。第一個(gè)是:抹平數(shù)據(jù)庫(kù)之間的差異性,自動(dòng)適配MySQL、MS SQL Server、Oracle的數(shù)據(jù)類(lèi)型和特殊語(yǔ)法,學(xué)習(xí)成本更低。
第二個(gè)是:可以在開(kāi)發(fā)中對(duì)服務(wù)端API可以調(diào)試,并且提供包含各步驟耗時(shí)在內(nèi)的詳細(xì)日志。讓低代碼不再是一個(gè)黑盒子,Debug非常方便。這里多說(shuō)幾句,在核心業(yè)務(wù)系統(tǒng)中業(yè)務(wù)邏輯一般會(huì)很復(fù)雜,哪怕最簡(jiǎn)單的一個(gè)庫(kù)存出庫(kù),也并不是說(shuō)創(chuàng)建一張出庫(kù)單就完了。實(shí)際的業(yè)務(wù)流程中除了出庫(kù)單,還要更新庫(kù)存數(shù)據(jù),做設(shè)置好的低庫(kù)存檢測(cè),觸發(fā)警報(bào)的同時(shí),調(diào)用采購(gòu)系統(tǒng)的接口發(fā)起補(bǔ)貨流程,最后更新財(cái)務(wù)使用的庫(kù)存數(shù)據(jù)等等。這一系列操作都需要確保事務(wù)性和處理性能。事實(shí)上,我們很難確保一次性將這些操作全部搞正確,低代碼平臺(tái)能提供快速定位和修復(fù)問(wèn)題的能力變得非常重要。
第三個(gè)是:前端布局可以自由修改。有很多的低代碼開(kāi)發(fā)平臺(tái)的產(chǎn)品,壓根不允許你自己布局,對(duì)UI要求高的客戶(hù)來(lái)說(shuō),這種方案來(lái)說(shuō)就非常不友好了。
從上面的這些內(nèi)容可以看到,程序員最關(guān)心的功能是什么?第一就是一定要能操作數(shù)據(jù)庫(kù),第二是一定要能像寫(xiě)程序一樣去精確的控制業(yè)務(wù)邏輯,第三就是一定要自由的做布局。說(shuō)到底,一個(gè)前后端分離的企業(yè)軟件,就這三件事。
相關(guān)新聞
2019年開(kāi)始,低代碼爆火。有人認(rèn)為它是第四代編程語(yǔ)言,有人認(rèn)為它是開(kāi)發(fā)模式的顛覆,也有人認(rèn)為是企業(yè)管理模式的變革……有很多聲音,社區(qū)討論很熱烈。CSDN隨后展開(kāi)低代碼平臺(tái)產(chǎn)品系列活動(dòng),包括低代碼開(kāi)發(fā)者認(rèn)知度與應(yīng)用線(xiàn)上調(diào)研,市場(chǎng)洞察報(bào)告,專(zhuān)家專(zhuān)訪專(zhuān)輯,研討會(huì)等。邀請(qǐng)低代碼平臺(tái)產(chǎn)品的各個(gè)角色共同研討,力求為大家呈現(xiàn)一個(gè)立體的、透光的低代碼發(fā)展脈絡(luò)和未來(lái)趨勢(shì)。
本期訪談嘉賓:寧偉,CSDN知名博主。葡萄城產(chǎn)品市場(chǎng)總監(jiān),2005年加入葡萄城,從事.NET平臺(tái)軟件開(kāi)發(fā)和項(xiàng)目管理工作,2018年起專(zhuān)注于活字格低代碼平臺(tái)的市場(chǎng)運(yùn)營(yíng)與推廣。
談國(guó)內(nèi)外低代碼平臺(tái)產(chǎn)品的發(fā)展脈絡(luò)
CSDN: 您怎么看待2019年這個(gè)時(shí)間點(diǎn)?低代碼目前真實(shí)的現(xiàn)狀是怎樣的?
寧偉: 事實(shí)上2014年開(kāi)始,一些傳統(tǒng)的軟件開(kāi)發(fā)工具廠商或者說(shuō)主流的ToB風(fēng)格的玩家已經(jīng)紛紛入場(chǎng)研究低代碼了。葡萄城2012年啟動(dòng)活字格的研究和開(kāi)發(fā),2016年就發(fā)布了活字格低代碼開(kāi)發(fā)平臺(tái)。從一些行業(yè)研究機(jī)構(gòu)的報(bào)告上看,現(xiàn)在市面上活躍的低代碼平臺(tái)廠商,除了一些互聯(lián)網(wǎng)巨頭在2019年入場(chǎng)之外,幾乎全都是2015年到2019年這段時(shí)間就已經(jīng)入場(chǎng)開(kāi)始產(chǎn)品布局的。也就是說(shuō)低代碼,從2014年Forrester發(fā)布了低代碼的概念之后就一直存在了。
但是,2019年開(kāi)始到今年,隨著風(fēng)險(xiǎn)投資的進(jìn)場(chǎng),這個(gè)概念突然之間爆火起來(lái)。是資本催生了低代碼的火爆,它的產(chǎn)品定義邊界也一直在演進(jìn)。現(xiàn)在這個(gè)時(shí)間點(diǎn)在探討低代碼這個(gè)問(wèn)題的時(shí)候,就需要去分時(shí)間階段的去看了。但整體上來(lái)講,在2019年風(fēng)口起來(lái)之前就在入場(chǎng)的玩家,事實(shí)上是構(gòu)成了目前中國(guó)低代碼行業(yè)的主力。
CSDN:目前要想定義清楚什么是低代碼,需要先為低代碼分類(lèi),國(guó)內(nèi)外的低代碼平臺(tái)產(chǎn)品,他們的用戶(hù)群,產(chǎn)品定位其實(shí)都不盡相同,縱觀國(guó)內(nèi)外的低代碼廠商,目前比較清晰的分類(lèi)有哪些?
寧偉:剛才我們聊了國(guó)內(nèi)的大概情況,那么國(guó)外的其實(shí)也是有一些比較有意思的事情。低代碼概念在國(guó)外火起來(lái),也是來(lái)自資本的助力。2018年Outsystems拿了3.6億美元的投資,估值達(dá)到超十億美金這種量級(jí)的,是當(dāng)年的獨(dú)角獸。Outsystems是一家在葡萄牙的公司,總部在里斯本,開(kāi)發(fā)團(tuán)隊(duì)大概兩三百人。因?yàn)镺utsystemss也是葡萄城開(kāi)發(fā)控件的客戶(hù),我們對(duì)這家公司的了解也比較深一些。他的發(fā)展歷程也可以幫助我們了解歐美在低代碼方面的發(fā)展歷程。
服務(wù)專(zhuān)業(yè)開(kāi)發(fā)者的低代碼平臺(tái)
以O(shè)utsystems為代表的國(guó)外主流低代碼開(kāi)發(fā)平臺(tái),它的產(chǎn)品開(kāi)發(fā)工具的屬性,相比國(guó)內(nèi)很多產(chǎn)品會(huì)更加純粹一些。舉個(gè)例子,Outsystems起步時(shí),它所面對(duì)的用戶(hù)群體就是專(zhuān)業(yè)開(kāi)發(fā)者。它的產(chǎn)品幾乎所有的設(shè)計(jì)全都采用了現(xiàn)有的軟件開(kāi)發(fā)體系,包括模型驅(qū)動(dòng)、前后端分離、包括構(gòu)建外部API,以及調(diào)用第三方接口的做法等。包括在部署階段,整個(gè)流程都是按照一個(gè)專(zhuān)業(yè)開(kāi)發(fā)者的專(zhuān)業(yè)開(kāi)發(fā)工具的標(biāo)準(zhǔn)去做的。即便是部署也是私有化部署為主,在他的云端所采用的方式,跟很多人想的云端部署也不太一樣。
通常意義上講的云服務(wù),SaaS服務(wù)一般情況下來(lái)講叫共享資源,是多租戶(hù)模式。也就是大家很多人去共享同一個(gè)云主機(jī),用同樣一套資源來(lái)實(shí)現(xiàn),通過(guò)錯(cuò)峰使用時(shí)間,來(lái)實(shí)現(xiàn)資源的高效利用,這是云基本的底層邏輯,但是Outsystems在做這件事情的時(shí)候不一樣。
他們提供了獨(dú)占式的云服務(wù)模式。簡(jiǎn)單理解就是說(shuō)Outsystems的云上部署,后臺(tái)相當(dāng)于給你創(chuàng)建了獨(dú)立的屬于你的一臺(tái)虛擬機(jī)。資源是獨(dú)占的,不會(huì)出現(xiàn)資源爭(zhēng)搶。當(dāng)然這樣子來(lái)做,對(duì)于云服務(wù)商來(lái)講,它的成本是很高的。但當(dāng)客戶(hù)把核心系統(tǒng)或者業(yè)務(wù)系統(tǒng)用低代碼的方式開(kāi)發(fā)部署后,考慮到對(duì)處理能力和可用性的高要求,是更加希望它能夠獨(dú)享資源部署的。
這種服務(wù)于企業(yè)核心業(yè)務(wù)的底層邏輯并不是Outsystems的專(zhuān)利,國(guó)外的Mendix和國(guó)內(nèi)的活字格、ClickPaaS等都是這個(gè)賽道下的典型玩家。只是有些廠商更偏重于提升產(chǎn)品作為開(kāi)發(fā)工具的技術(shù)能力,將低代碼平臺(tái)作為一個(gè)獨(dú)立的產(chǎn)品進(jìn)行銷(xiāo)售;另一些廠商投入更大的力量在自己組建實(shí)施團(tuán)隊(duì)為客戶(hù)做交付而已。本質(zhì)上,這些都是面向?qū)I(yè)開(kāi)發(fā)者的低代碼平臺(tái)。
需要注意的是,這里的專(zhuān)業(yè)開(kāi)發(fā)者和程序員其實(shí)不完全劃等號(hào)。按照Gartner關(guān)于平民開(kāi)發(fā)者和專(zhuān)業(yè)開(kāi)發(fā)者的劃分,凡是向IT部門(mén)匯報(bào)的開(kāi)發(fā)者都是專(zhuān)業(yè)開(kāi)發(fā)者,而向業(yè)務(wù)部門(mén)匯報(bào)的開(kāi)發(fā)者則是平民開(kāi)發(fā)者。兩者的差異主要體現(xiàn)在工作職責(zé)和崗位劃分,而不是技術(shù)能力。所以,不管是Outsystems還是活字格,使用者中都不乏在企業(yè)IT部門(mén)中從事低代碼開(kāi)發(fā)的初級(jí)技術(shù)人員,這些人與程序員配合,前者負(fù)責(zé)簡(jiǎn)單的增刪改查和頁(yè)面設(shè)計(jì),后者則更關(guān)注系統(tǒng)架構(gòu)、數(shù)據(jù)庫(kù)設(shè)計(jì)以及編程擴(kuò)展等高技術(shù)含量的部分。
Outsystems:輕應(yīng)用場(chǎng)景的低代碼平臺(tái)
據(jù)我對(duì)國(guó)內(nèi)市場(chǎng)的了解,面向?qū)I(yè)開(kāi)發(fā)者的低代碼平臺(tái)在體量上并不占優(yōu)勢(shì)。在資本的牽引下,國(guó)內(nèi)的大多數(shù)低代碼平臺(tái)在向互聯(lián)網(wǎng)輕應(yīng)用場(chǎng)景的平臺(tái)模式發(fā)展,從應(yīng)用場(chǎng)景到技術(shù)路線(xiàn),和前面提到的面向?qū)I(yè)開(kāi)發(fā)者的低代碼平臺(tái)存在很大的差異。
輕應(yīng)用場(chǎng)景,在企業(yè)中它并不是核心業(yè)務(wù)場(chǎng)景。比如在生產(chǎn)制造型企業(yè),一個(gè)輕應(yīng)用場(chǎng)景舉個(gè)例子,比如做一張廠商宣傳海報(bào),做一個(gè)疫情流調(diào)的填報(bào)等等,能夠快速上線(xiàn),讓大家來(lái)填寫(xiě)提交的。以此為例,工廠比如說(shuō)有1000個(gè)人,1000個(gè)人就都是低代碼開(kāi)發(fā)平臺(tái)最終輻射到的用戶(hù)群體。
而另外一個(gè)方面,軟件公司或者企業(yè)IT部門(mén)使用面向?qū)I(yè)開(kāi)發(fā)者的低代碼平臺(tái),來(lái)實(shí)現(xiàn)核心系統(tǒng)應(yīng)用,比如生產(chǎn)系統(tǒng),庫(kù)存系統(tǒng)。料庫(kù)和成品庫(kù)之間庫(kù)存流轉(zhuǎn),然后做財(cái)務(wù)的成本核算,業(yè)務(wù)財(cái)務(wù)一體化結(jié)算等等,這些核心業(yè)務(wù)的話(huà),那它的使用群體的用戶(hù)數(shù)量,其實(shí)是很小的。一個(gè)企業(yè)的1000人中可能只有不到100個(gè)人在使用。對(duì)于互聯(lián)網(wǎng)公司和投資機(jī)構(gòu)來(lái)講,10倍的用戶(hù)群體差異意味著質(zhì)的差別。
所以,在互聯(lián)網(wǎng)投融資的支持下,國(guó)內(nèi)更多廠商走上了面向輕應(yīng)用,快速過(guò)大用戶(hù)群體的路線(xiàn),并取得了動(dòng)輒上億的融資回報(bào)。從另一個(gè)角度上看,用戶(hù)群體的規(guī)模就決定了中國(guó)低代碼平臺(tái)的輻射面,影響到的人肯定是要比歐美更廣泛的。
其實(shí),這類(lèi)低代碼平臺(tái)產(chǎn)品也可以理解為是無(wú)代碼平臺(tái)產(chǎn)品,F(xiàn)orrester稱(chēng)這種為L(zhǎng)CDP for business developers,與前面將的LCDP for professional developers對(duì)應(yīng)。在資本市場(chǎng)的支持之下,我們相信無(wú)代碼會(huì)從低代碼中進(jìn)一步分化。無(wú)代碼很快會(huì)成為一個(gè)新的分支獨(dú)立出去。因?yàn)檫@一些類(lèi)型的產(chǎn)品,它的商業(yè)邏輯是固定的。那就是擁有更大的用戶(hù)群體,更大的流量入口機(jī)會(huì),更多的投融資,讓更多人知道,然后上市變現(xiàn),這是互聯(lián)網(wǎng)企業(yè)中一個(gè)非常典型的路徑,與軟件開(kāi)發(fā)工具類(lèi)廠商的底層邏輯完全不同。
降低二次開(kāi)發(fā)成本的低代碼平臺(tái)
低代碼除了上面這兩種定位之外,還有一種類(lèi)型的典型應(yīng)用就是二次開(kāi)發(fā)。對(duì)于企業(yè)級(jí)軟件來(lái)講,CRM也好,ERP也好,它通常不是買(mǎi)回來(lái)就能用的。需要一個(gè)團(tuán)隊(duì)來(lái)進(jìn)行二次開(kāi)發(fā),適配企業(yè)獨(dú)特的個(gè)性化需求。這個(gè)對(duì)于大部分企業(yè)軟件來(lái)講是逃不過(guò)去的,甚至可以說(shuō)是占到很大比例的。所以每一個(gè)做CRM,做ERP的廠商,他必須要考慮一個(gè)問(wèn)題,怎么樣幫助我的實(shí)施團(tuán)隊(duì),以及我的商業(yè)伙伴,我的代理商的實(shí)施團(tuán)隊(duì),去快速的搞定二次開(kāi)發(fā)這件事。但是,在低代碼出現(xiàn)之前,二次開(kāi)發(fā)是需要靠編程的方式來(lái)實(shí)現(xiàn)的,而且必須用主系統(tǒng)規(guī)定的語(yǔ)言和類(lèi)庫(kù),推廣起來(lái)難度很大。
低代碼的概念提出后,很多的CRM、ERP廠商第一時(shí)間開(kāi)始琢磨低代碼做二次開(kāi)發(fā)這個(gè)方向。Salesforce、微軟Dynamic以及國(guó)內(nèi)的用友和金蝶也都是基于類(lèi)似這樣的背景提出的低代碼平臺(tái)。幫助行業(yè)軟件快速完成二次開(kāi)發(fā),本身是一個(gè)非常典型的企業(yè)個(gè)性化應(yīng)用場(chǎng)景。而且,參與這部分實(shí)施的開(kāi)發(fā)者,整體技術(shù)水平、技術(shù)能力是比廠商側(cè)的研發(fā)人員低的,低代碼的引入會(huì)為他們帶來(lái)更多的可能性。
所以二次開(kāi)發(fā)的工具也在逐步迭代和升級(jí),現(xiàn)在我們看到的低代碼開(kāi)發(fā)平臺(tái)Lighting、PowerApps、YonBIP等就是不斷讓二次開(kāi)發(fā)變成了一個(gè)更低成本的事情。但是這也滋生出一個(gè)問(wèn)題就是,在不同平臺(tái)下的低代碼開(kāi)發(fā)工具所生成的系統(tǒng)依然要圍繞著主系統(tǒng)運(yùn)轉(zhuǎn),他們之間是非常割裂的。這就會(huì)給后續(xù)的系統(tǒng)間擴(kuò)展,復(fù)用,移植等很多方面帶來(lái)障礙。
上面提到的三個(gè)類(lèi)別并不能覆蓋所有低代碼產(chǎn)品,F(xiàn)orrester在報(bào)告中甚至給中國(guó)的低代碼廠商劃分出了9大類(lèi)別。低代碼平臺(tái)的多樣性很強(qiáng),初次看到“低代碼”時(shí),人們很容易產(chǎn)生盲人摸象的感覺(jué)。這也是目前大家對(duì)低代碼的意見(jiàn)存在較大分歧的主要原因。所以,如果你真的想要了解這個(gè)行業(yè),在迷霧中找到一條路,還是得根據(jù)自己團(tuán)隊(duì)的技術(shù)能力、需要面對(duì)的應(yīng)用場(chǎng)景選擇合適的類(lèi)型入手。如果你是一個(gè)程序員,要開(kāi)發(fā)核心的生產(chǎn)和銷(xiāo)售軟件,卻將輕應(yīng)用低代碼平臺(tái)作為評(píng)估低代碼技術(shù)的唯一選項(xiàng),我相信你無(wú)疑會(huì)對(duì)低代碼很失望;但是,如果你選擇了服務(wù)專(zhuān)業(yè)開(kāi)發(fā)者的活字格,結(jié)論很可能是相反的。不要以為這是個(gè)玩笑般的比喻,我們的售前技術(shù)支持團(tuán)隊(duì)反饋說(shuō)有不少程序員都走了這個(gè)彎路。
CSDN:如果要給開(kāi)發(fā)者一把尺子,去衡量這個(gè)產(chǎn)品是否真的適合自己,從開(kāi)發(fā)效率,技能提升,或者穩(wěn)定性等等方面,獲得一個(gè)對(duì)低代碼平臺(tái)產(chǎn)品相對(duì)全面的評(píng)估。只用三個(gè)問(wèn)題來(lái)判斷,你會(huì)如何選擇?
寧偉:這是一個(gè)方法論的問(wèn)題。我認(rèn)為應(yīng)該用這三個(gè)問(wèn)題來(lái)判斷:
1. “拿來(lái)干什么”。不同類(lèi)型的低代碼產(chǎn)品有不同的應(yīng)用邊界和底層邏輯。開(kāi)發(fā)者評(píng)估一款低代碼產(chǎn)品時(shí),首先弄清自己的應(yīng)用場(chǎng)景。如果你希望做的是簡(jiǎn)單的輕應(yīng)用,講究短平快,不需要考慮和其他軟件集成以及持續(xù)發(fā)展的問(wèn)題,那么選擇面向?qū)I(yè)開(kāi)發(fā)者的低代碼平臺(tái)的話(huà),學(xué)習(xí)成本就太高了;如果你希望用低代碼技術(shù)開(kāi)發(fā)核心業(yè)務(wù)系統(tǒng)甚至分階段搞定全公司所有軟件開(kāi)發(fā),輕應(yīng)用平臺(tái)顯然無(wú)法承載你的夢(mèng)想。
2. “怎么干”。同樣的應(yīng)用場(chǎng)景,不同的產(chǎn)品有不同的實(shí)現(xiàn)路徑。條條大路通羅馬,但是高速公路需要掏過(guò)路費(fèi),鄉(xiāng)村小道跑的不舒服。具體到開(kāi)發(fā)工具上,我們需要根據(jù)自己的技術(shù)能力選擇更適合自己的低代碼平臺(tái)。不過(guò),如果有學(xué)習(xí)的意愿和投入,我建議選擇架構(gòu)更專(zhuān)業(yè)、開(kāi)放性更高、與大學(xué)里軟件開(kāi)發(fā)課程更近的那一款,提升一下軟件開(kāi)發(fā)的上限。
3. “誰(shuí)干成了”。實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。如果我們沒(méi)有足夠的時(shí)間來(lái)做詳細(xì)的評(píng)估,可以去看一下其他人用該平臺(tái)開(kāi)發(fā)的系統(tǒng),從界面自由度、功能復(fù)雜度到穩(wěn)定性,都能體現(xiàn)到案例中。比如如果一個(gè)平臺(tái)有大量開(kāi)發(fā)ERP、MES這種核心系統(tǒng)的案例,客戶(hù)的要求會(huì)比做后勤部門(mén)數(shù)據(jù)填報(bào)的輕應(yīng)用高很多,所以該平臺(tái)的穩(wěn)定性應(yīng)該沒(méi)問(wèn)題。所以,去這些低代碼平臺(tái)廠商的官網(wǎng)看看他們推的案例,也是一個(gè)不錯(cuò)的方法。
CSDN:程序員喜歡的低代碼平臺(tái)產(chǎn)品要具備什么樣的特點(diǎn)
寧偉:對(duì)于程序員來(lái)說(shuō),轉(zhuǎn)型到低代碼開(kāi)發(fā)和新學(xué)一門(mén)編程語(yǔ)言在本質(zhì)是一樣的,必須考慮學(xué)習(xí)的成本和之前經(jīng)驗(yàn)積累的復(fù)用性。所以,我們接觸過(guò)的大多數(shù)程序員在做低代碼平臺(tái)選型評(píng)估時(shí),首先會(huì)看這個(gè)工具用起來(lái),跟之前寫(xiě)代碼的流程一樣嗎?跟寫(xiě)代碼的架構(gòu)一樣嗎?為啥?因?yàn)檫@樣程序員和其他技術(shù)性崗位一樣,專(zhuān)業(yè)知識(shí),專(zhuān)業(yè)技能是需要持續(xù)積累和復(fù)用的,只有這樣才能讓職業(yè)生涯走得更順。所以,我們不能讓程序員之前一行一行寫(xiě)代碼,積攢起來(lái)的經(jīng)驗(yàn),在切換到低代碼平臺(tái)開(kāi)發(fā)之后,全部作廢。如果做不到這一點(diǎn),大多數(shù)程序員就會(huì)被推到了低代碼的對(duì)立面。
程序員在選擇開(kāi)發(fā)工具的時(shí)候希望能繼續(xù)延續(xù)自己的優(yōu)勢(shì),逆勢(shì)而為就會(huì)為產(chǎn)品的落地造成很大的障礙。順勢(shì)而為就可以延續(xù)程序員之前積攢的經(jīng)驗(yàn),成為更好的開(kāi)發(fā)者。
落實(shí)到具體功能上面,我們之前做過(guò)一次調(diào)研,面向活字格低代碼平臺(tái)的用戶(hù)群體,征集開(kāi)發(fā)者最喜歡的三個(gè)功能是什么。最終,我們整理出三個(gè)點(diǎn),現(xiàn)在看也是比較有代表性的。第一個(gè)是:抹平數(shù)據(jù)庫(kù)之間的差異性,自動(dòng)適配MySQL、MS SQL Server、Oracle的數(shù)據(jù)類(lèi)型和特殊語(yǔ)法,學(xué)習(xí)成本更低。
第二個(gè)是:可以在開(kāi)發(fā)中對(duì)服務(wù)端API可以調(diào)試,并且提供包含各步驟耗時(shí)在內(nèi)的詳細(xì)日志。讓低代碼不再是一個(gè)黑盒子,Debug非常方便。這里多說(shuō)幾句,在核心業(yè)務(wù)系統(tǒng)中業(yè)務(wù)邏輯一般會(huì)很復(fù)雜,哪怕最簡(jiǎn)單的一個(gè)庫(kù)存出庫(kù),也并不是說(shuō)創(chuàng)建一張出庫(kù)單就完了。實(shí)際的業(yè)務(wù)流程中除了出庫(kù)單,還要更新庫(kù)存數(shù)據(jù),做設(shè)置好的低庫(kù)存檢測(cè),觸發(fā)警報(bào)的同時(shí),調(diào)用采購(gòu)系統(tǒng)的接口發(fā)起補(bǔ)貨流程,最后更新財(cái)務(wù)使用的庫(kù)存數(shù)據(jù)等等。這一系列操作都需要確保事務(wù)性和處理性能。事實(shí)上,我們很難確保一次性將這些操作全部搞正確,低代碼平臺(tái)能提供快速定位和修復(fù)問(wèn)題的能力變得非常重要。
第三個(gè)是:前端布局可以自由修改。有很多的低代碼開(kāi)發(fā)平臺(tái)的產(chǎn)品,壓根不允許你自己布局,對(duì)UI要求高的客戶(hù)來(lái)說(shuō),這種方案來(lái)說(shuō)就非常不友好了。
從上面的這些內(nèi)容可以看到,程序員最關(guān)心的功能是什么?第一就是一定要能操作數(shù)據(jù)庫(kù),第二是一定要能像寫(xiě)程序一樣去精確的控制業(yè)務(wù)邏輯,第三就是一定要自由的做布局。說(shuō)到底,一個(gè)前后端分離的企業(yè)軟件,就這三件事。