駁“低代碼開發取代程序員”論 爲什麼專業開發者也需要低代碼?

低代碼又火了。

近幾年,騰訊、阿里、百度等互聯網大廠紛紛入局,國內外低代碼平臺融資動輒數千萬甚至數億,以及伴隨着熱度而來的巨大爭議……無不說明“低代碼”的火爆。

事實上,低代碼並非新概念,它可以追溯到上世紀80年代的“第四代編程語言”。2014年,Forrester正式提出低代碼的概念。低代碼是一種軟件開發技術,衍生於軟件開發的高級語言,讓使用者通過可視化的方式,以更少的編碼,更快速地構建和交付應用軟件,全方位降低軟件的開發成本。與傳統軟件開發方式相比,低代碼開發平臺整合了軟件開發和部署所需的 IDE(集成開發環境)、服務器和數據庫管理工具,覆蓋軟件開發的全生命週期,我們可以將其理解爲 Visual Studio + IIS + SQL Management Studio(.NET 技 術)或 Eclipse + Tomcat + MySQL Workbench(Java 技術)的組合。

編碼更少、交付更快、成本更低,還覆蓋軟件開發全生命週期,怎麼看低代碼都可以說是不錯的軟件開發工具。那麼,它又爲什麼引發爭議,甚至被其主要用戶羣體之一——程序員所詬病呢?“低代碼開發會取代程序員” 這一觀點大行其是,它說得對嗎?

爲什麼低代碼引起專業開發者的反感?

技術浪潮引發巨大變革,也帶來了無數“取代論”,比如機器翻譯是否取代人類翻譯、機器人記者是否取代人類記者,以及低代碼開發是否取代程序員。

低代碼雖然火爆,但程序員對此抱有不同的心態:

輕視:低代碼技術的諸多優勢只是炒作,該技術更適合初學者,解決不了複雜的技術問題;
恐懼:擔心被低代碼取代;
牴觸:低代碼開發平臺能夠覆蓋所有需求嗎;大量封裝組件使得低代碼開發平臺更像一個黑盒子,可能導致難以debug、難以修改和迭代升級等技術問題;低代碼開發平臺配置有大量組件,簡單的拖拉拽動作即可完成大量開發工作,程序員不再需要厲害的技術能力。
那麼,上述理由真的站得住腳嗎?我們一一來看。

低代碼的門檻真的低嗎?

低代碼開發過程常被比作拼積木:像拼搭積木一樣,以可視化的方式,通過拖拉拽組件快速開發出數據填報、流程審批等應用程序,滿足企業裏比較簡單的辦公需求。

但這並不意味着低代碼開發平臺只能做到這些。

Gartner在2020年9月發佈的《企業級低代碼開發平臺的關鍵能力報告》(Critical Capabilities for Enterprise Low-Code Application Platforms)中,列舉了低代碼的11項關鍵能力。


圖源:https://www.gartner.com/en/do...

這裏我們着重來看其中三項關鍵能力。

  • 數據建模和管理:該指標就是通常所講的“模型驅動”。相比於表單驅動,模型驅動能夠提供滿足數據庫設計範式的數據模型設計和管理能力。開發的應用複雜度越高,系統集成的要求越高,這個能力就越關鍵。

  • 流程和業務邏輯:流程應用與業務邏輯開發能力和效率。這個能力有兩層,第一層是指使用該低代碼開發平臺能否開發出複雜的工作流和業務處理邏輯;第二層是開發這些功能時的便利性和易用性程度有多高。

  • 接口和集成:編程接口與系統集成能力。爲了避免“數據孤島”現象,企業級應用通常需要與其他系統進行集成,協同增效。此時,內置的集成能力和編程接口就變得至關重要。除非確認可預期的未來中,項目不涉及系統集成和擴展開發,開發者都應該關注這個能力。

這些關鍵能力表明低代碼平臺在建模與邏輯方面具備較強的能力,而接口和集成能力可使專業開發人員完成低代碼無法實現的部分,通過低代碼與專業代碼開發的協作實現複雜應用的開發。在涉及高價值或複雜的核心業務時,專業開發人員需要理解業務需求,釐清業務邏輯。從這個層面上看,低代碼開發的門檻並不低。事實也是如此:海比研究在《2021 年中國低代碼/無代碼市場研究報告》中提到,截至 2020 年底,技術人員在低代碼使用者中的比例超 75%,佔主體地位。

低代碼什麼都能做嗎?

程序員的工作圍繞開發需求展開。在選擇開發工具時,程序員通常考慮的首要問題是:這款工具能否覆蓋所有需求?如果需求增加或變更,該工具是否支持相關操作?這些問題同樣適用於低代碼平臺的選型。

在實際項目交付過程中,如果我們僅可以滿足99%的需求,另外1%的需求滿足不了,那麼真實用戶大概率是不會買單的。因此,在評估低代碼產品的時候,我們一定要保證該平臺可以支撐所有系統模塊類型的開發,同時也要具備足夠的擴展性,確保使用純代碼開發出的模塊能夠與低代碼模塊進行無縫集成,而這離不開編程接口。

以國內主流低代碼開發平臺活字格爲例。該平臺提供開箱即用的開發組件,同時爲系統的各個分層均提供編程擴展能力,以滿足企業級應用開發對擴展性的高要求。藉助分層編程接口,開發者可以用純代碼的方式實現新增功能,無需受限於低代碼開發平臺的版本和現有功能。

圖示:活字格的編程擴展能力

當然,就具體應用領域而言,低代碼開發平臺也有其擅長和不擅長的地方。目前,低代碼開發更多地被應用於2B企業應用開發,而對於用戶量特大的頭部互聯網應用、對算法和複雜數據結構要求較高的應用,低代碼平臺則不太適合。

低代碼開發不可控?

“低代碼開發平臺是個黑盒子,內部出問題無法排查和解決。開發過程中發現有問題怎麼辦?迭代升級難以實現怎麼辦?”很多程序員會有這種疑惑。

但我們需要注意的是,低代碼開發平臺本質上仍是軟件開發工具,用戶模型與軟件開發週期支持是其關鍵能力之一。也就是說,成熟的低代碼開發平臺具備軟件開發全生命週期所需的各項功能,從而大大簡化開發者的技術棧,進一步提高開發效率。

具體而言,在面對頻繁的需求變更、棘手的問題排查時,低代碼開發平臺引入了版本管理機制,從而更高效地進行代碼審查、版本管理與協調,以及軟件的迭代升級。至於debug,日誌分析無疑是個好辦法。例如,活字格把執行過程及細節以日誌方式輸出,方便程序員高效debug。

對程序員而言,低代碼平臺是限制還是助力?

“低代碼”意味着更少的代碼。代碼都不怎麼寫了,程序員又該怎麼成長,怎麼獲得職業成就感呢?

其實不然。

首先,開發 ≠ 寫代碼。低代碼平臺可以減少大量重複工作,提升開發效率,把專業開發人員從簡單、重複的開發需求中解放出來,把精力投入到更有價值的事情上,比如精進技術、理清業務邏輯。

其次,低代碼平臺的組件化和拖拽式配置降低了開發門檻,新手程序員能夠藉助此類平臺快速入門,加速升級打怪;有經驗的程序員也有機會參與更多項目,甚至帶團隊,積累更多經驗值,實現快速成長。

寧波聚軒就是一個例子。這家公司自2009年起就專注於智能製造、工業4.0、系統方案集成等領域的探索研究。在接觸了低代碼之後,項目負責人發現開發效率得到極大提升,採用傳統方式需要一個月開發量的項目,現在需要半個月甚至更短的時間就可以完成。此外,其實踐經驗表明,低代碼開發的學習成本較低,畢業新生經過一週學習,兩週就可做項目,一個月就能熟練開發。

該公司在2021企業級低代碼應用大賽中獲得了應用創新獎,獲獎作品是一套軸承行業數字化智造系統。這套系統主要集成了ERP、MES、WMS和設備機聯網系統,覆蓋了銷售、採購、倉庫、計劃、生產、財務等全流程功能,且已經在生產現場投入使用。在開發過程中,寧波聚軒的開發團隊利用低代碼平臺成功解決了定製化要求高、多終端需求等難題,及時完成項目交付。

圖示:寧波聚軒軸承行業數字化智造系統的手持終端和手機移動端系統界面

結語

當迷霧散盡,低代碼開發平臺重新露出高效率開發工具的本色時,你會選擇它嗎?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章