国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Dart 3.2 更新盤點

谷歌開發者 ? 來源:未知 ? 2023-12-15 15:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者 / Kevin Moore 和 Michael Thomsen

我們隆重宣布推出 Dart 3.2,這一版本針對以下方面做出了改進: 新增了一項語言功能,可對私有 final 字段進行非空升級;通過新增的互操作功能改善了開發者體驗;支持 DevTools 的擴展程序;并更新了我們的 Web 路線圖,包括提供對 Wasm (又名 WebAssembly) 的支持。


私有 final 字段的非空升級


自我們在 Dart 2.12 中引入健全的空安全 (sound null safety) 以來已過去幾年時間。您可以借助空安全聲明哪些類型可為空 (可以包含值或 null),哪些類型不可為空 (始終包含值)。通過將空安全與流程分析相結合,能夠檢測何時可以將可為空的變量 "升級" 為更安全的非空類型:

  • 健全的空安全 (sound null safety)
    https://medium.com/dartlang/announcing-dart-2-12-499a6e689c87
  • 流程分析
    https://dart.cn/null-safety/understanding-null-safety#flow-analysis

int definitelyInt(int? aNullableInt) {
if (aNullableInt == null) {
return 0;
}
// If flow analysis reaches this point,
// aNullableInt can safely promote to a non-null int.
return aNullableInt;
}

自 Dart 2.12 發布以來,類型升級一直是空安全的核心部分,但僅限于局部變量。字段或頂級變量無法升級,例如以下代碼示例:
class Container {
final int? _fillLevel;
Container(this._fillLevel);
check() {
if (_fillLevel != null) {
int i = _fillLevel; // Prior to Dart 3.2, causes an error.
}
}
}

這種局限性由多種復雜的情況導致。在這些情況中,流程分析無法安全地確定字段何時或如何變化。以類上的字段升級為例,如果子類使用 getter 覆蓋字段,可能會存在問題,因為有時會返回 null。

在 Dart 3.2 中,我們改進了流程分析引擎,現在能夠對私有 final 字段實施類型升級。現在,上面的代碼示例可以正常運行。您可以這樣理解: 對于私有 final 字段,它的值在初始分配后永不更改,因此僅檢查一次也是安全的。私有 final 字段升級從 Dart 3.2 起推出,并將應用于配置 3.2 及以上版本 Dart SDK 的項目。

  • 3.2 及以上版本
    https://dart.cn/guides/language/evolution#language-versioning


在 package:lints 3.0 中加入新的代碼分析選項


針對代碼分析,我們還對 package:lints 中的標準代碼分析規則進行了一些改進。此 package 包含默認和推薦的靜態分析規則集,適用于任何根據 dart createflutter create(通過 package:flutter_lints — package:lints 的擴展) 創建的新項目。

  • package:lints
    https://pub.flutter-io.cn/packages/lints
  • package:flutter_lints
    https://pub.flutter-io.cn/packages/flutter_lints

此 lint 集新的主要版本 (版本 3.0)現已推出。我們在此修訂版的核心集中添加了六個 lint,在推薦集中添加了兩個 lint,可用于驗證 pubspec URL,以及驗證是否使用正確的參數調用集合方法等。您可以查看更新日志獲取完整的更改列表。3.0 版本將成為即將發布的新項目的默認版本。您也可以立即升級現有項目。

  • 更新日志
    https://github.com/dart-lang/lints/blob/main/CHANGELOG.md#300
  • 立即升級
    https://github.com/dart-lang/lints#upgrading-to-the-latest-lints


Dart 互操作性更新


提供廣泛的跨平臺支持一直是 Dart 的核心原則。但是,即使一行 Dart 代碼可以做到無需更改就能在所有平臺上運行,大型應用通常仍然需要與現有代碼進行互操作。現有代碼指舊項目的代碼,或其他庫中可用的 API 或系統 API。我們在這一領域投入了大量精力,首先是用于與原生 C API 進行互操作的 FFI。我們目前正在努力擴大該領域,以支持與 Java、KotlinObjective C 和 Swift 的互操作。您可以閱讀下文 Dart Web 部分,了解有關 JS 互操作性的精彩更新。

  • 廣泛的跨平臺支持
    https://dart.cn/overview#platform
  • 與原生 C API 進行互操作
    https://dart.cn/guides/libraries/c-interop
  • Java、Kotlin
    https://dart.cn/guides/libraries/java-interop
  • Objective C 和 Swift
    https://dart.cn/guides/libraries/objective-c-interop

從 Dart 3.2 開始,我們對原生互操作進行了許多改進:

  • 我們為 C FFI 引入了 NativeCallable.isolateLocal 構造函數,它可以根據任意 Dart 函數創建 C 函數指針。這是一項由 Pointer.fromFunction 提供的擴展功能,只能根據頂級函數創建函數指針。

  • NativeCallable.isolateLocal
    https://api.dart.cn/stable/dart-ffi/NativeCallable/NativeCallable.isolateLocal.html
  • Pointer.fromFunction
    https://api.dart.cn/stable/dart-ffi/Pointer/fromFunction.html

  • 我們更新了 Objective-C 綁定生成器,以使用在 Dart 3.1 中添加的 NativeCallable.listener。該生成器現在可以自動處理包含異步回調的 API,例如 Core Motion 這類此前需要手動編寫部分綁定代碼的 API。

  • NativeCallable.listener
    https://api.dart.cn/stable/dart-ffi/NativeCallable/NativeCallable.listener.html
  • Core Motion
    https://developer.apple.com/documentation/coremotion

  • 我們為實現 Java 和 Kotlin 互操作而持續改進 package:jnigen。現在能夠將 package:cronet_http (適用于 Android 的 Cronet HTTP 客戶端的封裝容器) 從手寫的綁定代碼遷移到自動生成的封裝容器

  • package:jnigen
    https://dart.cn/guides/libraries/java-interop
  • package:cronet_http
    https://pub.flutter-io.cn/packages/cronet_http
  • 自動生成的封裝容器
    https://github.com/dart-lang/http/blob/master/pkgs/cronet_http/jnigen.yaml

  • 我們在 Native Assets 功能方面取得了重大進展,該功能旨在解決與依賴原生代碼的 Dart package 分發相關的許多問題。Native Assets 提供統一的鉤子來集成構建 Flutter 和獨立 Dart 應用所涉及的各種構建系統,從而解決相關問題。您可以查看相關文檔獲取預覽。

  • Native Assets
    https://github.com/dart-lang/sdk/issues/50565
  • 文檔
    http://dart.cn/guides/libraries/c-interop#native-assets


適用于 Dart package 的 DevTools 擴展程序


Dart DevTools 是一套用于支持純 Dart 和 Flutter 應用的調試及性能工具。我們在 Dart 3.2 和 Flutter 3.16 中推出了新的擴展框架,讓 package 作者能夠直接在 DevTools 中為其 package 構建自定義工具。因此,包含框架的 pub.dev package 能夠提供特定于其用例的自定義工具。例如,Serverpod 的作者一直在努力為其 package 構建 DevTools,并且很高興在即將發布的 1.2 版本中提供 DevTools 擴展程序。
△計劃納入即將發布的 ServerPod 1.2 版本中的 DevTools 擴展程序

  • DevTools
    https://dart.cn/tools/dart-devtools
  • 推出
    https://medium.com/p/c8bc1aaf8e5f/
  • 擴展框架
    https://pub.flutter-io.cn/packages/devtools_extensions
  • Serverpod
    https://pub.flutter-io.cn/packages/serverpod
  • 1.2 版本
    https://github.com/orgs/serverpod/projects/4


Dart Web 和 Wasm 更新


Wasm (也稱為 WebAssembly) 是一種在 Web 瀏覽器上非常棒的新指令格式,還提供可移植、獨立于平臺的二進制格式,以適用于現代瀏覽器。我們正在將高級托管語言 (如 Dart) 的垃圾回收功能添加到 Wasm 標準中。從 Chrome 119 開始默認啟用 Wasm 的垃圾回收支持 (也稱為 Wasm-GC)。下一個穩定版本 Firefox 120 也將支持 Wasm-GC。那么 Dart、Flutter 和 Wasm-GC 現在是什么情況呢?

  • WebAssembly
    https://webassembly.org/
  • Wasm 的垃圾回收支持
    https://developer.chrome.com/blog/wasmgc/

Dart-to-Wasm 編譯器幾乎配備所有功能。我們對性能和兼容性非常滿意,正在進一步關注邊緣情況,以確保在各種場景中實現暢快運行。

對于 Flutter Web,我們完成了一個新的 "Skwasm" 渲染引擎開發。為了最大限度提高性能,Skwasm 通過 wasm-to-wasm 綁定,將編譯后的應用代碼直接連接到自定義 CanvasKit Wasm 模塊。這是 Flutter Web 多線程渲染支持的首次迭代,進一步提高了幀時間。

  • CanvasKit Wasm 模塊
    https://skia.org/docs/user/modules/canvaskit/

在采用 Wasm 的 Flutter Web 準備結束目前的實驗狀態之前,我們還有一些事情要做:

  • 雙重編譯:生成 Wasm 和 JavaScript 輸出,并在運行時啟用功能檢測,以支持具備或不具備 Wasm-GC 支持的瀏覽器。
  • 現代 JavaScript 互操作性:一種新的基于擴展類型的 JS 互操作機制,當針對 JavaScript 和 Wasm 時,可以在 Dart 代碼、瀏覽器 API 和 JS 庫之間實現簡潔的、類型安全的調用。

  • 擴展類型
    https://github.com/dart-lang/language/issues/2727

  • 支持 Wasm 的瀏覽器 API:新的 package:web,基于現代 JS 互操作機制,取代了 dart:html (及相關庫),借此可輕松訪問瀏覽器 API,并且支持在 JS 和 Wasm 目標上使用。

我們正在開始將大量的內部項目遷移到 package:web 和新的 JS 互操作機制,并希望在下一個穩定版本中向您提供更多更新。與此同時,您可以在我們的 WebAssembly 支持頁面上獲取最新的詳細信息。

  • WebAssembly 支持
    https://flutter.dev/wasm


開始體驗


以上就是我們要與您分享的所有內容。Dart 3.2 現已在 dart.dev 中推出,您也可以通過我們將在后續介紹的 Flutter 3.16 版本使用此產品。盡情體驗新版 Dart 吧!

  • dart.dev
    https://dart.cn/get-dart
  • Flutter 3.16
    https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1




?點擊屏末||即刻開始體驗Dart 3.2



原文標題:Dart 3.2 更新盤點

文章出處:【微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 谷歌
    +關注

    關注

    27

    文章

    6254

    瀏覽量

    111373

原文標題:Dart 3.2 更新盤點

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    USB PD3.2協議更新了什么?

    USB PD3.2不僅是快充技術的里程碑,更是全球能源互聯網的基礎設施。隨著蘋果、華為、三星等頭部廠商全面適配,這一“通用電力語言”正加速重構消費電子與工業設備的能源生態,開啟“一線通充、萬物互聯”的新時代。
    的頭像 發表于 01-25 11:33 ?599次閱讀
    USB PD<b class='flag-5'>3.2</b>協議<b class='flag-5'>更新</b>了什么?

    RFID盤點vs傳統人工盤點:企業庫存盤不準?選對工具是關鍵!

    傳統庫存盤點耗時耗力還不準?RFID手持機帶你告別Excel人工對賬,無需對準、批量識別、隔箱讀取,4步完成倉庫盤點,效率提升10倍以上!本文詳解 RFID 手持機盤點流程、適用場景及核心優勢,助力企業實現庫存可視化管理,提升現
    的頭像 發表于 12-31 14:01 ?258次閱讀
    RFID<b class='flag-5'>盤點</b>vs傳統人工<b class='flag-5'>盤點</b>:企業庫存盤不準?選對工具是關鍵!

    彩屏無線盤點機哪個好?工業級手持終端功能詳解+選購指南!

    彩屏無線盤點機,集成條碼 / RFID 掃描、無線通信、離線存儲功能,工業級 IP66/IP67 防護,適配零售、倉儲、制造多場景。盤點效率提升 3-4 倍,降低人力成本與出錯率,附 5 大選購要點 + 真實案例,幫多 SKU、高周轉企業解決
    的頭像 發表于 12-23 12:13 ?290次閱讀
    彩屏無線<b class='flag-5'>盤點</b>機哪個好?工業級手持終端功能詳解+選購指南!

    TUSB1142:USB 3.2 轉接驅動器的卓越之選

    TUSB1142:USB 3.2 轉接驅動器的卓越之選 在當今高速數據傳輸的時代,USB Type - C 接口憑借其強大的功能和廣泛的應用,成為了電子設備的標配。而 TUSB1142 作為一款專為
    的頭像 發表于 12-16 14:50 ?500次閱讀

    正面對決GPT-5和Germini-3,DeepSeek-V3.2震撼發布

    12月1日,中國 AI創新企業 DeepSeek 再度加速技術迭代,今日宣布推出 DeepSeek-V3.2 與 V3.2-Speciale 兩款模型。公司在官網上指出,DeepSeek-V3.2
    的頭像 發表于 12-02 14:10 ?9483次閱讀
    正面對決GPT-5和Germini-3,DeepSeek-V<b class='flag-5'>3.2</b>震撼發布

    資產盤點 “跑斷腿”?RFID 無感盤點,1 天搞定全廠區

    資產盤點不是 “走過場”,而是摸清家底、降本增效的關鍵。RFID 無感盤點的價值,不止是 “1 天搞定全廠區” 的效率飛躍,更讓資產管理從 “事后核對” 變成 “實時可控”。
    的頭像 發表于 11-18 10:46 ?380次閱讀
    資產<b class='flag-5'>盤點</b> “跑斷腿”?RFID 無感<b class='flag-5'>盤點</b>,1 天搞定全廠區

    倉庫盤點誤差大總出錯,咋整?試試智能盤點解決方法

    倉庫盤點頻繁賬實不符?人工盤點誤差高、效率低,還吃掉利潤?RFID 智能盤點技術幫你解決!可以在2-25 米遠距離批量讀寫,庫存準確率飆升 99%+,盤點時間縮短一半,適配倉儲物流、制
    的頭像 發表于 11-05 11:56 ?390次閱讀
    倉庫<b class='flag-5'>盤點</b>誤差大總出錯,咋整?試試智能<b class='flag-5'>盤點</b>解決方法

    RFID標簽在庫存盤點中的應用

    RFID技術在庫存盤點中的應用正變得越來越廣泛,其通過無線電信號識別特定目標并讀取相關數據的能力,極大地提高了庫存管理的效率與準確性。以下是RFID標簽在庫存盤點中的一些具體應用和優勢:1.快速盤點
    的頭像 發表于 09-03 15:42 ?643次閱讀
    RFID標簽在庫存<b class='flag-5'>盤點</b>中的應用

    Android Studio中的Gemini全面支持Dart和Flutter開發

    在 Android Studio 中創建 Android 應用的 Flutter 開發者將迎來一次重大的飛躍: Android Studio 中的 Gemini 已全面支持 Dart
    的頭像 發表于 08-06 13:52 ?1336次閱讀
    Android Studio中的Gemini全面支持<b class='flag-5'>Dart</b>和Flutter開發

    精準盤點,無憂管理——RFID智能盤點終端解析

    RFID智能盤點終端高效、精準,利用RFID技術實現快速批量識別,實時更新數據,確保庫存信息準確無誤。其輕便易攜設計及簡潔操作界面使盤點工作輕松便捷。此外,該終端具有高可靠性,適用于各種環境,為企業帶來高效、精準的
    的頭像 發表于 07-14 14:17 ?568次閱讀

    聚焦工業網絡與數據通信: Acontis與Unified Automation產品更新情報一覽

    和UnifiedAutomation作為盟通科技的重要合作伙伴,將持續引領相關技術在工業現場的落地與實施。在過去五個月內,Acontis更新了其EC-MasterV3.2與EC-
    的頭像 發表于 05-16 16:04 ?1049次閱讀
    聚焦工業網絡與數據通信: Acontis與Unified Automation產品<b class='flag-5'>更新</b>情報一覽

    ZSKY-3401-3.2A-SOT-23塑料封裝MOSFETS規格書

    電子發燒友網站提供《ZSKY-3401-3.2A-SOT-23塑料封裝MOSFETS規格書.pdf》資料免費下載
    發表于 05-13 18:14 ?0次下載

    盤點風光互補太陽能智慧路燈的10大優點

    盤點風光互補太陽能智慧路燈的10大優點
    的頭像 發表于 05-12 09:52 ?1430次閱讀
    <b class='flag-5'>盤點</b>風光互補太陽能智慧路燈的10大優點

    FPC標簽在盤點中的應用

    RFID是一種通過無線電信號識別特定目標并讀取相關數據的技術。與傳統的條形碼技術相比,RFID技術具有顯著的優勢,如遠距離讀取、存儲更多信息以及更高的準確性和可靠性RFID在庫存盤點中的具體應用1.
    的頭像 發表于 05-09 15:21 ?558次閱讀
    FPC標簽在<b class='flag-5'>盤點</b>中的應用

    IBM發布全新Granite 3.2 AI模型

    Granite 3.2 是小型的 AI 模型,通過對開發人員友好的授權條款,提供推理、視覺和護欄功能。
    的頭像 發表于 03-06 16:47 ?1042次閱讀