久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Flutter+FaaS雙端協議一體開發的方法是什么

159次閱讀
沒有評論

共計 1589 個字符,預計需要花費 4 分鐘才能閱讀完成。

這篇文章主要講解了“Flutter+FaaS 雙端協議一體開發的方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“Flutter+FaaS 雙端協議一體開發的方法是什么”吧!

研發架構的演進

接下來我們帶著這里兩個問題回顧前后端研發架構演進的歷史。

PC 互聯網早期沒有還沒有前后端的概念,此階段單個業務需求通常一個開發人員可以完成研發,前端網頁與后端邏輯都寫在一個工程中。隨著業務越來越復雜,原本開發者負責前后端研發已經變得效率低下,此階段隨著移動互聯網的爆發,服務端需要服務與 PC、Android、iOS 等多種前端。

服務端總是有一個疑問:服務端設計接口時,是應該面向 UI,還是應該面向通用服務?一個方案是抽取一部分服務端做 BFF(Backend For Frontend 服務于前端的后端),作為前后端之間的適配層,核心是解決數據的聚合與編排,重新探索更合理的分層協作模式。

服務端寫 BFF 帶來新的問題,總是包接口無法提升個人能力。如果 BFF 由端側同學開發可以解決這個問題,具體技術方案也是接下來我們要思考的問題。

云端一體化技術方案

Serverless 由 BaaS(Backend as a Sevice)與 FaaS(Function as a Service)兩部分組成。BaaS 主要包括數據庫存儲、消息隊列等能力,針對復雜的需求建議由服務端在 BaaS 層封裝領域服務供 FaaS 層使用。作為端側開發,核心關注客戶端與 FaaS 層的代碼開發。

目前公司 FaaS 環境已經支持 Java、Kotlin、Swift、Dart、Node.js 等多種語言與框架,閑魚通過 Android(Flutter)、iOS(Flutter)、FaaS(Dart Runtime)都使用 Dart 達到語言一體,并且實現協議一體與工程一體。

語言一體:Android、iOS、FaaS 層使用 Dart 語言開發,實現三端語言統一,有效屏蔽 FaaS 層語言學習成本。

協議一體:通過一體化框架屏蔽通信細節,前后端同一份 State,減少協議轉換,前端同學調用 FaaS 服務時,如同調用本地函數一樣簡潔。

工程一體:前后端可以在同一個工程中進行開發,利用 Dart 特性可以通過 Hot Reload 機制進行快速開發聯調。

下單頁一體化實踐

下面以閑魚下單頁一體化為例,通過頁面渲染與交互兩部分展開一體化實踐過程。

下單渲染一體化

從上圖左側可以看出,客戶端渲染此頁面需要在端側請求 5 個接口,處理渲染接口之間的邏輯,把接口返回的 Data 轉為為 ViewModel。經過一體化改造之后,原有在端側的邏輯都移到 FaaS 層,包括聚合 5 個領域服務,處理業務邏輯,進行字段映射與頁面編排,端側無任何渲染與業務邏輯,直接獲取返回的 ViewModel 刷新頁面。以下是云端一體之后的流程圖。

下單頁交互操作一體化

從上圖右側可以看出,有 4 種操作都會改變實付款,原本這些操作處理邏輯都在端側處理,一體化改造之后,端側不存在任何計算邏輯,客戶端每次操作都會請求服務端,有 FaaS 進行紅包是否過期等數據校驗,再返回頁面數據進行刷新。

一體化研發框架

Nexus Framework:基于 Flutter 的一體化移動端 UI 框架。
Logic Engine:基于 Flutter 的一體化通信與調度框架。
Nexus Server:基于 Dart Runtime 的一體化服務端框架。

代碼示例

下圖為客戶端下單頁初始化的代碼示例:

下圖為 FaaS 層對客戶端發起的初始化請求的處理:

感謝各位的閱讀,以上就是“Flutter+FaaS 雙端協議一體開發的方法是什么”的內容了,經過本文的學習后,相信大家對 Flutter+FaaS 雙端協議一體開發的方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計1589字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 木里| 唐河县| 五原县| 临城县| 交城县| 合江县| 通山县| 瑞昌市| 沁源县| 安化县| 稻城县| 鸡泽县| 陵水| 泗阳县| 桦甸市| 浦北县| 汉源县| 历史| 麦盖提县| 云梦县| 南投县| 鄂托克旗| 呼伦贝尔市| 宜城市| 遂昌县| 榆林市| 改则县| 商水县| 宁南县| 开化县| 江达县| 新沂市| 利辛县| 上高县| 祁门县| 北川| 宜都市| 新余市| 景宁| 双桥区| 东宁县|