本次 Flutter 3.0 主要包括 macOS 和 Linux 的穩(wěn)定版發(fā)布,以及相關(guān)的性能改進等。原文鏈接 https://medium.com/invertase/please-welcome-flutter-3-0-44b22d8a5675
我不敢相信又到了另一個主要的Flutter穩(wěn)定版本的時候了。是的,各位,歡迎Flutter 3.0。
去年,在Google I/O上,F(xiàn)lutter團隊宣布了Flutter 2.2。從那時起,F(xiàn)lutter有一些重大改進和穩(wěn)定的發(fā)布。AtInvertase,作為一家開源公司,我們也感謝數(shù)百名社區(qū)貢獻者為Flutter所做的所有辛勤工作;榮譽,大家!它顯示了Flutter的表現(xiàn)有多出色,以及其團隊在解決關(guān)鍵問題、升級Flutter并將其提升到一個新的水平方面的響應(yīng)能力。
本文將總結(jié)Flutter和Dart的新功能。
介紹Flutter 3.0
Flutter主要設(shè)計為便攜,能夠創(chuàng)建漂亮的應(yīng)用程序。Flutter開發(fā)人員工具專注于使我們的開發(fā)過程快速高效。
在Google I/O 2022上,F(xiàn)lutter 3.0宣布了!讓我們看看這個主要版本有什么新功能!
macOS和Linux終于穩(wěn)定了!
Windows、Web、Android和iOS已經(jīng)穩(wěn)定了一段時間,最后,我們可以歡迎macOS和Linux加入穩(wěn)定支持列表。Flutter 3是Flutter迄今為止旅程中最重要的里程碑之一,因為Flutter 3.0正式支持穩(wěn)定頻道上的所有六個平臺。
Flutter Web上的改進
Flutter web在這個版本中沒有收到很多升級。然而,有一些重大的增強,特別是在性能方面。
應(yīng)用程序生命周期API
一個新的API,為您提供對Flutter框架、引擎和內(nèi)容的完全控制。這允許您在網(wǎng)絡(luò)上以無頭模式運行Flutter。一個例子可能是在顯示登錄屏幕或進度條時預(yù)加載內(nèi)容!
您可以在 gallery.flutter.dev(源代碼)上看到這一新更改,在那里您將看到一個啟動屏幕,可以放大并加載整個應(yīng)用程序。
更快的圖像解碼和滾動
適用于Web的Flutter 3在圖像解碼和滾動方面有了很大的改進,特別是使用Chrome 99+。
事實上,F(xiàn)lutter正在利用瀏覽器中新的Web編解碼器API來改進解碼圖像,并引入了更好的滾動方式,在解碼圖像時很有可能獲得60 fps。
Flutter Dev工具
Flutter DevTools是Flutter的絕佳補充,有助于盡可能高效地調(diào)試任何Flutter應(yīng)用程序。Flutter DevTools 2.12.2中有一些更新
- 增強性能選項卡下的跟蹤
- “網(wǎng)絡(luò)”標簽頁上的改進
- 提供商跟蹤更改通知器的專用插件
Android和iOS更新
Android和iOS從一開始就是領(lǐng)先的平臺,在Flutter 3中,他們進行了一些重大升級。
可折疊設(shè)備支持
Flutter團隊和微軟合作,為可折疊設(shè)備提供更好的支持。
材料3個小部件
我們都一直在等待Material 3,是的,它已經(jīng)登陸了Android版Flutter。這是對Material小部件的大規(guī)模更新,它使開發(fā)人員能夠歡迎Material You進入他們的Android應(yīng)用程序。
Material 3(也稱為Material You)是下一代Material Design。重大變化包括色彩系統(tǒng)改進、排版改進和許多組件的更新。
Flutter中的Material 3小部件具有一些功能,包括
- 自適應(yīng)顏色
- 新按鈕
- 新應(yīng)用程序菜單
- 可變字體支持
在Flutter 3.0中使用Material 3需要做的是通過參數(shù)啟用它ThemeData
return MaterialApp(
theme: ThemeData(useMaterial3: true),
// ...
);
增強的平臺視圖
Android上的平臺視圖支持已重新架構(gòu),使原生內(nèi)聯(lián)添加更加流暢。
讓Flutter工作
該項目是一個演示,旨在通過將Flutter集成到現(xiàn)有應(yīng)用程序中來幫助人們測試Flutter。此回購協(xié)議中包含一個Flutter插件模塊,其中包含顯示彈出窗口以捕獲用戶反饋的用戶界面和邏輯(“凈推廣者分數(shù)”)。除了該模塊外,還有三個適用于iOS、Android和Web的新聞提要應(yīng)用程序,分別使用SwiftUI、Kotlin和Angular構(gòu)建。在這里閱讀更多關(guān)于讓Flutter工作
Flutter休閑游戲工具包
Flutter正在利用Flutter和Flame等開源游戲引擎提供的硬件加速圖形支持,使休閑游戲開發(fā)人員更容易開始。
其他更新
- 增強code lints
- 改善桌面可訪問性
- 層疊菜單
- 桌面系統(tǒng)菜單支持
- 主題擴展
- iOS 的簡化發(fā)布模式
- CJK桌面支持
- 已簽名的可執(zhí)行文件
- Apple Silicon原生二進制文件(在此處閱讀更多內(nèi)容)
介紹Dart2.17
Dart 2.17穩(wěn)定版與Flutter 3.0一起宣布,以及開發(fā)人員一直在等待的許多期待已久的功能。Dart是Flutter背后的秘密醬汁,Dart的任何改進都將有助于改善Flutter的發(fā)展。我們來看看新功能。
增強的枚舉
A massive update has landed for enum to super-charge them. We use leverage extensions to extend the functionality of enums including defining methods. Starting from Dart 2.17, we no longer need to use our older model to work with enum .
enum Cars {
tesla('Model X', 200);
bmw('X6', 120);
porsche('Tycon', 220);
final String name;
final int price;
const Cars(this.name, this.price);
String get nameAndPrice => '$name:$price';
String greeting(String yourName) {
return 'My name is $yourName and I have a $name that costs $price!';
}
@override
String toString() {
return 'The name is $name and price is $price';
}
}
void main() {
print(Cars.tesla.greeting('Majid'));
print(Cars.bmw);
print(Cars.porsche.name);
}
超級構(gòu)造函數(shù)
這可能是我最喜歡的方法之一,它將速記我們的編碼,您可以在其中將構(gòu)造函數(shù)參數(shù)傳遞給超類。
讓我們來探索一下新語法的樣子。我們以前有下面的舊語法
class Animal {
Animal(this.name);
final String name;
}
// Old way: before Dart 2.17
class Dog extends Animal {
Dog(String name, this.age) : super(name);
final int age;
}
新的語法很簡單
class Animal {
Animal(this.name);
final String name;
}
// New way: Dart 2.17 and above
class Dog extends Animal {
Dog(super.name, this.age);
final int age;
}
在任何地方命名args
以前,我們必須在構(gòu)造函數(shù)的最后位置添加名稱參數(shù)。從Dart 2.17開始,我們不再需要這樣做。您可以將命名參數(shù)放在構(gòu)造函數(shù)的任何地方。文章來源:http://www.zghlxwxcb.cn/news/detail-643196.html
class Animal {
Animal(this.name);
final String name;
}
class Dog extends Animal {
Dog(super.name, {required this.age});
final int age;
void bark() => print('$name is $age year-old and is barking');
}
void main() {
Dog(age: 4, 'Lucy').bark();
}
下一步是什么?
我試圖總結(jié)并為您提供Flutter 3.0的最佳功能。然而,我建議觀看主旨演講,享受精彩的演講和激動人心的采訪。
您可以閱讀Introducing Flutter 3和Dart 2.17:生產(chǎn)力和集成博客以獲取更多信息。
我相信Flutter繼續(xù)以更多功能給我們帶來驚喜,我希望Flutter社區(qū)是Flutter成功的重要組成部分,可以幫助增強Flutter生態(tài)系統(tǒng)。
盡管如此,我們在Invertase的目標是以不同的方式支持Flutter社區(qū),并希望改善Dart和Flutter生態(tài)系統(tǒng)。我們開始填補我們認識到的空白,并努力以我們的開源心態(tài)和努力服務(wù)。
事實上,我們已經(jīng)開始通過FlutterFire、Melos、Spec等項目來做這件事!在接下來的幾周里,我們?yōu)槟虵lutter社區(qū)提供了精彩的新聞和更新。文章來源地址http://www.zghlxwxcb.cn/news/detail-643196.html
到了這里,關(guān)于Flutter 3.0 發(fā)布啦~快來看看有什么新功能-2022 Google I/O的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!