一起看 I/O | Flutter 3 正式发布!
作者 / Tim Sneath, Product Manager for Flutter and Dart
作为 Google I/O 主题演讲的一部分,我们在这里很高兴为大家带来 Flutter 3。Flutter 3 完成了我们从以移动端为中心到多平台框架的路线图,提供了对 macOS 和 Linux 桌面应用的支持,改进了对 Firebase 的集成,更增加了新的生产力功能和性能改进特性,此外还提供了对 Apple Silicon 的支持。
通往 Flutter 3 之路
随着这个产品走向成熟,越来越多的人开始用它来构建应用。今天,有超过 50 万个应用使用 Flutter 发布。来自 data.ai 等研究公司的分析,以及公众的评价,都表明 Flutter 正被许多细分领域的客户所使用。其使用场景之广,从微信 (WeChat) 等社交应用,到 Betterment 和 Nubank 等金融和银行应用,以及 SHEIN 和 trip.com 等商务应用,和 Fastic、Tabcorp 等生活方式应用,还有 My BMW 这样的伴侣应用到巴西政府等公共机构的官方应用等等,都有 Flutter 在大放异彩。
现在已有超过 50 万个应用使用 Flutter 构建。
data.ai https://www.data.ai/en/ Flutter 精彩案例 https://flutter.dev/showcase WeChat https://play.google.com/store/apps/details?id=com.tencent.mm&hl=en_US&gl=US Betterment https://apps.apple.com/us/app/betterment-investing-saving/id393156562 Nubank https://play.google.com/store/apps/details?id=com.nu.production&hl=en_US&gl=US SHEIN https://play.google.com/store/apps/details?id=com.zzkko&hl=en_US&gl=US Trip.com https://apps.apple.com/us/app/trip-com-hotels-flights-trains/id681752345 Fastic https://fastic.com/ Tabcorp https://auspreneur.com.au/tabcorp-adopts-googles-flutter-platform/ My BMW https://www.press.bmwgroup.com/global/article/detail/T0328610EN/the-my-bmw-app:-new-features-and-tech-insights-for-march-2021?language=en 巴西政府官方应用 https://apps.apple.com/app/id1506827551
91% 的开发者认为 Flutter 缩短了构建和发布应用的时间。 85% 的开发者认为 Flutter 使他们的应用比以前更加精美。 85% 的开发者认为 Flutter 使他们的应用能在更多平台上发布。
毫不夸张地说,Flutter 为我们带来了一种 "高级感",这与我们团队之前提供的任何东西都不一样。对我们的设计师来说,最重要的是,他们可以轻松地构建新的用户界面,这意味着我们团队在面对各种设计规格时,会更少说 "做不到",而更多地直接进行迭代。如果您觉得我们的说法有道理,我们推荐您试试 Flutter —— 至少我们非常庆幸当初选择了它。
Sonos: 使用 Flutter 改进设置流程
https://tech-blog.sonos.com/posts/renovating-setup-with-flutter/
欢迎来到 Flutter 3
现在,我们正式发布 Flutter 3。至此,Flutter 的跨平台之旅迈入高潮。有了 Flutter 3,您就可以仅用一套代码库,为 6 个平台构建精美的体验。它为开发者提供了无与伦比的生产力,并使初创团队从第一天起就能将新的想法投放到完全可用的市场中。
在以前的版本中,我们已经在 iOS 和 Android 平台之外增加了 web 端和 Windows 平台的支持,现在,Flutter 3 增加了对 macOS 和 Linux 应用的稳定支持。增加平台支持需要的不仅仅是渲染像素这么简单: 还包括对新的输入和交互模型的支持、编译和构建的支持、无障碍和国际化支持,以及特定平台的整合。我们的目标是,让您能够灵活地充分利用底层操作系统,同时根据您的选择尽可能多地共享用户界面和逻辑。
在 macOS 上,我们已经投入资源支持 Intel 和 Apple Silicon,并提供通用二进制 (Universal Binary) 支持,使应用能够打包成在两种架构上都能原生运行的可执行文件。在 Linux 上,Canonical 和 Google 已经合作为开发者们带来了高度集成的最佳开发工具。
构建通用 macOS 二进制文件 https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary
Superlist https://superlist.com/
Flutter 3 还对许多基本要素进行了改进,提高了性能,强化了对 Material You 的支持,并进一步提升了生产力。
除了上面提到的内容外,在这个版本中,Flutter 已经完全支持在 Apple Silicon 上进行原生开发。虽然自 M1 处理器诞生以来,Flutter 就一直与搭载 M1 的苹果设备兼容,但 Flutter 现在充分利用了 Dart 对 Apple Silicon 的支持,在搭载 M1 的设备上实现了更快的编译,并支持 macOS 应用的通用二进制文件。
使用 Apple Silicon 的 Mac 电脑 https://support.apple.com/en-us/HT211814 Dart 2.14 https://medium.com/dartlang/announcing-dart-2-14-b48b9bb2fb67 构建通用 macOS 二进制文件 https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary
Material Design 3
https://m3.material.io/
我们也将在近期发布更详细的技术文章,在其中阐述了这部分内容,以及 Flutter 3 的许多其他新功能。
Flutter 由 Dart 驱动,这是一种用于多平台开发的高生产力、可移植的语言。我们在这个发布周期中对 Dart 的改进工作包括: 有助于减少模板代码和提升可读性的新语言功能,实验性的 RISC-V 支持,经过升级的 linter,以及新的文档。如果您想要了解 Dart 2.17 中所有新改进的细节情况,请关注将在近期发布的文章。
Firebase 和 Flutter
当然,构建应用不仅仅是构建用户界面框架。应用发布者需要一套全面的工具,来帮助他们构建、发布和运营自己的应用,包括认证、数据存储、云端功能和设备测试等服务。目前已有多种服务支持 Flutter,包括 Sentry、AppWrite 和 AWS Amplify。
Sentry https://docs.sentry.io/platforms/flutter/ AppWriter https://appwrite.io/docs/getting-started-for-flutter AWS Amplify https://docs.amplify.aws/start/q/integration/flutter/
SlashData 开发者基准研究
https://www.slashdata.co/developer-program-benchmarking/?
FlutterFire UI
https://pub.flutter-io.cn/packages/flutterfire_ui
Crashlytics
https://firebase.google.cn/docs/crashlytics
Flutter 休闲游戏工具包
对于大多数开发者来说,Flutter 是一个应用框架。但是,利用 Flutter 提供的硬件图形加速支持和 Flame 等开源游戏引擎,围绕休闲游戏开发而建立的社区也在不断壮大。我们希望让休闲游戏开发者更容易上手,所以在今天的 I/O 大会上,我们发布了休闲游戏工具包 (Casual Game Toolkit),它提供了模板、最佳实践入门套件,还为您准备了可用于广告和云服务的赞助额度。
Flame https://flame-engine.org/ Flutter 休闲游戏工具包 https://flutter.dev/games
虽然 Flutter 并不是为高强度的 3D 动作游戏而设计的,但如今,一部分这类游戏在独立于游戏场景之外的用户界面部分也开始使用 Flutter 来实现,包括 PUBG Mobile 这样拥有数亿用户的流行游戏。在 I/O 大会上,我们想看看我们能把技术推进到什么程度,所以我们创建了一个有趣的弹球游戏,它使用到了 Firebase 和 Flutter 的 web 端支持。I/O Pinball 弹球游戏提供了一个定制桌面,围绕着 Google 最受欢迎的四个吉祥物进行设计,它们分别是: Flutter 的 Dash、Firebase 的 Sparky、Android 机器人和 Chrome 恐龙,您可以在这个游戏中与他人一较高下。我们希望通过这种有趣方式展示 Flutter 的多功能性。
PUBG Mobile https://play.google.com/store/apps/details?id=com.tencent.ig
由 Google 赞助,由社区驱动
我们喜欢 Flutter 的一点是,它不仅仅是 Google 的产品——它是一个 "属于所有人" 的产品。开源意味着我们都可以参与其中,并与它的成功息息相关。您可以贡献新的代码或文档,创建 package 来为核心框架赋予新的超能力,编写教导他人的书籍和培训课程,还可以帮助组织活动和用户社群,等等。
为了展示社区的精彩,我们最近与 DevPost 合作,赞助了 Puzzle Hack 挑战,让开发者们通过 Flutter 来演绎经典的滑动拼图游戏,以展示他们的技能。这场活动呈现了 web、桌面和移动端完美结合的场景: 现在大家都可以通过浏览器或应用商店玩到这些游戏。
下面这个视频展示了我们最喜欢的一些作品和获奖者,相信您也会喜欢:
感谢您对 Flutter 的支持,欢迎来到 Flutter 3!
推荐阅读