處于成長期的低代碼行業,雖然備受爭議但仍在不斷自我更新迭代。
去年,網易數帆首次發布了輕舟低代碼應用開發平臺。作為云原生系列產品之一,該平臺目前已升級到了 2.0 版本。網易數帆在原有的軟件開發邏輯之上推出了全新的可視化編程語言 NASL,自帶可視化的分支、循環、賦值、調用等編程語法組件,可以通過“拖拉拽”方式快速創建應用。InfoQ 在輕舟低代碼應用開發平臺 2.0 發布會上專訪了網易數帆輕舟產品總經理陳諤,聊聊低代碼的實際應用和未來發展。
研發低代碼平臺,先解決運維問題
低代碼平臺的使用門檻很低,這是經過事實驗證的。即使是對編程沒有概念的人經過培訓后也可以開發出一定的應用,但回到平臺本身的開發卻沒有那么簡單。
相較于輕舟系列的其他產品,低代碼平臺去年才發布,而推出比較晚的原因是,網易數帆在尋找低代碼方向上運維問題的解決方法。
運維最重要的是對應用生命周期的管理,除了常見的創建、發布外,還包括申請資源、啟動或關閉應用、發布應用更新和應用的水平擴展。低代碼平臺還會涉及數據運維的能力,如數據庫的 Schema 變更管理等。
但在云原生體系下,各個企業有同樣的運維體系標準,低代碼平臺面對的接口一致性很高,自動化運維的工作就很容易完成。
“隨著云原生領域的積累,基于云原生的運維標準體系建立起來,整個低代碼的拼圖就完整了。”陳諤說道。網易數帆使用云原生技術完成了運維生命周期管理的建設。比如輕舟提供了中間件平臺,開發者既可以對接已有的中間件、數據庫,也可以托管在輕舟平臺,完成整個中間件、數據庫層面的自動化運維。
基于 Kubernetes 等云原生技術,輕舟低代碼平臺使用標準的技術棧,企業系統只要在云原生生態內,就可以使用輕舟低代碼平臺進行系統搭建。輕舟低代碼平臺的 API 網關和企業應用集成就是低代碼通向云原生底座的入口,將這兩者聯系起來。
“如果沒有云原生體系,即使做出了一個低代碼平臺,企業也不一定認可這個平臺的運維能力。”陳諤表示,“接入企業的運維體系時缺乏標準的情況,使得低代碼很難真正地落地。”
解決了運維問題外,低代碼平臺當然要具備基本的代碼邏輯描述能力、數據訪問能力、對流程定義能力。進一步地,低代碼平臺還要具備高可用、高性能和可維護性等。這些是隱藏在低代碼平臺背后,廠商為企業提供服務時需要具備的能力。
可視化是低代碼開發的一個顯著特點,代碼組合之間會有相應的約束,這讓平臺很少出現代碼層面的錯誤。低代碼平臺還內置了很多常用的函數庫,多數情況下可以調用現成的函數。低代碼開發人員更多是做控制布局、粘合等操作,只要通過前端獲取一些變量狀態就可以完成很多發布前的測試工作。
從信通院對“低代碼無代碼開發平臺通用能力要求測試”中可以看出,當前對低代碼平臺能力的評估,主要從功能完備性、平臺開放度、平臺易用性、平臺安全性等四個方面考慮。
平臺完備性方面比較重要的測試指標有:多端開發能力、可視化開發能力、應用生命周期管理、產物可復用度等;平臺開放度方面比較重要的測試指標包括:體系開放度、擴展能力、編程接口與系統集成等。基于云原生技術的支持,在信通院給出的 99 個必選指標中,輕舟低代碼平臺通過率達 96%。
使用低代碼平臺,需要逐漸嘗試
雖然有很多人并不看好低代碼平臺,但低代碼平臺始終是一定需求下的產物。
輕舟低代碼平臺最早誕生在網易內部的一個前端物料系統。“當初,我們希望開發人員能夠擁有全棧開發能力,通過操作一些前端物料的配置組合就能完成 UI 開發。實踐中我們發現,如果有一種可視化、可配置的操作方式,那么企業內部很多應用的前端都可以輕松搭建出來。但是,服務端一些面向數據的操作和邏輯編寫等還依賴 Java Web、Spring 這樣的專業技術棧,只要解決了這個問題,非專業開發者也能做應用開發。”陳諤說道。
網易數帆內部將低代碼市場分成了兩類:零代碼平臺和低代碼平臺。在陳諤看來,零代碼平臺更加追求細分場景上的研發效率,比如純流程應用、純表單填報,但處理一定復雜度應用的能力卻難以預測。而與傳統軟件開發模式沒有太大區別的低代碼平臺,從數據庫、模型驅動的設計出發,有邏輯、頁面等概念,可以支持更復雜的企業應用。
當前市場上有很多引擎式的低代碼平臺,這類平臺是在解釋執行低代碼上編寫的邏輯,處在運行時的狀態。另一類平臺更接近編程語言 IDE 的模式,生成編程語言的代碼,然后產生編程語言代碼對應的產品,最后發布到線上。輕舟低代碼應用開發平臺屬于后者。
據悉,輕舟低代碼這次推出可視化編程語言 NASL 將低代碼使用場景拓寬到了中等復雜度的企業應用,同時也使低代碼平臺具備了編程語言的能力。
陳諤表示,推出可視化編程語言概念,一是為了避免 bug 進入運行階段,二是可以為這門編程語言做 language server。
開發期間很容易引入各種錯誤,這些錯誤如果留到運行階段,開發人員就要面臨非常麻煩的問題。鑒于類型相關的問題是整個開發過程中最常見的 bug 來源之一,網易數帆引入了靜態類型系統,來做類型檢測。而 language server 完善后,其可以為整個低代碼平臺提供完整的調試能力,不會出現無法跟蹤子系統狀態的情況。
“使用低代碼平臺,對企業來說是一個需要逐漸嘗試的過程。”陳諤說道。企業提出希望使用低代碼平臺的場景,然后網易數帆內部的低代碼教練來幫助企業做開發(當然也可以由低代碼教練培訓企業員工自行開發低代碼應用),之后再落實到實際開發環境中,最后評估應用是否與其運維體系匹配、能不能和業務真正集成等。“需要考慮的東西其實很多,這些都得一點點去嘗試。”
在陳諤看來,當前的低代碼平臺更多是要解決人與數據、人與流程之間的交互問題,主要應用場景是企業內部的信息管理和流程相關的場景。人事系統、財務系統、行政系統等組合出符合企業管理需求的應用系列。
另外一些企業應用場景則是目前通用低代碼平臺還不適合的,例如:
- 企業為客戶提供類似零代碼、可定制的 SaaS 服務。這類需求的復雜度超出了中等復雜度的范圍。
- 強 To C 企業應用。這在前端方面的復雜度也超出了中等復雜度的范圍。
互聯網企業雖然有充分的開發資源,但內部同樣也要面對不斷變化的管理思路,好想法要立刻實踐才能發揮最大的作用。但由于內部開發資源緊張等種種原因,針對公司內部管理的系統開發需求通常會被開發人員排到很靠后的位置,但實際上用低代碼平臺一周就能做出來。
但目前使用低代碼平臺最多的還是傳統企業。傳統企業如今紛紛投身到了數字化轉型當中,但與互聯網企業相比,傳統企業很難招到足夠優秀的軟件開發人員,同時由于這些企業之前開發使用的很多技術棧比較分散,相關維護也有一定的難度。低代碼的開發模式對傳統企業來說是一個非常好的補充。
據陳諤透露,企業在使用低代碼平臺時,主要關注兩方面的問題。
第一,如何跟自己已有的 IT 體系進行集成,尤其是大型企業。比如企業已經采購了 ERP、CRM 等軟件,新應用需要適用于這些系統的接口,但這些接口本身的使用、管理是比較專業,對開發人員有一定的要求。集成不當還可能帶來安全風險。
第二,低代碼平臺產生的代碼怎么與其運維體系進行匹配。現在有很多低代碼平臺產生的應用只能被平臺自身解釋執行,不像是編程語言開發出來,這對運維是很不友好的。
低代碼平臺的優勢還在一些特殊情況中得到了體現。
在今年河南暴雨的時候,很多志愿者自發形成組織來收集尋人信息。但當時志愿者們只能用 Excel,很多細化需求的實現能力有限。而且由于是線上工作,存在上百人同時操作的情況,這導致整個操作很慢。
輕舟的低代碼教練了解情況后,立刻確定了關鍵信息和功能:失蹤人口信息編輯、上傳照片、狀態變更、數量統計、上傳和查看信息權限分離,之后便直接在低代碼平臺上設計數據模型、搭建頁面和做功能實現,經測試后,尋人平臺的 1.0 版本發布上線。
值得注意的是,整個過程省去了與 UI 設計師、前后端開發以及測試的需求溝通時間。這位低代碼教練一個人在與志愿者溝通的同時,僅用 1.5 小時就完成了整個尋人平臺的搭建工作。
低代碼創造了一個增量市場
根據海比研究院的數據,目前中國低/無代碼使用人員規模達到了 42.6 萬人,另外有 164 萬人在使用自有或開源的低代碼平臺或工具。低代碼市場未來還有很大發展空間。
雖然使用門檻低,但陳諤認為,作為一款產品,低代碼平臺依然在一定程度上依賴開發人員對邏輯、業務的掌控能力。
“如果低代碼開發人員對數據庫不熟悉,他編寫數據庫的 query 也有可能產生性能問題。除了業務理解錯誤,開發人員的思維邏輯,尤其是對可能產生錯誤、異常問題的處理等方面考慮不全面,就會出現一些運行錯誤。”
但在陳諤看來,低代碼平臺可以讓每個人從事自己更擅長的工作。“有的人擅長溝通和理解需求,但可能不擅長編程這種符號性、抽象性的工作。低代碼平臺可以把編程的門檻降低,讓溝通能力、理解能力很強,甚至掌握了一些領域專業知識的人成為開發者。這樣,他們有可能成為更好的業務開發人員。”
目前低代碼平臺的使用者中,大概有 40%的人是非專業程序員背景。由于非專業開發人員擁有來源更廣、招聘更便捷特點,針對非專業開發人員的培養體系正在逐漸發展,非專業開發人員的隊伍會越來越壯大。
一方面,低代碼平臺是對專業開發人員很好的補充。專業開發人員在相對重復的業務編碼上花費更多的時間,則意味著他們用在技術改進、解決技術債務等問題上的時間會變少。所以,一部分專業開發人員愿意通過用低代碼平臺來解決一些問題,用這樣釋放出的時間去做一些更能體現程序員價值的事情。
另一方面,低代碼平臺也是對企業數字化軟件生產的一種補充。低代碼平臺可以承擔企業內部相當一部分信息交互和管理應用的開發,這使整個企業的開發市場變得更大,很多研發者可以從事更高階的工作,如專業或通用的組件、中間件開發,算法、架構等,去解決實際的業務問題。
在陳諤看來,當前市場是缺人的狀態,低代碼平臺更多是為企業補充缺少的研發人力,并創造了一個增量市場。
盡管處于爭議之中,但陳諤認為低代碼平臺最后還是會被大家接受。
陳諤用編程語言的發展作類比。從最早的匯編語言到 C 語言、從 C 語言到更高階的 Java,再到后面的 Ruby、Python、JavaScript 等,語言越來越高級。但是很多語言剛出現的時候也受到了眾多質疑。如果把低代碼平臺看成一門屬于這個時代的編程語言,那可想而知,總有一天它會被接受。
“但這一切的前提是低代碼平臺尊重整個軟件工程領域的歷史積累。”陳諤強調。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。