共计 4017 个字符,预计需要花费 11 分钟才能阅读完成。
作者 / 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 构建。
开发者通知咱们,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,是因为它可能提供疾速且高度品牌化的桌面体验。咱们认为,他们迄今为止的停顿表明这是一个十分理智的抉择。
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,包含 Sentry、AppWrite 和 AWS 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!