一起看 I/O | Flutter 3 正式发布!

一起看 I/O | Flutter 3 正式发布!

作者 / Tim Sneath, Google Flutter 和 Dart 产品组产品经理

Flutter 3 实现了 Flutter 以移动端为中心扩展到多平台的产品规划,并在今年 I/O 大会的主题演讲上正式发布,此次发布提供了对 macOS 和 Linux 桌面端的稳定版支持,同时包括 Firebase 集成的改进,增加了与生产力和性能相关的新特性,并对 Apple 芯片提供了支持。

Flutter 3 的演进

创建 Flutter 的初衷是为了彻底改变应用开发:将 「Web 应用的迭代开发模式」与「硬件加速的图形渲染」和「像素级的控制」三者结合——之前只有游戏才能这么做。自 Flutter 1.0 Beta 版发布以来的四年里,我们逐渐在这些基础上发展,增加了新的框架功能和新的 widget,与底层平台进行了更深入的整合,还加入了丰富的 package 库,此外还进行了许多性能和工具等方面的改进。

随着 Flutter 逐渐产品走向成熟,越来越多的人开始用它来构建应用。今天,有超过 50 万个应用使用 Flutter 发布。来自 data.ai 等研究公司的分析以及公众的评价都可以表明,Flutter 正被许多细分领域的客户所使用。其使用场景非常广泛,从微信 (WeChat) 等社交应用,到 Betterment 和 Nubank 等金融和银行类应用,再到 SHEIN 和 trip.com 等商旅应用以及 Fastic、Tabcorp 等生活方式类的应用,还有 My BMW 此类的硬件连接类应用,最后是巴西政府等公共机构的官方应用等等,都有 Flutter 在大放异彩。

现在已有超过 50 万个应用使用 Flutter 构建。

|video

开发者告诉我们,Flutter 帮助他们在更多的平台上更快地构建出了精美的应用。我们最新的用户研究也表明:

  • 91% 的开发者认为 Flutter 缩短了构建和发布应用的时间。
  • 85% 的开发者认为 Flutter 使他们的应用比以前更加精美。
  • 85% 的开发者认为 Flutter 使他们的应用能在更多平台上发布。

Sonos 在 最近的一篇博客文章 中讨论了他们对设置体验的改版工作,其中着重强调了上述的第二点:

毫不夸张地说,Flutter 为我们带来了一种 "高级感",这与我们团队之前提供的任何东西都不一样。对我们的设计师来说,最重要的是,他们可以轻松地构建新的用户界面,这意味着我们团队在面对各种设计规格时,会更少说 "做不到",而更多地直接进行迭代。如果您觉得我们的说法有道理,我们推荐您试试 Flutter —— 至少我们非常庆幸当初选择了它。

欢迎来到 Flutter 3

Flutter 3 正式发布,至此,Flutter 的跨平台之旅迈入高潮。有了 Flutter 3,您就可以仅用一套代码库,为 6 个平台构建精美的体验。它为开发者提供了无与伦比的生产力,并使初创团队从第一天起就能将新的想法投放到完全可用的市场中。

在以前的版本中,我们已经在 iOS 和 Android 平台之外增加了 Web 端Windows 平台 的支持,现在,Flutter 3 增加了对 macOS 和 Linux 应用的稳定支持。增加平台支持需要的不仅仅是渲染像素这么简单: 还包括对新的输入和交互模型的支持、编译和构建的支持、无障碍和国际化支持,以及特定平台的整合。我们的目标是,让您能够灵活地充分利用底层操作系统,同时根据您的选择尽可能多地共享用户界面和逻辑。

在 macOS 上,我们已经投入资源支持 Intel 处理器和 Apple 芯片,并提供 通用二进制 (Universal Binary) 文件) 的支持,使应用能够打包成在两种架构上都能原生运行的可执行文件。在 Linux 上,Canonical 和 Google 已经合作为开发者们带来了高度集成的最佳开发工具。

Superlist 是一个很好的例子,告诉大家 Flutter 是如何帮助您实现精美桌面体验的,它今天推出了 Beta 版本供大家体验。Superlist 提供了超强的协作功能,通过一个崭新的应用将列表、任务和自由形式的内容结合在一起,将待办事项和个人计划等功能打磨得焕然一新。Superlist 团队选择 Flutter,是因为它能够提供快速且高度品牌化的桌面体验。我们认为,他们迄今为止的进展表明这是一个非常明智的选择。

|video

Flutter 3 还对许多基本要素进行了改进,提高了性能,强化了对 Material You 的支持,并进一步提升了生产力。

除了上面提到的内容外,在这个版本中,Flutter 已经完全支持在 Apple 芯片 上进行原生开发。虽然自 M1 处理器诞生以来,Flutter 就一直与搭载 M1 的苹果设备兼容,但 Flutter 现在充分利用了 Dart 对 Apple Silicon 的支持,在搭载 M1 的设备上实现了更快的编译,并支持 macOS 应用的通用二进制文件。

在这个版本中,我们对 Material Design 3 所做的支持工作已基本完成。开发者们现在可以尽情使用这套自适应性强、跨平台的设计系统,包括其动态颜色方案和经过更新的视觉组件。

我们也将在近期发布更详细的技术文章,并在其中更多介绍这部分内容,以及 Flutter 3 的许多其他新功能。

Flutter 由 Dart 编程语言提供强有力的支持,这是一种用于多平台开发的高生产力、可移植的语言。我们在这个发布周期中对 Dart 的改进工作包括: 枚举支持成员变量、改进的超类参数继承,以及更为灵活的命名参数相关的新的语言特性;同时为 package:lints 开启了 2.x 版本,这是一套官方的 lint 规则,是根据我们总结的 Dart 最佳实践整合而成的一个 lint 规则集;与此同时,我们也更新了核心库的 API 文档,为其带来了丰富的示例代码。并且,为了改善平台集成特性,我们在 Flutter 插件中提供了一个新的模版,使用 dart:ffi 与原生平台进行 C 语言的互操作、对 RISC-V 指令集提供实验性支持,以及对 macOS 和 Windows 可执行文件的签名支持。如果想要了解 Dart 2.17 中所有新改进的细节情况,请关注将在近期发布的文章。

Firebase 和 Flutter

当然,构建应用不仅仅是构建用户界面框架。应用发布者需要一套全面的工具,来帮助他们构建、发布和运营自己的应用,包括认证、数据存储、云端功能和设备测试等服务。目前已有多种服务支持 Flutter,包括 SentryAppWriteAWS Amplify

Firebase 是由 Google 提供的应用服务平台。SlashData 的开发者基准研究 显示,62% 的 Flutter 开发者在其应用中使用 Firebase。因此,在过去的几个版本中,我们一直在与 Firebase 合作对两者的集成进行扩展和改良,并将其打造成 Flutter 的首选集成服务。这包括将 Flutter 的 Firebase 插件升级到 1.0,增加更好的文档和工具,以及提供像 FlutterFire UI 这样的新 widget,为开发者提供可重用的认证和用户资料界面。

今天,我们宣布 Flutter 和 Firebase 的整合已成为 Firebase 产品核心的一部分并得到完全的支持。我们已将源代码和文档转移到 Firebase 的主 repo 和网站中。Firebase 对 Flutter 的支持将和 Android 和 iOS 端的支持同步发展。

此外,我们还进行了重大改进,以支持 Flutter 应用使用 Crashlytics (这是 Firebase 中很受欢迎的实时崩溃报告服务)。随着 Flutter Crashlytics 插件的更新,您可以使用与 iOS 和 Android 开发者相同的功能集来实时跟踪致命错误。其中包括重要警报和指标,如 "无崩溃用户",帮助您保持应用的稳定性。Crashlytics 的分析管线已经升级,以改善 Flutter 崩溃的聚合处理,使其能更快地分级、优先处理和修复问题。最后,我们简化了插件的设置过程,因此您只需要几个步骤就可以直接通过 Dart 代码设置并使用 Crashlytics。

Flutter 休闲游戏工具包

对于大多数开发者来说,Flutter 是一个应用框架。但是,利用 Flutter 提供的硬件图形加速支持和 Flame 等开源游戏引擎,围绕休闲游戏开发而建立的社区也在不断壮大。我们希望让休闲游戏开发者更容易上手,所以在今天的 I/O 大会上,我们发布了 Flutter 休闲游戏工具包 (Casual Game Toolkit),它提供了模板、最佳实践入门套件,还为您准备了可用于广告和云服务的赞助额度。

虽然 Flutter 并不是为高强度的 3D 动作游戏而设计的,但如今,一部分这类游戏在独立于游戏场景之外的用户界面部分也开始使用 Flutter 来实现,包括 PUBG Mobile 这样拥有数亿用户的流行游戏。在 I/O 大会上,我们想看看我们能把技术推进到什么程度,所以我们创建了一个有趣的弹球游戏,它使用到了 Firebase 和 Flutter 的 web 端支持。I/O Pinball 弹球游戏提供了一个定制桌面,围绕着 Google 最受欢迎的四个吉祥物进行设计,它们分别是: Flutter 的 Dash、Firebase 的 Sparky、Android 机器人和 Chrome 恐龙,您可以在这个游戏中与他人一较高下。我们希望通过这种有趣方式展示 Flutter 的多功能性。

Flutter: 由 Google 支持,由社区驱动

我们喜欢 Flutter 的一点是,它不仅仅是 Google 的产品——它是一个「属于所有人」的产品。开源意味着我们都可以参与其中,并与它的成功息息相关。您可以贡献新的代码或文档,创建 package 来为核心框架赋予新的超能力,编写教导他人的书籍和培训课程,还可以帮助组织活动和用户社群,等等。

为了展示社区的精彩,我们最近与 DevPost 合作,赞助了 Puzzle Hack 挑战,让开发者们通过 Flutter 来演绎经典的滑动拼图游戏,以展示他们的技能。这场活动呈现了 web、桌面和移动端完美结合的场景: 现在大家都可以通过浏览器或应用商店玩到这些游戏。

感谢您对 Flutter 的支持,欢迎来到 Flutter 3!

版权声明

禁止一切形式的转载-禁止商用-禁止衍生 申请授权

脉脉不得语
脉脉不得语
Zhengzhou Website
Android Developer | https://androiddevtools.cn and https://androidweekly.io Funder | GDG Zhengzhou Funder & Ex Organizer | http://Toast.show(∞) Podcast Host

你已经成功订阅到 Android 开发技术周报
太棒了!接下来,完成检验以获得全部访问权限 Android 开发技术周报
欢迎回来!你已经成功登录了。
Unable to sign you in. Please try again.
成功!您的帐户已完全激活,您现在可以访问所有内容。
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.
🍗