精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Flutter和桌面應用的最新進展

系統
眾所周知,在開發 Flutter 時,我們希望通過單一代碼庫支持 Flutter 在各類設備 (包括 iOS、Android、Windows、Linux、macOS 和 Web) 上的應用,并實現原生編譯和游戲級別的視覺效果。

 

眾所周知,在開發 Flutter 時,我們希望通過單一代碼庫支持 Flutter 在各類設備 (包括 iOS、Android、Windows、Linux、macOS 和 Web) 上的應用,并實現原生編譯和游戲級別的視覺效果。Flutter 也已經在 Google 內部廣泛用于 Assistant、Stadia、Cloud Search 以及 Blogger 等項目。在 Google 之外,字節跳動、Grab、Nubank 以及 MGM Resorts 等公司也都已采用 Flutter,并通過 Flutter 提升了生產力和靈活性。

很多人都想了解 Flutter 在桌面操作系統 (包括 Windows、macOS 和 Linux) 上的進展: 據調查和 GitHub 數據顯示,Flutter 的桌面支持一直是最受期待的新功能之一。未來數周內,我們將為大家帶來更多這方面的進展;同時,我們認為有必要先展示來自各個產品功能團隊的成果 (這些成果最終會整合進完整的項目中),并搜集大家的反饋。雖然桌面支持目前已推出技術預覽版本,但我們仍然有大量工作需要完成。

發布模式

繼 macOS 之后,我們還為 Flutter 增加了 Windows 和 Linux 系統的 Profile Mode (性能模式) 和 Release Mode (發布模式) 。例如,如果您運行的是最新版 Flutter,現在可以使用 flutter build windows 命令,將 Flutter 應用編譯為 Windows 可執行文件。此操作使用我們在生產環境中的 AOT 編譯器來創建原生 x64 機器代碼,而這些代碼可分發至那些未安裝 Flutter 的設備上。

  •  Windows 發布模式

https://github.com/flutter/flutter/issues/38477

  •  Linux 發布模式

https://github.com/flutter/flutter/issues/38478

  •  AOT 編輯器

https://en.wikipedia.org/wiki/Ahead-of-time_compilation

桌面級體驗

無論您要構建的是獨立可執行文件還是 Web 應用,桌面級體驗都有其獨特的屬性: 桌面窗口通常采用橫屏模式并可以調整大小、輸入通常由物理鍵盤和鼠標完成,而不是通過屏幕鍵盤和觸摸操作,同時,控件也是基于不同的屏幕內容密度進行的優化。

在框架層面,我們對 Flutter 進行了多項變更以支持桌面級體驗。

  •  在最新版本 Flutter 中創建新項目時,您會看到默認模板包含了對 visualDensity 屬性的引用,該屬性允許控件根據目標平臺調整其密度,從而在桌面平臺上實現更緊湊的間距。其中一個例子就是 TextField: 它可根據指定的密度提供緊湊 (compact)、舒適 (compact)、標準 (standard) 三種間距。
  •  我們優化了對鼠標和鍵盤輸入的支持,其中包括 Windows 上的原始鍵代碼、鼠標右鍵操作、光標更改和滾輪支持。
  •  您現在可以 (通過 Platform 類) 查詢特定平臺,Windows、macOS 和 Linux 平臺均可提供恰當的查詢結果。
  •  我們在最新版本中添加了一個 NavigationRail widget,該 widget 專為在桌面設備和平板電腦上打造桌面級體驗而設計。
  •     visualDensity

https://api.flutter-io.cn/flutter/material/ThemeData/visualDensity.html

  •  桌面端需要更高的屏幕內容密度

https://github.com/flutter/flutter/issues/43350

  •  TextField

https://api.flutter-io.cn/flutter/material/TextField-class.html

  •  為 TextField 實現 visualDensity

https://github.com/flutter/flutter/pull/51438

  •  在 Windows 上實現鍵盤映射

https://github.com/flutter/flutter/issues/52264

    支持光標更改

https://github.com/google/flutter-desktop-embedding/issues/376

  •  NavigationRail widget

https://api.flutter-io.cn/flutter/material/NavigationRail-class.html

外部函數接口

Dart 團隊一直在努力完善外部函數接口 (Foreign Function Interface, FFI) ,以加速平臺集成的進程。對于基于 C 語言的 API,dart:ffi 庫提供了一種直接綁定到原生代碼的機制;Dart 運行時則提供了在 Dart 對象支持的堆上分配內存并調用動態鏈接庫的功能。

  •     通過 dart:ffi 實現 C 語言互操作

https://dart.cn/guides/libraries/c-interop

以下代碼片段為 Windows 系統環境中的一個簡單示例,該示例完全使用 Dart 代碼來調用傳統的 Win32 MessageBox() API: 

  1. typedef MessageBoxNative = Int32 Function(  
  2.     IntPtr hWnd, Pointer<Utf16> lpText, Pointer<Utf16> lpCaption, Int32 uType);  
  3. typedef MessageBoxDart = int Function(  
  4.     int hWnd, Pointer<Utf16> lpText, Pointer<Utf16> lpCaption, int uType);  
  5. final user32 = DynamicLibrary.open('user32.dll');  
  6. final win32MessageBox =  
  7.     user32.lookupFunction<MessageBoxNative, MessageBoxDart>('MessageBoxW');  
  8. void showMessageBox(String message, String caption) => win32MessageBox(  
  9.     0,                      // No owner window  
  10.     Utf16.toUtf16(message), // Message  
  11.     Utf16.toUtf16(caption), // Window title  
  12.     0                       // OK button only  
  13.     );  
  14. …  
  15. showMessageBox('Test Message', 'Window Caption'); // call just like any other Dart function 
  •  完整示例

https://gist.github.com/timsneath/181092c75864001ca37b1b1495b9b396 

在上例中,我們通過兩個 typedef 分別體現了方法的原生和 Dart 版本形式。完成這些定義后,我們便可通過 lookupFunction() 方法加載 Windows 動態鏈接庫 (DLL),lookupFunction() 負責將方法簽名映射到底層的原生入口,DLL 則負責提供方法的實現。最后,我們可以選擇添加一個簡單的慣用包裝器,使其便于從其他 Dart 代碼進行訪問,運行結果如下:

△ 使用 Win32 MessageBox API 的 Windows 簡單示例應用

當然,您不必親自完成這項工作: 有人很可能已經處理好了您要使用的 API。您可以閱讀我們的官方文檔,詳細了解如何在 Flutter 中使用 FFI。

  •  訪問常用 Win32 API 的 Dart 庫

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

  •  官方文檔: 使用 dart:ffi 調用原生代碼

https://flutter.cn/docs/development/platform-integration/c-interop

更新插件模型

從設計上說,Flutter 本身的核心很小。Flutter 并沒有在框架中提供海量內容,而是通過插件和 package (無論是直接來自 Flutter 團隊還是來自更廣泛的生態系統中的貢獻者) 來實現與底層操作系統的集成。

但是,隨著 Flutter 對移動設備、Web 和桌面端的支持日益增多,為每個目標平臺開發插件也變得越來越具有挑戰性。更可能出現的情況是: 一個插件需要多個掌握各自平臺專業知識的作者通力合作,才能完成開發。

一個可行的做法是,在核心插件中定義出通用接口,并在各個平臺上獨立完成具體的實現。因此,正如近期一篇關于現代插件開發的博文所述,我們最近對插件的架構進行了調整,使多個作者能夠更加輕松地合作完成各個平臺的開發。基于目前的進展,插件現在可以明確地聲明其所支持的具體平臺。

  •  博文: 現代 Flutter 插件開發

https://medium.com/flutter/modern-flutter-plugin-development-4c3ee015cf5a

  •  指定插件所支持的平臺

https://flutter.cn/docs/development/packages-and-plugins/developing-packages#plugin-platforms

我們已經開始使用此模型來構建一些核心插件,您也可以在 flutter/plugins repo 中找到一些基于這個聯合開發模型的早期示例。

  •  flutter/plugins repo

https://github.com/flutter/plugins/tree/master/packages/path_provider

請注意,Windows 和 Linux 插件 API 仍在開發之中,因此,雖然我們鼓勵大家多多探索,但目前尚未準備好用于通用生產環境。我們也致力于在 pub.dev 上添加桌面平臺標簽。

在 Windows 上運行: Win32 和 UWP

在 Windows 上進行開發有一個很有趣的點在于,我們會試驗各種架構方法。在任何平臺上,Flutter 應用其實都是內嵌于一個很小的容器應用 (即 "embedder") 中的,這種做法類似 Unity 等游戲引擎。這種特定于平臺的容器應用負責提供入口,與底層操作系統進行協調以使用表面渲染、無障礙功能和輸入等服務,并管理消息事件循環。

[[332122]]

Windows 提供了兩種不同的方法來創建這個容器應用。第一個是使用成熟的 Win32 編程模型來創建 Flutter 內容的入口;這為 Windows 7 等平臺提供了最大的向后兼容性,同時能構建出符合諸多開發者預期的標準 EXE 文件。第二個則是現代 UWP 應用模型,推薦在 Windows 10 上使用。這種方法擁有更廣闊的想象空間,比如能夠幫助開發者將 Flutter 支持擴展至 Xbox 等設備或即將推出的 Windows 10X 操作系統。

  •  Windows 10X

https://docs.microsoft.com/en-us/dual-screen/windows/get-dev-tools

我們一直與多位社區貢獻者一起探討本文所述的不同解決方案。同時我們很期待與微軟緊密合作,共同完成高質量的解決方案。Surface 系列設備正不斷擴展,現在其產品已涵蓋 Android 和 Windows。我們認為 Flutter 可為微軟提供非常有吸引力的平臺,橫跨其全部產品陣容并提供卓越的原生體驗。

盡情探索桌面體驗

桌面體驗目前仍處于技術預覽版狀態,而 API 和工具尚不穩定。在將桌面支持升級到穩定版本之前,我們仍將持續跟進大量需要完成的必要工作,包括改進無障礙功能和本地化支持。

如果您想要試用,則需要使用開發版本。Windows 和 Linux 支持目前僅在 master 渠道上可用,我們也在這個渠道中積極進行著 Flutter 的開發。macOS 在 dev 渠道上可用,雖然穩定性較好,但不建議用于生產環境。您可以在 Flutter master 渠道或 dev 渠道之間進行切換,然后使用以下任一命令來為您使用的平臺提供支持: 

  1. C:\flutter> flutter config --enable-windows-desktop  
  2. $ flutter config --enable-macos-desktop  
  3. $ flutter config --enable-linux-desktop 

一些積極探索的開發者已經 "嘗鮮",在桌面環境中利用 Flutter 創建應用。我們見證的首批 Flutter macOS 桌面應用便包括 Sharezone,這是一款針對德國教育市場的學生管理應用,最初創建的是移動應用版本,但最近增加了網頁和桌面版本。

△ Sharezone Schulplan: 一款面向學生、教育工作者和家長的應用,用于跟蹤家庭作業、學習小組和課程表等情況

  •  Sharezone

https://sharezone.net/

在接下來的數周里,我們將分享更多關于桌面支持的信息;同時,我們也期待著聽到您的反饋。如果您是插件作者,我們建議您開始評估將自己的插件適配至即將到來的這些桌面平臺所需要的開發工作;如果您已發布應用,不妨嘗試將應用作為桌面應用運行,并告訴我們您的運行情況。 

 

責任編輯:龐桂玉 來源: 谷歌開發者
相關推薦

2023-07-17 10:21:25

TC39JavaScript

2012-11-19 10:50:39

思杰CloudStack開源

2015-11-12 09:27:13

C++最新進展

2012-11-19 10:37:57

思杰OpenStack

2009-09-25 09:27:33

Ubuntu 2010最新進展Lucid Lynx

2021-09-14 10:03:35

RustLinux開發工作

2021-09-16 10:15:56

Linux內核Rust

2023-04-06 07:30:02

2014-06-17 09:58:15

容器Google

2012-02-09 09:49:48

2009-03-23 08:44:29

Windows Ser微軟操作系統

2023-04-19 20:30:49

Rust商標政策

2013-04-09 17:27:19

GMIC球移動互聯網大會

2024-06-27 11:02:44

2021-06-15 14:54:23

ReactReact 18SSR

2023-04-26 16:38:08

2021-08-24 10:15:35

模型人工智能計算
點贊
收藏

51CTO技術棧公眾號

www.欧美亚洲| 在线成人h网| 欧美日韩在线免费视频| 午夜久久资源| 国产白浆在线观看| 亚洲高清久久| 亚洲天堂网站在线观看视频| 色啦啦av综合| а√天堂8资源中文在线| 2021国产精品久久精品| 国产精品视频播放| 久久99久久久| 美女视频免费精品| 欧美色图在线观看| 国产青草视频在线观看| 日韩一卡二卡在线观看| 国产一区二区久久久久| 欧美日韩美女在线观看| 亚洲一区二区三区乱码| 日本精品久久久久久| 日韩精品久久久久久| 不卡毛片在线看| 欧美xxxxx精品| 草民电影神马电影一区二区| 亚洲一二三四区| 天堂资源在线亚洲视频| 懂色av成人一区二区三区| 首页国产欧美久久| 欧美国产在线视频| 四季av中文字幕| 日韩三级毛片| 欧美一区二区三区系列电影| www.日日操| 98色花堂精品视频在线观看| 国产精品久久久久aaaa| 精品无人区一区二区三区 | 在线黄色免费看| 97人人在线视频| 亚洲黄色在线视频| 亚洲精品在线观看免费| 色鬼7777久久| 成人一级黄色片| 亚洲japanese制服美女| 在线观看亚洲黄色| 亚洲欧美日韩一区在线观看| 欧美激情网友自拍| 三级影片在线看| 欧美mv日韩| 一区二区三区视频免费| 亚洲永久无码7777kkk| 成人激情自拍| 日韩女优电影在线观看| 男人午夜视频在线观看| 国产一区影院| 精品视频1区2区| 欧美伦理片在线看| 黄色亚洲网站| 日本韩国视频一区二区| 国产一级爱c视频| cao在线视频| 狠狠色狠色综合曰曰| 青青草成人免费在线视频| 欧美xxxx视频| 亚洲一区在线视频| 青草网在线观看| 激情av在线| 亚洲大尺度视频在线观看| 免费cad大片在线观看| 亚洲综合伊人久久大杳蕉| 伊人开心综合网| 一本久道高清无码视频| 久久影院午夜精品| 色综合久久88色综合天天免费| 久久久999视频| 日韩高清中文字幕一区二区| 日本道色综合久久| 中文字幕国内自拍| 国产精品国产三级在线观看| 欧美一激情一区二区三区| 午夜免费视频网站| 国产精品17p| 精品亚洲一区二区三区| 精品人妻少妇嫩草av无码| 经典一区二区| 中文字幕一区二区三区电影| 青花影视在线观看免费高清| 欧美日韩调教| 欧美最顶级的aⅴ艳星| 中文字幕在线日本| 激情另类小说区图片区视频区| 91成人理论电影| 欧美一级做性受免费大片免费| 成人av网站免费| 日本成人黄色免费看| av午夜在线| 亚洲乱码国产乱码精品精可以看| 日韩av在线播放不卡| 都市激情亚洲综合| 7799精品视频| 中文字幕一区二区人妻电影丶| 亚洲品质自拍| 久热精品在线视频| 国产又大又黄视频| 黄页视频在线91| 激情欧美一区二区三区中文字幕| 国产一区精品| 一区二区三区欧美日韩| 黄色a级片免费| 国产精品99久久免费| 日韩精品在线视频美女| 日本激情视频一区二区三区| 亚洲日本欧美| 国产美女精品免费电影| 男人天堂手机在线观看| 国产精品色婷婷| 免费看国产一级片| 精品美女一区| 亚洲成在人线av| 看黄色录像一级片| 国产欧美丝祙| 99re视频在线观看| 91福利在线视频| 精品国产乱码久久久久久虫虫漫画| 91高清国产视频| 国产成人影院| 97在线观看免费| 国产女18毛片多18精品| 久久久亚洲综合| 国产精品无码免费专区午夜| 国产精品xxx| 亚洲剧情一区二区| 国产在线一二区| 精品一区二区三区久久| 日韩少妇中文字幕| 天天综合av| 精品国产第一区二区三区观看体验| 激情无码人妻又粗又大| 久久婷婷久久| 精品亚洲一区二区三区四区五区高| 成人在线app| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美日韩人妻精品一区在线| 一本到12不卡视频在线dvd| 国产精品69久久| 青青青草网站免费视频在线观看| 亚洲高清三级视频| 天堂va欧美va亚洲va老司机| 91超碰国产精品| 91精品在线国产| 毛片在线播放a| 欧美美女一区二区三区| 欧美人与禽zoz0善交| 视频在线观看一区二区三区| 久久综合九色欧美狠狠| 两个人看的在线视频www| 精品盗摄一区二区三区| 国产一级片网址| www.欧美日韩| 国产69精品久久久久久久| 国产精品极品| 2021国产精品视频| 精品视频三区| 欧美偷拍一区二区| 国产视频三区四区| 美女网站一区二区| 正义之心1992免费观看全集完整版| 久久精品国产精品亚洲毛片| 日韩在线视频观看| 国产视频aaa| 一区二区三区在线观看国产| 韩国黄色一级片| 一区在线免费观看| 国产精品伊人日日| 深夜福利视频一区二区| 亚洲欧美国产视频| 中文字幕一区二区三区免费看| 欧美激情在线一区二区| 国产三级生活片| 欧美激情第10页| 国产成人av一区二区三区| 91av久久| 一区二区三区 在线观看视| 一区二区不卡视频在线观看| 综合中文字幕亚洲| 国产免费无码一区二区| 国产精品久久777777毛茸茸 | 99精品视频在线| 69堂成人精品视频免费| 国模私拍一区二区国模曼安| 亚洲色图校园春色| 国产成人a人亚洲精品无码| 欧美日韩国产区| 免费看污片网站| 精品在线播放免费| 国产色一区二区三区| 国产成人一区| 97碰碰视频| 日韩欧美一区二区三区免费观看| 久久久国产精品x99av | 成人在线免费观看网址| 欧美丝袜足交| 国产中文日韩欧美| 国产ktv在线视频| 日韩中文在线中文网三级| 成人免费视频国产| 欧洲av在线精品| 久久免费视频播放| 国产视频一区在线播放| 在线观看免费看片| 久久看片网站| 欧美一二三不卡| 精品国产一区二区三区| 99精品国产高清一区二区| av资源亚洲| 九九九久久国产免费| 国产精品四虎| 亚洲电影免费观看高清完整版在线观看| 成人av网站在线播放| 亚洲国产你懂的| 日本成人免费在线观看| jlzzjlzz亚洲日本少妇| √天堂资源在线| 久久九九精品| 久久国产午夜精品理论片最新版本| 欧美一区二区三| 久久久久久久久久久久久9999| 亚洲久草在线| 国产成人在线一区| 成年人在线网站| 欧美精品在线观看91| av播放在线| 亚洲人成在线观| 香蕉av一区二区三区| 日韩一级片网址| 一级做a爱片久久毛片| 色婷婷精品久久二区二区蜜臂av| 日本在线视频中文字幕| 亚洲免费看黄网站| 91久久久久久久久久久久久久| 国产午夜精品美女毛片视频| 屁屁影院国产第一页| 成人高清视频在线观看| 少妇高潮一69aⅹ| 国产精品一区在线看| 久久精品日产第一区二区三区高清版 | 精品动漫一区二区三区| 欧美成人一二三区| 自拍偷拍亚洲欧美日韩| 蜜桃视频最新网址| 欧美激情在线看| 女人黄色一级片| 国产三级精品三级| 亚洲精品国产熟女久久久| 91首页免费视频| 人妻丰满熟妇av无码久久洗澡| 成人激情校园春色| 亚洲熟女一区二区| 99热在这里有精品免费| 性欧美丰满熟妇xxxx性久久久| av色综合久久天堂av综合| av av在线| av午夜精品一区二区三区| 黑丝av在线播放| 97国产一区二区| 成人乱码一区二区三区av| 91麻豆国产精品久久| 国产交换配乱淫视频免费| 91久色porny| 色噜噜日韩精品欧美一区二区| 久久女同互慰一区二区三区| av网在线播放| 国产精品麻豆视频| 草视频在线观看| 亚洲国产精品久久人人爱| 国产成人亚洲欧洲在线| 色哟哟一区二区三区| 一区二区视频免费观看| 91精品国产品国语在线不卡| 亚洲男人第一天堂| 日韩经典中文字幕| 成人亚洲综合天堂| 欧美成人高清视频| 久草免费在线视频| 国产精品毛片a∨一区二区三区|国| 欧美亚洲黄色| 国产欧美日本在线| 欧洲杯半决赛直播| dy888午夜| 99综合精品| 久久午夜夜伦鲁鲁一区二区| 国内成人免费视频| 亚洲少妇18p| 日本一区二区三区在线观看| 久久国产精品国语对白| 午夜视频在线观看一区二区三区| 男人天堂2024| 欧美一区二区三区白人| 天堂网av2014| 色吧影院999| 黑森林国产精品av| 国产日韩专区在线| 精品国产影院| 一区二区成人国产精品| 亚洲午夜在线| 亚洲精品视频导航| 成人精品视频一区二区三区 | 日韩美女视频一区| 欧美福利视频一区二区| 欧美久久久影院| 欧美一区二区视频| 久久综合久久美利坚合众国| 色偷偷色偷偷色偷偷在线视频| 91视频国产一区| 久久不见久久见免费视频7| 18视频在线观看娇喘| 久久午夜精品| 午夜不卡久久精品无码免费| 最新国产の精品合集bt伙计| 国产又黄又爽又色| 日韩一级片在线观看| 91九色在线porn| 欧美亚洲另类在线| 99久久人爽人人添人人澡| 一本一道久久a久久精品综合| 国产日韩欧美一区| 韩国一区二区三区四区| 国产精品国产三级国产aⅴ原创| 四虎成人永久免费视频| 欧美大片在线观看一区| 麻豆av免费在线观看| 日韩美女福利视频| 老司机凹凸av亚洲导航| 亚洲色婷婷久久精品av蜜桃| 日韩和欧美一区二区| jlzzjizz在线播放观看| 亚洲电影中文字幕在线观看| av中文在线观看| 日韩一级裸体免费视频| 成人自拍视频网| 水蜜桃一区二区三区| 美日韩精品视频| 特级西西人体wwwww| 亚洲一区二区三区自拍| a天堂在线观看视频| 日韩视频精品在线| 精品亚洲a∨| 神马影院午夜我不卡影院| 媚黑女一区二区| 亚洲人成人无码网www国产 | 国产99久久久久久免费看| 亚洲女同性videos| 伊人久久视频| 日韩av在线电影观看| 久久精品女人| 极品蜜桃臀肥臀-x88av| 91九色02白丝porn| 国产午夜在线视频| 国产精品盗摄久久久| 成人网18免费网站| 天天综合网日韩| 中文字幕一区av| 国产裸体无遮挡| 欧美日韩国产成人| 99香蕉久久| 亚洲国产精品久久久久爰色欲| www精品美女久久久tv| 日韩在线播放中文字幕| 亚洲天堂av在线免费观看| 小明成人免费视频一区| 中文字幕剧情在线观看一区| 国内精品伊人久久久久av一坑| 天天看片中文字幕| 亚洲第一精品久久忘忧草社区| 蜜桃av.网站在线观看| 欧美日韩亚洲一区二区三区在线观看 | www.av片| 久久免费精品国产久精品久久久久| 精品人妻一区二区三区潮喷在线| 尤物yw午夜国产精品视频| 欧美aaa级| 四虎4hu永久免费入口| 国产成人精品免费在线| 欧美三级韩国三级日本三斤在线观看| 亚洲欧美日韩在线高清直播| 精品裸体bbb| 超级碰在线观看| 久久久亚洲综合| 成人1区2区3区| 日韩av日韩在线观看| 亚洲自拍偷拍网| 尤物视频最新网址| 欧美一区二区美女| 一个人看的www视频在线免费观看 一个人www视频在线免费观看 | 亚洲一级特黄毛片| 欧美国产欧美亚洲国产日韩mv天天看完整| 大奶一区二区三区| 香蕉视频网站入口| 亚洲电影一级黄| 日本a级在线| 九九九九九精品|