扣丁書屋

Flutter 正式推出 Windows 平臺支持

自 Flutter 推出以來,我們一直專注于為出色的、擁有定制體驗的應用提供跨平臺解決方案,而且這些應用會被編譯為機器代碼,以充分利用設備的底層圖形硬件?,F在,這一愿景取得了長足的進展,我們為大家帶來了 Windows 平臺支持的首個正式版本,從此 Windows 開發者可以盡享移動開發者一直以來享有的高效率和強大功能。

我們推出 Flutter 的目標是,為您提供所需的工具,讓您可以營造出色的體驗,無論您的目標操作系統如何。因此,我們希望您在任何需要進行像素繪制的地方都可以使用一套統一的核心框架和工具。Flutter 讓您可以營造優美的體驗,凸顯您的品牌和設計。Flutter 運行起來非??焖?,可以直接編譯為機器代碼,同時憑借有狀態熱重載的加持,為您提供高效的交互式開發環境,讓您可以在應用運行時進行變更,并立即查看結果。同時,Flutter 是開放的,有成千上萬的貢獻者為核心框架添加內容,并通過 package 生態系統對其進行擴展。

近 50 萬的應用在使用 Flutter…

到目前為止,我們所見的發展趨勢已經超出我們的預期,使用 Flutter 且已經發布的應用數量已接近 50 萬,其中包含來自 Betterment、BMW 和字節跳動等公司的大型應用,還包含來自 Google 30 個團隊的應用。根據 Statista 和 SlashData 等分析機構的統計,Flutter 在 2021 年成為熱門的跨平臺界面工具包:

  • Bettermenthttps://verygood.ventures/success-stories/betterment
  • Statistahttps://www.statista.com/
  • SlashDatahttps://www.slashdata.co/

我們的數據也印證了這一點,我們的工具在 2021 年全部四個季度的問卷調查中,獲得了 92% 的 Flutter 開發者的一致認可。對于其余 8% 的開發者,我們也希望讓您滿意,我們正在用心聆聽您的聲音!

  • Flutter 2021 年第三季度調研結果分享https://medium.com/flutter/about-web-community-and-code-samples-q3-2021-survey-results-b67f5b997dca

問卷中呼聲較高的一項需求便是支持 Windows 平臺。

如今,我們非常高興地宣布,Flutter 穩定版本全面支持 Windows 應用。

Windows 與 Flutter

數年前,我們提出了一個雄心勃勃的愿景,要將 Flutter 從 iOS 和 Android 移動應用領域擴展到更多平臺,包括 web 端和桌面端。

Flutter 可以在平臺間通用的內容很多: 從可移植、硬件加速的 Skia 圖像處理引擎,到 Flutter 渲染系統,核心原語 (如動畫、主題、文本輸入和多語言任務),以及 Flutter 包含的數百個 widget。

然而,桌面應用并不只是運行在更大屏幕上的移動應用。它們是專門針對鍵盤和鼠標等輸入設備進行設計的。它們的窗口大小可調,且通常在寬屏顯示器上運行。輔助功能、輸入法編輯器和視覺樣式等關鍵領域的習慣也與移動應用有所不同。桌面應用還與底層操作系統中的各種 API 集成: 從文件系統選擇器到設備硬件,再到數據存儲 (如 Windows 注冊表),等等不一而足。

因此,我們在將 Flutter 引入 Windows 的同時,也針對 Windows 進行了定制。

Flutter 的 Windows 實現結合了 Dart 框架和 C++ 引擎,與我們對 Android 和 iOS 提供的支持一致。Windows 和 Flutter 通過包含 Flutter 引擎的嵌入層進行通信,該嵌入層負責翻譯和調度 Windows 消息。Flutter 與 Windows 相互協調,完成界面在屏幕上的繪制,處理窗口大小調整及 DPI 變更等事件,并使用 Windows 現有的方式處理多語言任務 (例如輸入法編輯器)。

△ Flutter 在 Windows 上使用完全相同的 Dart 代碼,但利用了原生 Windows API

您的應用可以使用 Flutter 框架的全部功能,還可以在 Windows 上直接通過 Dart 的 C 語言互操作層,或者使用以 C++ 編寫的平臺插件,與 Win32、COM 和 Windows Runtime API 進行通信。我們還調整了許多通用插件,用來提供對 Windows 的支持,包括 camera、file_picker 和 shared_preferences。更重要的是,社區已為眾多其他 package 加入了對 Windows 的支持,涵蓋了從 Windows 任務欄集成到串行端口訪問的所有內容。

△ 數百個 package 已完成適配,用以支持為 Windows 構建的 Flutter 應用

對于完全定制的 Windows 界面,您還可以使用例如 fluent_ui 和 flutter_acrylic 等 package 來創建可以精美呈現 Microsoft Fluent 設計體系的應用。您也可以使用 msix 工具來封裝您的應用,并上傳至 Windows 的 Microsoft Store 中。

  • fluent_uihttps://pub.flutter-io.cn/packages/fluent_ui
  • flutter_acrylichttps://pub.flutter-io.cn/packages/flutter_acrylic
  • msixhttps://pub.flutter-io.cn/packages/msix

以上措施使得應用在 Windows 上得以擁有精美的外觀,運行快速,并且仍然可以移植到其他桌面或移動設備以及 web 環境中。以下是我們迄今為止看到的一些早期示例:

△ 一些用 Flutter 構建的 Windows 應用的早期社區案例,包括 Harmonoid 和 Rows

  • Harmonoidhttps://github.com/harmonoid/harmonoid
  • Rowshttps://rows.com/

Microsoft 與 Flutter

我們詢問過 Windows 團隊,是否愿意就 Flutter 的支持分享一下他們的感想。以下是來自 Microsoft Windows 開發者平臺聯合副總裁 Kevin Gallo 的分享:

我們很高興看到 Flutter 增加了對創建 Windows 應用的支持。Windows 是一個開放的平臺,我們也熱誠歡迎所有的開發者。我們期待看到 Flutter 的開發者將他們美妙的體驗帶到 Windows,并發布在 Microsoft Store 中。Flutter 對 Windows 的支持讓社區向前邁出了一大步,我們非常期待你們未來給 Windows 帶來的內容與體驗!

來自 Microsoft 的數支團隊都為這一發布做出了貢獻。我們要特別感謝 Fluent 設計團隊對 Windows 上的 Flutter 應用中的圖標所做出的貢獻。他們的 fluentui_system_icons package 因其卓越的品質獲得 Flutter Favorite 認證:

https://pub.flutter-io.cn/packages/fluentui_system_icons

我們對 Microsoft 在 Windows 無障礙功能的投入印象尤為深刻,感謝團隊提供的幫助,確保了 Flutter 從一開始就支持屏幕閱讀器功能。將無障礙功能視為小眾功能是一種錯誤的做法。正如 Microsoft 包容性設計工具包中的這張圖所示,我們理應在設計體驗時考慮適應各種永久性、暫時性或情境性的需求:

https://www.microsoft.com/design/inclusive/

下面的視頻演示了 Flutter 如何與 Windows Narrator 進行集成。我們在本視頻中特意對屏幕進行了模糊處理,目的是讓您了解這項功能對需要它的用戶有多重要。

△ Narrator 是內置于 Windows 的屏幕閱讀器應用,與 Flutter 應用配合得很好

  • Narratorhttps://support.microsoft.com/en-us/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1

Windows 開發工具的生態系統

我們的工具合作伙伴也在增加對 Windows 的支持。這里僅列舉一二:

  • FlutterFlow,即低代碼 Flutter 應用設計工具,宣布支持 Windows,并發布相關功能以幫助開發者的 Flutter 應用適應桌面設備。
  • Realm 是一款超快速本地數據庫。發布了最新版本支持使用 Flutter 構建 Windows 應用,使用 Dart FFI 快速訪問底層數據庫,擴展了他們對 iOS 和 Android 等移動平臺的現有支持。
  • Nevercode 更新了他們的 Codemagic CI/CD 工具,以支持 Windows,讓您可以在云端測試和構建 Windows 應用,并自動部署至 Windows Store。
  • Syncfusion 更新了他們的 widget 套件,以充分利用 Windows。如果您訂閱了他們的工具包,您可以獲得樹形圖和圖表、豐富的數據網格 widget 以及日歷等可視化組件,甚至還支持創建 PDF 和處理 Excel 電子表格。
  • Rive 宣布,其熱門圖形工具套件即將推出 Windows 版本,支持設計師和開發者創建可以通過狀態機實時響應代碼的交互式矢量動畫。他們即將推出的 Windows 版本應用擁有驚人的性能和更低的內存占用,即將在 Microsoft Store 提供下載。

△ Rive 即將在 Windows 的 Microsoft Store 中推出

  • FlutterFlow https://flutterflow.io/
  • FlutterFlow 支持桌面端應用 https://www.youtube.com/watch?v=6jnXHgSQ-Q0
  • Realm https://docs.mongodb.com/realm/sdk/flutter/
  • Real Flutter SDK 發布 https://www.mongodb.com/developer/article/introducing-realm-flutter-sdk/
  • Dart FFI https://dart.dev/guides/libraries/c-interop
  • Codemagic CI/CD 工具 https://flutterci.com/
  • Syncfusion https://www.syncfusion.com/flutter-widgets
  • Rive https://rive.app/

我們非常高興地看到一個成熟的生態系統已經圍繞著 Flutter 構建起來。我們鼓勵大家在開始使用 Flutter 構建 Windows 應用時積極了解上述合作伙伴并嘗試它們提供的工具。

Flutter 2.10 正式提供 Windows 平臺支持

Flutter 2.10 對構建 Windows 應用提供了穩定、生產級別的支持。Flutter 2.10 還包括許多其他功能、性能優化和問題修復,我們將在另一篇文章中為大家詳細介紹這些內容。

  • 安裝和環境配置https://flutter.cn/docs/get-started/install
  • Flutter 2.10 更新一覽https://medium.com/flutter/whats-new-in-flutter-2-10-5aafb0314b12

在接下來的幾個月里,我們還將發布對 macOS 和 Linux 平臺支持的穩定版本,屆時您的生產版 Flutter 應用將得到全套的平臺支持,包括桌面端、web 以及移動平臺。


https://mp.weixin.qq.com/s/A0cVzX2FnvL3aETo6HhuAw

最多閱讀

如何有效定位Flutter內存問題? 1年以前  |  11670次閱讀
Flutter的手勢GestureDetector分析詳解 3年以前  |  7596次閱讀
Flutter插件詳解及其發布插件 2年以前  |  6283次閱讀
在Flutter中添加資源和圖片 3年以前  |  5138次閱讀
Flutter 狀態管理指南之 Provider 3年以前  |  4336次閱讀
發布Flutter開發的iOS程序 3年以前  |  4314次閱讀
Flutter for Web詳細介紹 3年以前  |  4184次閱讀
在Flutter中發起HTTP網絡請求 3年以前  |  3950次閱讀
使用Inspector檢查用戶界面 3年以前  |  3875次閱讀
Flutter Widget框架概述 3年以前  |  3254次閱讀
Flutter路由詳解 3年以前  |  3095次閱讀
JSON和序列化 3年以前  |  3025次閱讀
Flutter框架概覽 3年以前  |  2985次閱讀
推薦5個Flutter重磅開源項目! 1年以前  |  2948次閱讀
為Flutter應用程序添加交互 3年以前  |  2935次閱讀
使用自定義字體 3年以前  |  2838次閱讀
處理文本輸入 3年以前  |  2836次閱讀
編寫國際化Flutter App 3年以前  |  2829次閱讀

手機掃碼閱讀
18禁止午夜福利体验区,人与动人物xxxx毛片人与狍,色男人窝网站聚色窝
<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>