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