一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在 I/O 看未來 | 社區(qū)投稿 - 一文快速總結(jié) Flutter & Dart 的現(xiàn)狀和未來

谷歌開發(fā)者 ? 來源:未知 ? 2023-05-19 13:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者 / 郭樹煜,谷歌開發(fā)者專家 (Flutter & Dart GDE),《Flutter 開發(fā)實(shí)戰(zhàn)詳解》作者,掘金優(yōu)秀作者(戀貓de小郭),Github GSY 系列開源項(xiàng)目負(fù)責(zé)人

原文發(fā)布于掘金

隨著 Google I/O 2023 的發(fā)布,F(xiàn)lutter 3.10 和 Dart 3.0 也都正式發(fā)布了,不得不說如今 Dart 的版本號終于快追上 Flutter 的版本號了,特別隨著 Dart 3 的發(fā)布,F(xiàn)lutter 在 records 和 patterns 的加持下,開發(fā)體驗(yàn)終于開始步入現(xiàn)代化語言的進(jìn)程。

對于 Flutter 開發(fā)者來說,F(xiàn)lutter 3.10 和 Dart 3.0 可以說是新的分水嶺,詳細(xì)介紹可見下方鏈接,接下來我們就來簡單總結(jié)一下吧。

  • Flutter 3.10 發(fā)布https://juejin.cn/post/7231565908631633979
  • Dart 3 正式版發(fā)布https://juejin.cn/post/7231704360668839994

Flutter 3.10

Flutter 3.10 嚴(yán)格意義上講并不算特大更新,因?yàn)樗皇谴蠹蚁胂笾械?4.0,但是 3.10 也帶來了很重要的變更: iOS 默認(rèn)使用開始使用 Impeller。

在 3.7 版本中 Impeller 就被引入用于未來替換 Skia,原因是 Flutter 團(tuán)隊(duì)面對 Skia 上越來越多的問題無法有效快速推進(jìn),所以走上了自研 Impeller 的道路,而效果也顯著。

3.10 里更新的大多數(shù)篇幅都集中在 iOS 上,可以看到 iOS 上的性能問題一直都在困擾 Flutter 團(tuán)隊(duì),而 Impeller 就是解決的途徑。

那么你問我升級到 3.10 是否可以默認(rèn)就使用 Impeller?我的答案是否定的。對于生產(chǎn)項(xiàng)目,升級到 3.10 第一件事就是把 plist 里的 FLTEnableImpeller設(shè)置為 false,因?yàn)榘凑諝v史規(guī)律,能相對更穩(wěn)定的 Impeller 大概就從 3.10.6 開始。

更建議下個版本才投入 Impeller 到生產(chǎn),個人項(xiàng)目可以開始提前 beta。

當(dāng)然逐步介入 Impeller 是必須使用的,因?yàn)橄聜€版本很大概率 iOS 上的 Skia 就會開始被剔除。

還有一個比較實(shí)用的就是支持 Xcode 無線調(diào)試了。

另外本次更新的還有大量的 Material 3 控件,有新增的例如 NavigationBar、NavigationDrawerSearchBar等,也有 DatePicke、TimePickerBottomSheet的修改,但是我相信國內(nèi)開發(fā)者大多都不是很關(guān)心 M3。

目前需要在 MaterialApp主題配置下通過 useMaterial3才可以啟用 M3,但是下個版本會變成默認(rèn),所以推薦這個版本開始先寫 useMaterial3:false,反正我知道的國內(nèi)設(shè)計師都不大認(rèn)可 M3。

本次還提供了一個騷氣的 API ColorScheme.fromImageProvider,從圖片生成對應(yīng)的 ColorScheme,我只想問大家會用它來配置主題顏色并使用么?

79324c34-f607-11ed-90ce-dac502259ad0.gif

對了,現(xiàn)在默認(rèn)顏色變成紫色了。

Web 的主要更改就是支持 fragment shader 和不用 iframe 可以把 flutter web 嵌套到其他 Web 下,目前 Flutter Web 的未來還是在于 Dart。

  • fragment shaderhttps://docs.flutter.dev/development/ui/advanced/shaders

Dart 3 開始預(yù)覽支持的 WebAssembly native 代碼是官方未來的主流方向,也就是 htmlcanvas 模式慢慢會是 "非主流"。

新的 Dart 編譯為 Wasm 模塊會在加載時間、性能和一致性上得到更好體驗(yàn),同時針對瀏覽器團(tuán)隊(duì)合作,將新的 WasmGC 規(guī)范內(nèi)置到生態(tài)中,從而實(shí)現(xiàn)真正的 native web。

那么可以預(yù)見,隨著 Flutter 3.10 的發(fā)布,接下來的 Flutter 未來路線就更加明朗:
  • 更穩(wěn)定的 iOS Impeller

  • Impeller 支持 Android

  • Skia 退出歷史舞臺

  • Web 在 Dart native Wasm 的支持下天平傾向 CanvasKit

  • 使用 Skia 的 PC 和 Web 與使用 Impeller 的 mobile 會出現(xiàn)更明顯的渲染差異化

最后,不得不說 Flutter 在游戲支持這條路上也越走越遠(yuǎn),而和去年一樣,今年同樣發(fā)布了預(yù)熱小游戲 I/O FLIP該款小游戲是使用 AI 設(shè)計的紙牌游戲,作為第二款 I/O 游戲,構(gòu)建依然采用了 Flutter 和 Firebase 開發(fā)構(gòu)建,整體體驗(yàn)上像是 Demo 版本的爐石傳說。

  • I/O FLIPhttps://juejin.cn/post/7231378331139997757

794a81aa-f607-11ed-90ce-dac502259ad0.gif

結(jié)合之前 2023 Flutter Forward 大會上演示的真 3D 游戲 Demo,可以看到未來 Flutter 在游戲領(lǐng)域還會持續(xù)發(fā)力,期待明年 I/O 有更好的游戲答卷。

  • 2023 Flutter Forwardhttps://juejin.cn/post/7192646390948823098#heading-6

Dart 3

Dart 3 的到來其實(shí)是可以預(yù)見的,因?yàn)樽詮?Flutter Forword 發(fā)布了 Dart 3α 預(yù)覽 之后,大家就對 Dart 3 有了一定的概念,其中最最最重要的就是,現(xiàn)在強(qiáng)制 null safety 了。

  • Dart 3α 預(yù)覽https://juejin.cn/post/7194741144482218045

可能你會說不是 null safety 很久了嗎?但是現(xiàn)在 Dart 3 開始是強(qiáng)制性的 null safety,也就是刪除對 running without sound null safety 的支持。

其實(shí)我見到很多同志依然還在使用非 null safety 的 Dart,是時候要升級了,跑不掉的。

Record, patterns 和 class modifiers 帶來的生產(chǎn)力這里就不多說了,感興趣的可以去看上面的詳細(xì)介紹,隨著 Record, patterns 和 class modifiers 的加入,Dart 在現(xiàn)代語言的語法糖中終于逐步走上正軌,雖然還是「菜鳥」,但是它在慢慢站起來了。

對于未來,Dart 還有兩個主力的方向:
  • native interop: 現(xiàn)在 Dart 通過 dart:ffi已經(jīng)可以直接和原生語言進(jìn)行交互,比如 Java Kotlin interop 以及 Objective-C 和 Swift interop 等,那么未來是不是可以不再需要寫 Plugin,直接通過 native interop 來實(shí)現(xiàn)?現(xiàn)在 Dart 上的大部分?jǐn)?shù)據(jù)庫實(shí)現(xiàn)都已經(jīng)是 ffi 的接入支持。

  • 編程支持: 例如在 json 序列化支持上一直是 dart 的詬病,但是元編程的規(guī)模和固有風(fēng)險,目前 Dart 團(tuán)隊(duì)正在采取一種更有效和徹底的方法進(jìn)行探索,雖然沒有具體的時間,但是還是可以有所期待

  • Kotlin interophttps://dart.dev/guides/libraries/java-interop
  • Objective-C 和 Swift interophttps://juejin.cn/post/7137874832988831751

總體上 Dart 的定位也在從 Flutter 領(lǐng)域?qū)ν馔卣?,比如前面提到?I/O 小游戲,它的后端也是使用 Dart 編寫,目前 pub.dev 上的知名數(shù)據(jù)庫,也都支持脫離 Flutter 單獨(dú)使用。

最后

雖然本次 Flutter & Dart 并不是 Google I/O 的主角,但是可以感受到 Flutter 和 Dart 團(tuán)隊(duì)滿滿的誠意,F(xiàn)lutter 和 Dart 也在逐步實(shí)現(xiàn) Flutter Forward 大會時的承諾,同時在逐步向用戶展示他們未來的可能。

最后,可以明確一點(diǎn): Flutter 3.10 和 Dart 3 還是有坑,但是這不會它們的終點(diǎn),未來的 Flutter 和 Dart 會更加精彩。

7af1c7a2-f607-11ed-90ce-dac502259ad0.png ?

谷歌開發(fā)者

7b0f87ce-f607-11ed-90ce-dac502259ad0.png

在微信和微博平臺搜索 "谷歌開發(fā)者"

關(guān)注官方賬號

7b352844-f607-11ed-90ce-dac502259ad0.gif?點(diǎn)擊屏末||即刻閱讀掘金社區(qū)作者原文

7b477ca6-f607-11ed-90ce-dac502259ad0.png

7b4f3d9c-f607-11ed-90ce-dac502259ad0.png

7b88c972-f607-11ed-90ce-dac502259ad0.png


原文標(biāo)題:在 I/O 看未來 | 社區(qū)投稿 - 一文快速總結(jié) Flutter & Dart 的現(xiàn)狀和未來

文章出處:【微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6231

    瀏覽量

    108116

原文標(biāo)題:在 I/O 看未來 | 社區(qū)投稿 - 一文快速總結(jié) Flutter & Dart 的現(xiàn)狀和未來

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    工業(yè)電機(jī)行業(yè)現(xiàn)狀未來發(fā)展趨勢分析

    過大數(shù)據(jù)分析的部分觀點(diǎn),可能對您的企業(yè)規(guī)劃有定的參考價值。點(diǎn)擊附件查看全文*附件:工業(yè)電機(jī)行業(yè)現(xiàn)狀未來發(fā)展趨勢分析.doc 本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請第
    發(fā)表于 03-31 14:35

    雙模載波芯片CN8513&CN8514智能家居中的創(chuàng)新應(yīng)用

    雙模載波芯片CN8513&CN8514智能家居中的創(chuàng)新應(yīng)用
    的頭像 發(fā)表于 02-10 09:43 ?475次閱讀
    雙模載波芯片CN8513&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;CN8514<b class='flag-5'>在</b>智能家居中的創(chuàng)新應(yīng)用

    鴻蒙Flutter實(shí)戰(zhàn):14-現(xiàn)有Flutter 項(xiàng)目支持鴻蒙 II

    引言 之前的文章鴻蒙Flutter實(shí)戰(zhàn):09-現(xiàn)有Flutter項(xiàng)目支持鴻蒙中,介紹了如何改造項(xiàng)目,適配鴻蒙平臺。 文中講述了整體的理念和思路,本文更進(jìn)步,結(jié)合可實(shí)操的項(xiàng)目代碼,詳
    發(fā)表于 12-26 14:59

    北美運(yùn)營商AT&amp;amp;amp;T認(rèn)證中的VoLTE測試項(xiàng)

    北美運(yùn)營商AT&amp;T的認(rèn)證測試內(nèi)容涵蓋了多個方面,以確保設(shè)備和服務(wù)的質(zhì)量、兼容性以及用戶體驗(yàn)。AT&amp;T的認(rèn)證測試中,VoLTE(VoiceoverLTE)測試項(xiàng)是個重
    的頭像 發(fā)表于 12-06 16:52 ?598次閱讀
    北美運(yùn)營商AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T認(rèn)證中的VoLTE測試項(xiàng)

    鴻蒙Flutter實(shí)戰(zhàn):12-使用模擬器開發(fā)調(diào)試

    f6344b75dc Tools ? Dart 3.4.0 ? DevTools 2.34.1 3.3 關(guān)閉全局 flutter 配置 ~/.zshrc 或 ~/.bash_profile中,刪除或者
    發(fā)表于 11-10 13:13

    鴻蒙Flutter實(shí)戰(zhàn):11-使用 Flutter SDK 3.22.0

    創(chuàng)建了條配置 flutter sdk 的項(xiàng)目: \"dart.flutterSdkPath\": \".fvm/versions/custom_3.22.0\"
    發(fā)表于 11-01 15:03

    鴻蒙Flutter實(shí)戰(zhàn):10-常見問題集合

    Flutter社區(qū)學(xué)歷 [Flutter開發(fā)文檔](https://docs.flutter.cn/) 1.2 學(xué)習(xí)鴻蒙基礎(chǔ)概念和知識,推薦學(xué)習(xí) [鴻蒙生態(tài)應(yīng)用開發(fā)白皮書](http
    發(fā)表于 10-23 17:05

    鴻蒙Flutter實(shí)戰(zhàn):09-現(xiàn)有Flutter項(xiàng)目支持鴻蒙

    添加依賴項(xiàng),首先添加純dart編寫的包,再添加依賴于原生代碼/插件的包。注意挨個添加依賴,不要次添加太多依賴,方便排查定位問題, 解決版本依賴問題,鴻蒙Flutter項(xiàng)目目前需要依賴于3.7版本
    發(fā)表于 10-23 16:36

    鴻蒙Flutter實(shí)戰(zhàn):08-如何調(diào)試代碼

    。 4.調(diào)試 Flutter 主要有兩種調(diào)試方案。 方案 IDE 中直接運(yùn)行 Flutter 項(xiàng)目,IDE 可選擇 Andriod Studio 或者 VsCode,
    發(fā)表于 10-23 16:29

    鴻蒙Flutter實(shí)戰(zhàn):06-使用ArkTs開發(fā)Flutter鴻蒙插件

    ;; } } 以上代碼實(shí)現(xiàn)了個插件類,其核心實(shí)現(xiàn)了FlutterPlugin中的 onAttachedToEngine方法,該方法 Flutter 引擎加載成功后調(diào)用。 onMethodCall中接收
    發(fā)表于 10-22 21:56

    鴻蒙Flutter實(shí)戰(zhàn):05-使用第三方插件

    # 鴻蒙Flutter 實(shí)戰(zhàn):使用第三方插件 鴻蒙Flutter開發(fā)中,如果涉及到使用原生功能,就要使用插件。使用插件有兩種方式,種是自己編寫原生ArkTS代碼,
    發(fā)表于 10-22 21:54

    鴻蒙Flutter實(shí)戰(zhàn):03-鴻蒙Flutter開發(fā)中集成Webview

    # 鴻蒙 Flutter 開發(fā)中集成 Webview ## 主要有兩種方案 ### 使用第三方庫 如 使用`flutter_inappwebview`插件, pubspec.lock 文件中
    發(fā)表于 10-22 21:51

    TAS5805M I2S&;amp;TDM的寄存器有哪些?

    1. 關(guān)于I2S &amp;amp;amp; TDM的寄存器有哪些? 2. 我規(guī)格書寫I2S
    發(fā)表于 10-17 06:45

    onsemi LV/MV MOSFET 產(chǎn)品介紹 &amp;amp;amp; 行業(yè)應(yīng)用

    系列MOSFET介紹。4.onsemiLV/MVMOSFET市場&amp;應(yīng)用。技術(shù)亮點(diǎn)onsemi最新代T10系列MOSFET優(yōu)勢&amp;市場前景。學(xué)習(xí)收獲期望了解onsemiSi
    的頭像 發(fā)表于 10-13 08:06 ?908次閱讀
    onsemi LV/MV MOSFET 產(chǎn)品介紹 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; 行業(yè)應(yīng)用

    Allegro X 23.11 版本更新 I PCB 設(shè)計:鍵移除評審內(nèi)容 &amp;amp;amp; 導(dǎo)入ODB++

    ,助力您提升設(shè)計質(zhì)量和設(shè)計效率。legroXPCBDesigner系統(tǒng)級PCB設(shè)計鍵移除評審內(nèi)容&amp;導(dǎo)入ODB++23.
    的頭像 發(fā)表于 08-30 12:21 ?959次閱讀
    Allegro X 23.11 版本更新 <b class='flag-5'>I</b> PCB 設(shè)計:<b class='flag-5'>一</b>鍵移除評審內(nèi)容 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; 導(dǎo)入ODB++