它来了!Flutter 3.0 发布全解析
我们在手机、桌面和网络上进行多平台 UI 开发的历程达到了顶峰。
我们很高兴地宣布,作为谷歌 I/O 主题演讲的一部分,我们今天推出了 Flutter 3。Flutter 3 完成了我们从以移动为中心到多平台框架的路线图,提供了对 macOS 和 Linux 桌面应用的支持,以及对 Firebase 集成的改进,新的生产力和性能特性,并支持 Apple Silicon。
The journey to Flutter 3
我们创办 Flutter 的初衷是试图彻底改变应用开发:将网络的迭代开发模式与硬件加速图形渲染和像素级控制相结合,而这在以前是游戏的专利。自 Flutter 1.0 测试版以来的四年里,我们逐渐在这些基础上发展,增加了新的框架功能和新的小工具,与底层平台更深入的整合,丰富的包库和许多性能和工具的改进。
随着产品的成熟,越来越多的人开始用它构建应用程序。今天,有超过 50 万个应用程序是用 Flutter 建立的。来自 data.ai 等研究公司的分析,以及公众的评价,表明 Flutter 被许多细分领域的客户所使用:从微信等社交应用到 Betterment 和 Nubank 等金融和银行应用;从 SHEIN 和 trip.com 等商务应用到 Fastic 和 Tabcorp 等生活方式应用;从 My BMW 等伴侣应用到巴西政府等公共机构。
开发人员告诉我们,Flutter 有助于在更多的平台上更快地构建漂亮的应用程序。在我们最新的用户研究中。
91% 的开发者认为 Flutter 缩短了构建和发布应用程序的时间。
85% 的开发者认为 Flutter 使他们的应用程序比以前更漂亮。
85% 的人认为 Flutter 使他们的应用比以前能在更多的平台上发布。
在 Sonos 最近的一篇博客文章中,讨论了他们改造后的设置体验,他们强调了其中的第二个问题。
Introducing Flutter 3
今天,我们推出 Flutter 3,这是我们填补 Flutter 所支持的平台的旅程的高潮。有了 Flutter 3,您可以从一个代码库中为六个平台构建更好的体验,为开发者提供无与伦比的生产力,并使初创企业从第一天起就能将新的想法带到完整的可触达市场。
在以前的版本中,我们用网络和 Windows 支持来补充 iOS 和 Android,现在 Flutter 3 增加了对 macOS 和 Linux 应用的稳定支持。增加平台支持需要的不仅仅是渲染像素:它包括新的输入和交互模型、编译和构建支持、可访问性和国际化,以及特定平台的整合。我们的目标是让你能够灵活地充分利用底层操作系统,同时尽可能多地分享你选择的用户界面和逻辑。
在 macOS 上,我们已经支持英特尔和苹果 Silicon,并提供通用二进制支持,使应用程序能够打包可执行文件,在两种架构上原生运行。在 Linux 上,Canonical 和谷歌已经合作为开发提供了一个高度集成的、最好的选择。
Superlist 是 Flutter 如何实现美丽的桌面体验的一个很好的例子,它今天推出了测试版。Superlist 提供了超强的协作,通过一个新的应用程序,将列表、任务和自由形式的内容结合在一起,成为待办事项和个人计划的新方式。Superlist 团队选择 Flutter 是因为它能够提供快速、高度品牌化的桌面体验,我们认为他们迄今为止的进展证明了为什么它被证明是一个伟大的选择。
Flutter 3 还对许多基本要素进行了改进,提高了性能,支持 Material You,并更新了生产力。
除了上述工作外,在这个版本中,Flutter 可以完全原生在苹果芯片上进行开发。虽然 Flutter 自发布以来一直与 M1 驱动的苹果设备兼容,但 Flutter 现在充分利用了 Dart 对苹果芯片的支持,在 M1 驱动的设备上实现了更快的编译,并支持 macOS 应用程序的通用二进制文件。
在这个版本中,我们为 Material Design 3 所做的工作基本完成,使开发者能够利用一个适应性强、跨平台的设计系统,提供动态的色彩方案和更新的视觉组件。
我们详细的技术博文阐述了这些以及 Flutter 3 的许多其他新功能。
Flutter 由 Dart 驱动,这是一种用于多平台开发的高生产力、可移植的语言。我们在这个周期中对 Dart 的工作包括减少模板和帮助可读性的新语言功能,实验性的 RISC-V 支持,升级的 linter 和新的文档。关于 Dart 2.17 中所有新改进的进一步细节,请查看专用博客:
https://medium.com/dartlang
Firebase and Flutter
当然,建立一个应用程序不仅仅是一个 UI 框架。应用程序发布者需要一套全面的工具来帮助你构建、发布和运营你的应用程序,包括认证、数据存储、云功能和设备测试等服务。有多种服务支持 Flutter,包括 Sentry、AppWrite 和 AWS Amplify。
谷歌提供的应用服务是 Firebase,SlashData 的开发者基准研究显示,62% 的 Flutter 开发者在其应用中使用 Firebase。因此,在过去的几个版本中,我们一直在与 Firebase 合作,以扩大和更好地将 Flutter 作为一个一流的集成。这包括将 Flutter 的 Firebase 插件提高到 1.0,增加更好的文档和工具,以及像 FlutterFire UI 这样的新部件,为开发者提供可重用的 auth 和 profile 界面的 UI。
今天,我们宣布 Flutter/Firebase 的整合将成为 Firebase 产品中完全支持的核心部分。我们将源代码和文档转移到 Firebase 的主仓库和网站中,你可以指望我们与Android和iOS同步发展 Firebase 对 Flutter 的支持。
此外,我们还进行了重大改进,以支持使用 Crashlytics 的 Flutter 应用程序,这是Firebase流行的实时崩溃报告服务。随着 Flutter Crashlytics 插件的更新,你可以实时跟踪致命的错误,为你提供与其他 iOS 和 Android 开发者相同的功能集。这包括重要的警报和指标,如 "无崩溃用户",帮助你保持你的应用程序的稳定性。Crashlytics 分析管道已经升级,以改善 Flutter 崩溃的聚类,使其更快地分流、优先处理和修复问题。最后,我们简化了插件的设置过程,因此只需要几个步骤就可以使用 Crashlytics,并从你的 Dart 代码中开始运行。
Flutter Casual Games Toolkit
对于大多数开发者来说,Flutter 是一个应用程序框架。但是,围绕休闲游戏开发的社区也在不断壮大,利用 Flutter 提供的硬件加速图形支持和 Flame 等开源游戏引擎。我们希望让休闲游戏开发者更容易上手,所以在今天的 I/O 大会上,我们宣布了休闲游戏工具包,它提供了一个模板和最佳实践的入门套件,以及广告和云服务的良好体验。
虽然 Flutter 并不是为高强度的 3D 动作游戏而设计的,但即使是一些游戏也转向 Flutter 的非游戏 UI,包括像 PUBG Mobile 这样拥有数亿用户的流行游戏。而对于 I/O,我们想看看我们能把技术推到什么程度,所以我们创造了一个有趣的弹球游戏,它由 Firebase 和 Flutter 的网络支持提供支持。I/O 弹球游戏提供了一个围绕谷歌最喜欢的四个吉祥物设计的定制桌子。Flutter 的 Dash、Firebase 的 Sparky、Android 机器人和 Chrome 的恐龙,并让你与他人竞争高分。我们认为这是一种展示 Flutter 多功能性的有趣方式。
img
Sponsored by Google,
powered by community
我们喜欢 Flutter 的一点是,它不仅仅是谷歌的产品--它是一个 "所有人 "的产品。开源意味着我们都可以参与其中,并与它的成功息息相关,无论是通过贡献新的代码或文档,创建赋予核心框架新的超能力的包,编写教导他人的书籍和培训课程,还是帮助组织活动和用户组。
为了展示社区的最佳状态,我们最近与 DevPost 合作赞助了一个 Puzzle Hack 挑战,为开发者提供了一个机会,通过用 Flutter 重新想象经典的滑动拼图来展示他们的技能。这证明了网络、桌面和移动的完美结合:现在我们都可以在线或通过商店玩这些游戏。
我们把这个视频放在一起,展示了我们最喜欢的一些作品和获奖者;我们认为你会喜欢它。
https://youtu.be/l6hw4o6_Wcs
谢谢您对 Flutter 的支持,欢迎来到 Flutter 3!
Google I/O 大会全程回放视频已生成
扫描二维码或点击阅读原文观看回放