Flutter技術在會展雲中大顯身手

2022-06-07 15:18:11 字數 1647 閱讀 8464

安全篇——多重安全保障護航雲上會展

設計篇——基於服務設計的線上展覽

智慧型推薦篇——深度解讀智慧型推薦系統搭建之路

本篇文章我們將繼續介紹會展雲中的flutter技術應用。

眾所周知,flutter是谷歌公司提供的跨平台ui工具包,支援跨android、ios等多個平台復用**,同時允許應用程式直接與基礎平台的服務互動。其設計目的是使開發人員能夠在不同平台上盡量復用**,交付高效能的應用。

作為可擴充套件的分層系統,flutter有一系列獨立的庫,每乙個庫都依賴於更底層的庫。對於作業系統來說,flutter應用和其他的原生應用的打包方式相同。平台特定的嵌入器提供乙個入口點,和底層作業系統進行協商,訪問諸如渲染介面、輸入輸出、訊息事件迴圈等服務。通過嵌入器,可以將flutter**作為模組整合到現有應用程式,也可以作為乙個完整的應用。

作為flutter的核心組成部分,flutter engine主要由c++編寫,提供了核心api的低階實現,包括影象,文字布局,檔案和網路i/o,外掛程式架構以及dart執行時和編譯工具鏈。開發人員通過flutter framework與flutter互動,該框架提供了一種以dart語言編寫的響應式框架,包括一系列豐富的元件、基礎庫。

flutter module和原生模組之間通過platform channel進行通訊。flutter定義了三種不同型別的channel, 分別如下:

三種channel雖然相互獨立,設計上很相似,都包含如下重要的變數:

訊息在傳送方先通過 codec進行編碼,然後通過messenger傳送,最後在接收方通過codec解碼。

目前我們的混合開發只進行了頁面級別的實踐,一次展示乙個完整的flutter頁面,不存在原生頁view和flutter view在同一頁面混合展示的情況。原生和flutter之間只需要支援頁面跳轉,沒有大量的資料傳輸要求。基於此我們只採用了methodchannel進行通訊。**如下:

flutter端:

編輯刪除

關於混合開發的成本,在剛接入時存在一定的學習和試錯成本,熟悉之後會順利很多。一套**經過適配可以執行在兩個平台上,對開發效率是很大的提公升。

歡迎點選【京東智聯雲】,了解開發者社群

歡迎關注【京東智聯雲開發者】公眾

在原生App中嵌入Flutter

首先有乙個可以執行的原生專案 第一步 新建flutter module terminal進入到專案根目錄,執行flutter create t module module名字 例如 flutter create t module flutter native 執行完畢,就會發現專案目錄下生成了乙個m...

Flutter在真機上執行記錄

本篇記錄下flutter使用真機執行過程中遇到的一些問題。另外,如果android studio外掛程式裝好了,但是flutter doctor還是檢測失敗了,flutter doctor提示可以忽略,應該是as版本更新時,匯入的資料是之前版本引用的,檢測不到位導致的。export pub host...

在Android上面進行Flutter語言國際化

二 初始化專案 三 配置pubspec.yaml 四 建立l10n.yaml 五 main.dart 使用 六 建立中文內容 記錄flutter中語言國際化的方式,該過程中可能會有冗餘步驟,但是卻可以實現功能。這是根據flutter預設專案進行的更改 環境 windows android studi...