創(chuàng)新 or 炒作?十問(wèn)低代碼之網(wǎng)易數(shù)帆所見(jiàn)
原創(chuàng)【51CTO.com原創(chuàng)稿件】從2020年開(kāi)始,低代碼成為了業(yè)界熱點(diǎn),無(wú)論是資本市場(chǎng)還是企業(yè)用戶(hù)都紛紛追捧。在低代碼洪流下,支持和反對(duì)聲并存,有人認(rèn)為低代碼可以像Office一樣達(dá)到全民普及,也有人認(rèn)為低代碼是新瓶裝舊酒炒作概念。在爭(zhēng)議不休下,如何正確地看清、認(rèn)清低代碼?如何清晰地辨別并選擇適合自己企業(yè)的低代碼開(kāi)發(fā)工具和平臺(tái)?
為此,51CTO特別梳理了關(guān)于低代碼的十大問(wèn)題,并邀請(qǐng)騰訊云、網(wǎng)易數(shù)帆、用友、微軟等不同低代碼平臺(tái)服務(wù)提供商的專(zhuān)家共同探討,視圖解答業(yè)界關(guān)于低代碼的相關(guān)疑問(wèn)。
以下內(nèi)容是來(lái)自網(wǎng)易數(shù)帆專(zhuān)家的解答!
問(wèn)題一:低代碼真的是新瓶裝舊酒么?
網(wǎng)易數(shù)帆輕舟低代碼平臺(tái)負(fù)責(zé)人嚴(yán)躍杰
鼓吹低代碼是新瓶裝舊酒的一種主要觀點(diǎn)是,低代碼可視化開(kāi)發(fā)這個(gè)核心特性二三十年前已經(jīng)有人實(shí)踐過(guò)了,比如Delphi、PowerBuiler等IDE工具,但這些工具早就被淘汰了,所以今天的低代碼也沒(méi)戲。但鼓吹這一觀點(diǎn)的人有意無(wú)意的忽略了兩點(diǎn):
第一點(diǎn)是,當(dāng)年即使Delphi和PowerBuilder還是非常初級(jí)的一種低代碼形態(tài),但是在當(dāng)時(shí)桌面應(yīng)用軟件研發(fā)領(lǐng)域也發(fā)揮了巨大作用、占據(jù)了非常大的一個(gè)市場(chǎng)份額。而且他們被淘汰不是因?yàn)?ldquo;低代碼”的問(wèn)題,而是因?yàn)樗麄儧](méi)有跟上互聯(lián)網(wǎng)發(fā)展引發(fā)的軟件需求、技術(shù)和理念的革命。
第二點(diǎn)是,互聯(lián)網(wǎng)發(fā)展所引發(fā)的需求、技術(shù)和理念的革命,包括MDD/DDD等設(shè)計(jì)思想的推廣和普及,為“低代碼”進(jìn)一步發(fā)展帶來(lái)全新的契機(jī)。現(xiàn)階段的“低代碼”產(chǎn)品,圍繞模型驅(qū)動(dòng)思想實(shí)現(xiàn)全棧的可視化開(kāi)發(fā),而且能夠支持各種客戶(hù)端應(yīng)用的設(shè)計(jì)、支持多種數(shù)據(jù)源連接;以DevOps的理念實(shí)現(xiàn)應(yīng)用的自動(dòng)化部署和運(yùn)維,能很好融合并利用云原生體系技術(shù)成果;根據(jù)各種標(biāo)準(zhǔn)協(xié)議實(shí)現(xiàn)開(kāi)放集成,支持各種形式互聯(lián)互通;還有些產(chǎn)品,比如輕舟低代碼產(chǎn)品,還能從DSL層面支持各種UI和邏輯組件的自定義擴(kuò)展。所以可以說(shuō)現(xiàn)在的“低代碼”產(chǎn)品,雖然“低代碼”這個(gè)概念不怎么新,但產(chǎn)品和技術(shù)層面都是一種全面的創(chuàng)新。
所以,回到上面的問(wèn)題,我的回答是低代碼不是新瓶裝舊酒,如果非要瓶和酒來(lái)比喻,我覺(jué)得用舊瓶(低代碼這個(gè)概念)裝新酒(全新的產(chǎn)品和解決方案)來(lái)比喻可能更合適。
問(wèn)題二:低代碼開(kāi)發(fā)就像是拼搭樂(lè)高積木?
網(wǎng)易數(shù)帆輕舟低代碼平臺(tái)負(fù)責(zé)人嚴(yán)躍杰
這種比喻用來(lái)向完全不了解低代碼(但玩過(guò)樂(lè)高)的人解釋低代碼比較合適,但實(shí)際上并不準(zhǔn)確。所有的低代碼產(chǎn)品本質(zhì)上都是在尋找各種編程模型,用來(lái)方便承接各種業(yè)務(wù)需求的表達(dá)。不同的模型,在應(yīng)對(duì)需求場(chǎng)景的廣度,特定場(chǎng)景表達(dá)易用性方面有不同的側(cè)重點(diǎn)。比如outsystems、網(wǎng)易輕舟這類(lèi)低代碼產(chǎn)品,他們提供的包含“頁(yè)面、邏輯、模型、數(shù)據(jù)”這些設(shè)計(jì)對(duì)象的編程模型有比較好的普適性;像airtable、labtree這種電子表格以及明道云、輕流、宜搭這種表單及流程引擎類(lèi)的產(chǎn)品,則比較適合于某些場(chǎng)景的需求表達(dá)。說(shuō)低代碼開(kāi)發(fā)像搭樂(lè)高積木,在表單及流程引擎類(lèi)低代碼產(chǎn)品那里確實(shí)有比較高的相似性,比如表單搭建、流程搭建;在通用性低代碼產(chǎn)品的邏輯設(shè)計(jì)、頁(yè)面設(shè)計(jì)等環(huán)節(jié)也有一定的相似性。但這也只是操作形式上的相似性,低代碼開(kāi)發(fā)的本質(zhì)和核心還是業(yè)務(wù)建模。
另外用樂(lè)高比喻,我覺(jué)得還有一個(gè)相似點(diǎn),值得提一下。陪娃玩過(guò)樂(lè)高的同學(xué)知道,樂(lè)高有無(wú)數(shù)個(gè)系列,幻影忍者系列、城市系列、太空系列、星球大戰(zhàn)系列等等,幾乎所有系列都會(huì)有該系列專(zhuān)用的積木塊。這就好比低代碼平臺(tái)用在不用的行業(yè),比如制造、金融、能源、化工、零售等行業(yè)需要有不同的UI、邏輯等組件。所以面向低代碼平臺(tái)的開(kāi)發(fā),其實(shí)不僅是應(yīng)用的開(kāi)發(fā),還有UI、邏輯等組件開(kāi)發(fā)。這點(diǎn)在通用性低代碼產(chǎn)品那里體現(xiàn)的非常明顯。
問(wèn)題三:低代碼適合開(kāi)發(fā)哪些應(yīng)用?
網(wǎng)易數(shù)帆輕舟低代碼平臺(tái)負(fù)責(zé)人嚴(yán)躍杰
借助低代碼,我們可以創(chuàng)建像普通的web應(yīng)用、小程序應(yīng)用、H5應(yīng)用等各個(gè)端的應(yīng)用。從企業(yè)應(yīng)用方面的,其實(shí)我們可以支持常規(guī)的信息交互類(lèi),比如說(shuō)財(cái)務(wù)、HR、行政、電商的一些系統(tǒng),很多都是人跟信息打交道,或者跟流程打交道的應(yīng)用。因?yàn)樗褂玫募夹g(shù)棧,就是我們常規(guī)的程序員做web應(yīng)用開(kāi)發(fā),做移動(dòng)應(yīng)用開(kāi)發(fā)使用的技術(shù)棧。
我們根據(jù)軟件工程支持的MVVM框架提供了一種軟件設(shè)計(jì)的模型,所以他對(duì)應(yīng)用復(fù)雜度、靈活性的設(shè)計(jì)是比較好的。所以像是一般的信息化系統(tǒng),其實(shí)我們都是可以比較好地實(shí)現(xiàn)和支持的。
另外比較有前景和發(fā)展?jié)摿Φ奈艺J(rèn)為是各種數(shù)字孿生需求場(chǎng)景,比如IOT領(lǐng)域各種設(shè)備監(jiān)控管理,但這個(gè)往往需要各行業(yè)龍頭或者行業(yè)平臺(tái)的推動(dòng)落地。
問(wèn)題四:低代碼不適合開(kāi)發(fā)哪些應(yīng)用?
網(wǎng)易數(shù)帆輕舟產(chǎn)品總經(jīng)理陳諤
如果要用低代碼平臺(tái)去再做一個(gè)零代碼平臺(tái),這就可能不適合。或者說(shuō)用低代碼平臺(tái)去做一個(gè)To C體驗(yàn)非常強(qiáng)的應(yīng)用,重視覺(jué)交互這樣的體驗(yàn),那也不是特別適合。如果想拿它來(lái)做游戲啊,也不是很合適。
問(wèn)題五:低代碼和零代碼的區(qū)別?
網(wǎng)易數(shù)帆輕舟產(chǎn)品總經(jīng)理陳諤
就市場(chǎng)上主流的,我們可以認(rèn)為有零代碼平臺(tái)和低代碼平臺(tái)。零代碼平臺(tái)會(huì)更加追求極致的某些細(xì)分場(chǎng)景上的研發(fā)效率,比如說(shuō)一個(gè)純流程的應(yīng)用,或者一個(gè)純的表單填報(bào),它在細(xì)分場(chǎng)景上有好多試用的地方,有時(shí)候會(huì)分得更細(xì),但是當(dāng)企業(yè)提出一個(gè)有一定復(fù)雜度的、比較通用的企業(yè)應(yīng)用的時(shí)候,這個(gè)既不是一個(gè)純流程的應(yīng)用,也不僅僅是做一些表單的填報(bào),其實(shí)很難判斷用一個(gè)零代碼平臺(tái)到底能做到什么程度,會(huì)不會(huì)有很多地方需要通過(guò)workaround的方式繞過(guò)它。
低代碼這個(gè)分類(lèi)其實(shí)跟我們傳統(tǒng)的軟件開(kāi)發(fā)模式比較接近,從數(shù)據(jù)庫(kù)的設(shè)計(jì)、模型驅(qū)動(dòng)的設(shè)計(jì)出發(fā),它有邏輯、頁(yè)面的概念,但是在這里面它也分為引擎式的低代碼平臺(tái),這個(gè)平臺(tái)在解釋執(zhí)行低代碼的邏輯,本身就是一個(gè)運(yùn)行時(shí),在解釋執(zhí)行上面編寫(xiě)的邏輯,做的配置。我們所處的分類(lèi),更加接近編程語(yǔ)言+IDE的模式,我們會(huì)生成編程語(yǔ)言的代碼,產(chǎn)生編程語(yǔ)言代碼對(duì)應(yīng)的制品,然后發(fā)布到線(xiàn)上。
問(wèn)題六:低代碼開(kāi)發(fā)能否讓程序員失業(yè)?
網(wǎng)易數(shù)帆輕舟產(chǎn)品總經(jīng)理陳諤
低代碼到底是一種加速內(nèi)卷的平臺(tái)呢,還是一個(gè)制造增量的平臺(tái)?其實(shí)從我們目前對(duì)市場(chǎng)的觀察來(lái)看,在數(shù)字化這樣的一個(gè)背景下,低代碼其實(shí)創(chuàng)造的是一種增量的市場(chǎng),它可以使我們的企業(yè)有了想法就馬上可以落地。但這些其實(shí)在以前的企業(yè)里面,很多應(yīng)用開(kāi)發(fā)都是排不上期的。它相當(dāng)于讓企業(yè)有了一個(gè)出口,它關(guān)于數(shù)字化創(chuàng)新、數(shù)字化管理的一些想法,直接能夠有低代碼平臺(tái)找到相應(yīng)的人來(lái)給他開(kāi)發(fā)。那以前是沒(méi)有這樣的平臺(tái),也沒(méi)有這樣的人。其實(shí)這個(gè)需求就被壓下去了,可能壓根就不會(huì)去做。另一方面呢,其實(shí)企業(yè)內(nèi)部還有好多歷史上積累的從技術(shù)改造或者是一些技術(shù)棧的問(wèn)題存在在那里。程序員一直長(zhǎng)期地可能也苦于應(yīng)用系統(tǒng)的需求實(shí)在太緊急了,沒(méi)有機(jī)會(huì)去對(duì)企業(yè)的一些IT技術(shù),一些內(nèi)部的中臺(tái)或是后臺(tái)之類(lèi)的技術(shù)平臺(tái)之類(lèi)的基礎(chǔ)去做相應(yīng)的改進(jìn),那低代碼也會(huì)使程序員有更多的機(jī)會(huì)去發(fā)揮自己的專(zhuān)業(yè),所以低代碼它創(chuàng)造的還是一個(gè)增量市場(chǎng),并不會(huì)使程序員這個(gè)行業(yè)內(nèi)卷下去。
網(wǎng)易數(shù)帆輕舟低代碼平臺(tái)負(fù)責(zé)人嚴(yán)躍杰
我補(bǔ)充一點(diǎn),我們?cè)O(shè)計(jì)的輕舟低代碼產(chǎn)品,實(shí)際是重新定義應(yīng)用軟件研發(fā)的模式。這個(gè)模式中,專(zhuān)業(yè)程序員可以從重復(fù)CRUD中解放出來(lái),專(zhuān)注于復(fù)雜的、可復(fù)用的組件或者邏輯的研發(fā);應(yīng)用軟件的開(kāi)發(fā)工作,則有更接近業(yè)務(wù)理解業(yè)務(wù)的應(yīng)用開(kāi)發(fā)工程師去完成。通過(guò)分離各自關(guān)注點(diǎn),做到專(zhuān)業(yè)的人做專(zhuān)業(yè)的事,才能發(fā)揮出各自最大的價(jià)值。所以低代碼不僅不會(huì)讓程序員失業(yè),而是會(huì)引導(dǎo)程序員去向他更擅長(zhǎng)的領(lǐng)域。
問(wèn)題七:低代碼能否走向“公民化”?
網(wǎng)易數(shù)帆輕舟低代碼平臺(tái)負(fù)責(zé)人嚴(yán)躍杰
要回答這個(gè)問(wèn)題,我覺(jué)得首先要探討一下怎么樣才算是一個(gè)“公民化”產(chǎn)品。估計(jì)有人會(huì)提議以“是否需要接受專(zhuān)業(yè)培訓(xùn)”為衡量標(biāo)準(zhǔn),不需要就是“公民化”、需要就不是“公民化”。有一定道理,但我覺(jué)得并不準(zhǔn)確。舉個(gè)例子反駁,比如圍棋這項(xiàng)運(yùn)動(dòng),你說(shuō)不是公民化運(yùn)動(dòng)吧,我就經(jīng)常跟我7歲兒子下;你說(shuō)是公民化運(yùn)動(dòng)吧,在學(xué)過(guò)圍棋的人眼里,你這連門(mén)都沒(méi)入。所以我說(shuō)這個(gè)評(píng)判標(biāo)準(zhǔn)不準(zhǔn)確。所以我覺(jué)得不要去定義衡量標(biāo)準(zhǔn),用類(lèi)比的方式可能更能讓人接受。如果ppt、excel這類(lèi)產(chǎn)品算“公民化”產(chǎn)品,那我的答案就是,低代碼大概率也會(huì)是“公民化”的產(chǎn)品。但是就像我只會(huì)用excel記錄一下每個(gè)月花出去多少錢(qián),財(cái)務(wù)的同事能用excel做出來(lái)一個(gè)公司財(cái)務(wù)報(bào)表的這樣一個(gè)區(qū)別,有的人用低代碼產(chǎn)品可能就只會(huì)做個(gè)問(wèn)卷調(diào)查,有的人能做一個(gè)ERP系統(tǒng)出來(lái)。這很大程度上不是產(chǎn)品問(wèn)題,是人的問(wèn)題、是需求的問(wèn)題。
當(dāng)然,不同的低代碼產(chǎn)品側(cè)重點(diǎn)不一樣,有的低代碼產(chǎn)品更看重易用性,有的產(chǎn)品更兼顧易用性和通用性的平衡。這些產(chǎn)品走向“公民化”程度、范圍和路徑可能就不一樣。
問(wèn)題八:低代碼安全嗎?
網(wǎng)易數(shù)帆輕舟低代碼平臺(tái)負(fù)責(zé)人嚴(yán)躍杰
說(shuō)低代碼安全或不安全都有一定的道理,主要看關(guān)注哪個(gè)方面。
說(shuō)低代碼安全主要是基于,低代碼跟傳統(tǒng)軟件開(kāi)發(fā)相比,本質(zhì)上是傳統(tǒng)開(kāi)發(fā)中很多需要人做的跟業(yè)務(wù)本身無(wú)關(guān)的、重復(fù)性的工作讓渡給了低代碼產(chǎn)品來(lái)自動(dòng)實(shí)施,我們知道任何系統(tǒng)里面,人都是一個(gè)不安全因素。程序員同學(xué)應(yīng)該都了解,系統(tǒng)bug或者漏洞 99%不是自己寫(xiě)出來(lái),就是同事寫(xiě)出來(lái),還有1%可能是用了一個(gè)不怎么廣泛使用的framework或者lib。所以從軟件研發(fā)的整個(gè)體系去評(píng)估,低代碼都會(huì)比傳統(tǒng)軟件開(kāi)發(fā)更加安全、可控。
說(shuō)不安全,主要是看低代碼產(chǎn)品本身設(shè)計(jì)和質(zhì)量有沒(méi)有做好,因?yàn)榈痛a產(chǎn)品作為一個(gè)軟件生產(chǎn)工廠,它會(huì)成倍的放大問(wèn)題,所以我們對(duì)低代碼產(chǎn)品的設(shè)計(jì)和質(zhì)量要求會(huì)比其他的軟件產(chǎn)品要求更高。還有一點(diǎn)不安全考慮是,很多低代碼產(chǎn)品為應(yīng)用提供的是引擎式運(yùn)行環(huán)境,相當(dāng)于低代碼生產(chǎn)的是一個(gè)個(gè)黑盒應(yīng)用。對(duì)使用者來(lái)說(shuō),這就是一個(gè)不安全因素。所以對(duì)應(yīng)用源碼有安全審計(jì)要求的企業(yè),無(wú)非兩種解決手段:一種是要求引擎式低代碼廠商提供引擎源碼;一種是使用類(lèi)似輕舟低代碼這類(lèi)源碼生成型產(chǎn)品。
總體上來(lái)說(shuō)使用低代碼產(chǎn)品開(kāi)發(fā)應(yīng)用比傳統(tǒng)軟件開(kāi)發(fā)更加安全,而且用發(fā)展眼光看,不管是是從產(chǎn)品技術(shù)層面還是用戶(hù)心理接受度層面,都會(huì)越來(lái)越安全。為什么現(xiàn)在大家不質(zhì)疑各種編程語(yǔ)言的安全性、不質(zhì)疑JVM的安全性本質(zhì)上是一個(gè)道理。
問(wèn)題九:如何選擇低代碼平臺(tái)?
網(wǎng)易數(shù)帆輕舟產(chǎn)品總經(jīng)理陳諤
對(duì)于低代碼平臺(tái)的選擇涵蓋了各個(gè)方面的特性,包括對(duì)我們代碼邏輯描述能力的支持,對(duì)數(shù)據(jù)訪(fǎng)問(wèn)能力支持,對(duì)流程定義能力的支持。對(duì)數(shù)據(jù)的操作,對(duì)界面的布局,對(duì)于流程的定義,這些在企業(yè)應(yīng)用里面是最常見(jiàn)的部分,低代碼平臺(tái)必須要有。
還有一些更加深層的,比如說(shuō)你開(kāi)發(fā)出來(lái)的企業(yè)應(yīng)用,它能不能提供高可用的能力?它的性能在企業(yè)里面是不是達(dá)標(biāo)的?你開(kāi)發(fā)的應(yīng)用如果復(fù)雜度高了,今后別人還能不能維護(hù)得下去?這些都是隱藏低代碼平臺(tái)背后,你真正要為企業(yè)提供服務(wù)所要具備的能力。
問(wèn)題十:低代碼是開(kāi)源的好?還是商用的好?
網(wǎng)易數(shù)帆輕舟低代碼平臺(tái)負(fù)責(zé)人嚴(yán)躍杰
評(píng)價(jià)低代碼產(chǎn)品的好壞,我覺(jué)得比較通用的標(biāo)準(zhǔn)還是看能否滿(mǎn)足需求、能否解決問(wèn)題。至于開(kāi)源的好,還是商用的好,我覺(jué)得不同的企業(yè)、團(tuán)隊(duì)有不同的答案。如果一家企業(yè),有比較強(qiáng)大的技術(shù)研發(fā)能力,又有掌控的動(dòng)機(jī),他很大概率會(huì)選擇開(kāi)源技術(shù),通過(guò)源碼級(jí)研究再結(jié)合自身業(yè)務(wù)需要再進(jìn)行產(chǎn)品化,這樣他能對(duì)技術(shù)、產(chǎn)品到應(yīng)用場(chǎng)景都會(huì)有完全掌控。如果是一家研發(fā)資源比較少技術(shù)能力比較弱的企業(yè),他只希望通過(guò)低代碼做一些滿(mǎn)足他業(yè)務(wù)需要的應(yīng)用,那他大概率會(huì)選擇商用產(chǎn)品。所以這個(gè)問(wèn)題在不同的需求方眼里會(huì)有不同的答案。
了解更多低代碼開(kāi)發(fā)的詳細(xì)內(nèi)容,請(qǐng)查看《低代碼開(kāi)發(fā)江湖混戰(zhàn),企業(yè)該如何正確選擇》選題。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】