2022 年 5 月 11 日,Google I/O 版:Flutter 3 发布。
Flutter 3是手机/phone、桌面/desktop和WEB上进行跨平台 UI 开发之旅的高潮。Flutter 3 完成了Google从以移动为中心到多平台框架的路线图,Flutter 3提供了 macOS 和 Linux 桌面应用程序支持、进一步的性能改进、手机端和 Web 端相关的更新等等。此外还有关于减少对旧版本 Windows 的支持,以及对 Firebase 集成的改进、新的生产力和性能特性,并支持 Apple Silicon。
Flutter 3 目前已完成对 6 个主要平台的稳定支持。现在,Flutter 可用于构建跨 Android、iOS、Web(桌面)、Linux、Windows 桌面和 macOS 的生产级应用程序。
添加平台支持需要的不仅仅是渲染像素:它包括新的输入和交互模型、编译和构建支持、可访问性和国际化以及特定于平台的集成。谷歌方面表示,其目标是让用户能够灵活地充分利用底层操作系统,同时根据自己的选择共享尽可能多的 UI 和逻辑。
在 macOS 上,Flutter 原生支持 Intel 和 Apple Silicon。在 Linux 上,Canonical 和 Google 合作提供了一个高度集成的、同类最佳的开发选项。Flutter 3 还包含了一些性能改进、Material You 支持和生产力更新。
“在这个版本中,Flutter 完全原生于 Apple 芯片上进行开发。虽然 Flutter 自发布以来一直与基于 M1 的 Apple 设备兼容,但 Flutter 现在充分利用了 Dart 对 Apple 芯片的支持,从而能够在基于 M1 的设备上更快地编译并支持 macOS 应用程序的通用二进制文件。”
稳定版 Flutter 已经支持所有桌面平台
Linux 和 macOS 已达进入稳定版本阶段,其中级联菜单和对 macOS 系统菜单栏的支持
现在可以使用 PlatformMenuBar
在 macOS 上创建菜单栏,该 Widget 支持仅插入平台菜单,并控制 macOS 菜单中显示的内容。
Material 3
Flutter 3 支持Material Design 3,即下一代 Material Design。
Flutter 3 为 Material 3 提供了更多可选支持,包括 Material You 功能如:动态颜色,新的颜色系统和排版、组件的更新以及 Android 12 中引入的新视觉效果,如新的触摸波纹设计和拉伸过度滚动效果。
它可让开发人员设计开发更为优秀的跨平台系统:
主题扩展
Flutter 现在可以使用名为 Theme extensions 的概念向 Material 的 ThemeData
添加任何内容,开发者可以通过 ThemeData
.extensions 去添加自己想要的内容,而不是(在 Dart 意义上)继承 ThemeData
并重新实现其copyWith
、lerp
和其他方法。
此外,作为 package 开发人员,你可以提供 ThemeExtensions
相关内容,有关此内容的更多详细信息,请参阅flutter.dev/go/theme-extensions并 和 GitHub 上 的示例。
Flutter Casual Games Toolkit/Flutter 休闲游戏工具包
对于大多数开发者来说,Flutter 是一个应用框架。但是,休闲游戏开发社区也在不断壮大,利用 Flutter 提供的硬件加速图形支持以及 Flame 等开源游戏引擎。我们希望让休闲游戏开发者更容易上手,因此在今天的 I/O 大会上,我们宣布推出Flutter休闲游戏工具包,它提供了模板和最佳实践的入门工具包以及广告和云服务积分。
尽管 Flutter 并非专为高强度 3D 动作游戏而设计,但即使是其中一些游戏也已转向 Flutter 的非游戏 UI,包括拥有数亿用户的热门游戏,例如 PUBG Mobile《绝地求生》的手机版。对于 I/O,我们想看看我们可以将我们的技术推到多远,所以我们创建了一个有趣的弹球游戏PINBALL,由 Firebase 和 Flutter 的网络支持提供支持。 I/O Pinball 提供了一个围绕 Google 最喜欢的四个吉祥物设计的自定义表格:Flutter 的 Dash、Firebase 的 Sparky、Android 机器人和 Chrome 恐龙,让您与其他人竞争高分。我们认为这是展示 Flutter 多功能性的一种有趣方式。
Flutter 与 Firebase 的集成更新
“今天,我们宣布 Flutter/Firebase 的集成将成为 Firebase 产品的一个完全支持的核心部分。我们正在将源代码和文档转移到主要的 Firebase 存储库和站点中,你可以期望我们与 Android 和 iOS 同步发展 Firebase 对 Flutter 的支持。”
此外,还进行了重大改进,以支持使用 Firebase 流行的实时崩溃报告服务 Crashlytics 的 Flutter 应用程序。通过 Flutter Crashlytics 插件的更新,你可以实时跟踪致命错误,为你提供与其他 iOS 和 Android 开发人员相同的功能集。并简化了插件设置过程,因此只需几个步骤即可从你的 Dart 代码中启动和运行 Crashlytics。
全面支持所有桌面平台上的国际文本输入
国际文本输入,包括使用文本输入法编辑器 (IME) 的语言,如中文、日文和韩文,在所有三个桌面平台上都得到全面支持,包括第三方输入法,如搜狗和谷歌日文输入法。
所有桌面平台的可访问性
Flutter for Windows、macOS 和 Linux 支持无障碍服务,例如屏幕阅读器、无障碍导航和倒置颜色。
macOS 上默认的通用二进制文件
从 Flutter 3 开始,Flutter macOS 桌面应用程序构建为通用二进制文件,原生支持现有的基于 Intel 的 Mac 和 Apple 最新的 Apple Silicon 设备。
弃用 Windows 7/8 进行开发
在此版本中,我们将推荐的用于开发的 Windows 版本提升到 Windows 10。虽然我们不会阻止在旧版本(Windows 7、Windows 8、Windows 8.1)上进行开发,但 Microsoft 不再支持这些版本,我们提供对这些版本的有限测试。虽然我们将继续为旧版本提供“尽力而为”的支持,但我们鼓励您升级。
注意:我们继续为在 Windows 7 和 Windows 8 上运行的 Flutter 应用程序提供支持;此更改仅影响推荐的开发环境。
Flutter 3相关
Flutter 3介绍:Introducing Flutter 3
Flutter 3 中的新功能:What’s new in Flutter 3
Flutter 更新栏目:Flutter What’s new
Flutter 3.0.0 发行说明:Flutter 3.0.0 release notes
原文连接
的情况下转载,若非则不得使用我方内容。