前後端開發的邊界越來越模糊

語言: CN / TW / HK
王偉平

象傳智慧創始人、開源應用引擎 YAO 項目主導人、信通院低代碼行業推進中心專家。 曾任九城集團技術總監、新浪雲 SAE 高級產品經理、新浪網高級工程師, 15 年技術產品研發、運營管理經驗。

近日,OSCHINA 和 Gitee 聯合發佈了《2022 中國開源開發者報告》象傳智慧創始人,信通院低代碼行業推進中心專家王偉平在報告中對開源大前端領域發展進行了解讀,以下為原文。


前後端開發的邊界越來越模糊

2022 年,這一年發生了很多大事,註定會被歷史銘記。寒冬已至, IT、互聯網行業裁員潮席捲全球,企業不得不去考慮如何降本提效。這一年,Flutter 發佈 3.0 版本, 穩定支持 6 大平台;Deno 完成 2100 萬美元 A 輪融資;國內低代碼/零代碼方向的開源項目不斷湧現,迭代翻新。

綜合各類新聞事件,可以看出幾大方向:

(1)JavaScript/TypeScript 在後端開發領域的應用越來越廣泛。2022 年,JavaScript 在 Github 語言使用榜單排名第一,繼續佔據主導地位。在開源社區,你幾乎可以找到任何場景的 JavaScript 實現。NodeJS、Deno、Bun 等 runtime 賦予了 JavaScript 強大的後端能力,掌握 JavaScript,具備一定的數據庫、REST API 基本常識,即可獨立完成應用開發。

(2)跨平台技術棧成為主流。一套代碼多平台適配,為企業節省至少一半的研發成本。React Native、Flutter 等跨平台方案更加成熟。使用 Flutter、React Native 等框架,開發效率更高,交互體驗與原生無異。

(3)低代碼/無代碼是大勢所趨。迫於成本壓力,企業更需要可以獨立完成應用開發的工程師。前後端技術也都朝着讓編程更簡單的方向發展。低代碼不僅不會替代工程師,反而對工程師的抽象設計能力有更高的要求,幫助工程師逃離無趣的業務邏輯,有更多時間學習思考創造。

在潮流湧動的當下,一種專門針對特定應用領域的計算機語言——DSL (domain specific language),被廣泛用於低代碼技術。使用 DSL,可以將常見功能抽象為 Table、Form 等部件之後,再組裝為應用,最後由 DSL 解釋器或編譯器將其翻譯為目標平台代碼。事實上,從彙編到低代碼, 每一次編程語言的升級,都可以看成是在簡化程序的邏輯表述,把更多的工作交由編譯器(或解釋器)來完成,從而達到提高編碼效率的目的。

在人機交互細節方面,DSL 可以根據目標平台特性分別實現。例如,同一段 Table DSL,在 WEB 端可以使用 React/VUE 實現,在移動端可以使用原生 SDK 實現,在遊戲界面內可以使用遊戲 UI 引擎實現,也可以使用 Flutter 等跨平台 UI 框架統一實現。通過這種方式,可以更優雅地實現一套代碼多平台適配,開發效率更高、無技術棧依賴,交互體驗等於各平台原生。

前後端聯調、測試在應用開發過程中佔用大量時間,而 DSL 組裝方案可以完美解決這個問題。將數據交互邏輯封裝到部件中,應用組裝時,為每個部件實例指定數據源,可節省大量前後端聯調測試時間。應用開發(組裝) 不再有前後端邊界,節省溝通成本,有效提升應用開發效率。


《2022 中國開源開發者報告》報告由” 前沿開源技術領域解讀 “ ” 中國開源創業觀察 2022“,以及” 開發者畫像分析 “ 三個章節組成。

在 “前沿開源技術領域解讀” 部分,多位在其領域有所建樹的一線開發者和開源商業化公司創始人,對目前國內外流行的前沿開源技術領域過去的發展和未來的趨勢進行了深入的洞察,覆蓋開源雲原生、開源 AI、開源大前端、開源大數據、開源 DevOps、RISC-V、開源操作系統、開源數據庫、編程語言九大領域。

欲瞭解更多報告內容,請點擊:http://gitee.com/report/china-open-source-2022/