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