Flutter Forward 2023:Google 宣布的创新对您的业务意味着什么?

已发表: 2023-02-13

有什么比以软件开发中最重要的活动之一Flutter Forward 2023开始新的一年更好的了? Miquido 的 Flutter 开发团队相信探索会议期间宣布的改进同样令人愉快! 让我们看看事件的名称Flutter Forward是否确实具有预言性。 是时候总结最值得注意的 Flutter 3.7 版本,并简要回顾一下 Google 跨平台框架的未来计划。

到目前为止,Flutter 相对于其他移动或 Web 应用程序开发框架的最显着优势是显着降低开发成本、令人印象深刻的应用程序扩展可能性、接近本机的应用程序性能以及实现复杂接口的能力。 众所周知,Flutter 专注于所有这些领域的进一步改进。 但是我们究竟可以期待什么样的升级呢?

Flutter 和 Dart 的新方向:Flutter Forward 活动期间展示的路线图
在 Flutter Forward 活动中展示的路线图

让我们讨论 Flutter Forward 的主题演讲,深入探讨 Google 框架的 4 个最重要的未来方向,并考虑 2023 年宣布的改进的商业价值。

基线:2022 年的 Flutter

Flutter 是谷歌创建的一个开源框架,用于优化多平台应用程序的开发过程,同时保持原生方法提供的最大功能。 谷歌在 2018 年底宣布了第一个稳定版本(Flutter 1.0),这个相对较新的工具包迅速成为全球最受欢迎的跨平台开发框架。

2021年,Flutter成为最流行的跨平台框架

谷歌框架的巨大流行并不令人意外。 Flutter 的好处很多,这让越来越多的开发者热衷于选择这个框架。 Flutter 是一个 UI 工具包,允许开发人员从单个代码库构建美观、用户友好的移动、Web 和桌面应用程序。 得益于热重载功能,Flutter 允许开发人员即时预览任何代码更改,从而提高了他们的工作效率。 最后但同样重要的是,Flutter 是一个完全开源的项目,不需要许可费或专用工具。

谷歌2023年重点开发Flutter

谷歌非常致力于开发 Flutter,2022 年将发布近 20 个版本就是证明。根据 Github 上发布的路线图,Flutter 计划在 2023 年发布 4 个稳定版本和 12 个 beta 版本。此外,为了表彰令人印象深刻的外部贡献者社区, Flutter 最近宣布了他们的新策略,即“当它们到达 beta 通道时发布新功能,而不是等待它们进入稳定发布通道”和“鼓励人们寻找更快的更新周期来使用 beta 通道”。

Github 上发布的 Flutter 2023 年路线图的摘录
摘自Flutter 的路线图,Github

看看在肯尼亚内罗毕举行的 Flutter Forward 活动上公布的 2023 年路线图,有一件事变得清晰起来。 Flutter 现在正进入一个将其跨平台竞争远远甩在后面的阶段。 性能、质量、可访问性和安全性方面的预期改进规模,以及 Flutter 计划在 2023 年发布的新功能的数量,确实令人印象深刻。 让我们讨论其中最重要的。

Flutter Forward 2023 期间宣布的四大创新

在 Flutter Forward 活动期间,跨平台框架的创始人提请注意他们希望在即将发布的版本中开发的 4 个主要领域,包括:

  1. 突破性的图形性能
  2. Web 和移动设备的无缝集成
  3. 早期的新兴架构
  4. 继续关注开发者体验。

让我们仔细看看上述四个类别中最有趣的新闻。

1. 突破性的图形性能:叶轮和材料 3

在 Flutter Forward 活动中,Flutter 强调了其对提高 Google UI 工具包图形性能的日益增长的承诺。 Flutter 的团队不仅决定重写 Flutter 的渲染运行时 Impeller,还宣布即将迁移到 Material 3。这些变化对于有兴趣使用 Flutter 开发数字产品的公司意味着什么?

叶轮的更多进展

Flutter run –enable-impeller 是对 Flutter 渲染运行时的重大重写,旨在修复动画卡顿问题并实现复杂动画(如万花筒或 3D)的流畅性能。 并且尽管 Impeller 目前仅提供早期测试版(iOS 预览模式),但 Flutter Dev 透露,在未来几个月内,他们打算微调 Impeller 对 iOS 的支持,并宣布 Android 预览版的发布日期。

它 [Impeller] 是一种如此不同的体验。 简直如丝般顺滑。 (…) 本质上,我们能够构建一个为 Flutter 量身定制的图形渲染引擎,而不是利用通用渲染器。

Tim Sneath谷歌 Flutter 和 Dart 产品与用户体验总监

Flutter 迁移到 Material 3

在 Flutter Forward 期间宣布的突破性变化之一是从 Material 2 (M2) 迁移到 Material 3 (M3)。 Flutter 的最新版本 Flutter 3.7 带来了基于新版 Google 设计语言的 widgets。 为什么这是一个重大变化,它会对您的数字产品产生什么影响?

什么是材料 3

对于那些不熟悉 M2 和 M3 的人,让我们从一小段信息开始。 Material Design 是 Google 于 2014 年开发的一种设计语言,旨在将 UX/UI 原则与技术创新相结合。 图形组件、指南和工具的适应性系统简化了开发人员和设计人员之间的合作,并使构建用户友好的数字产品变得更加容易。

2021 年的最新 Material 更新 Material 3 带来了可访问性问题的标准化和图形组件的更大弹性。 Material 3 的灵活性主要与引入设计标记操作标准相关,即构成设计系统的最小单位(例如颜色、排版或间距)。 这在实践中意味着什么? 只需看看 Google 的展示项目之一:使用 Flutter 开发并基于 Material 3 的 Wonderous 移动应用程序!

Wonderous,一个使用 Material 3 创建的示例 Flutter 应用程序
Wonderous,一个使用 Material 3 创建的示例 Flutter 应用程序
哪些可能性将 Flutter 迁移到 Material 3?

迁移到 M3 意味着 Flutter 正在加强其在 UI 工具包方面的领导地位,这些工具包可以创建引人入胜、具有视觉吸引力的应用程序。 利用排版、快速实现基于主题的 UI、通过动作或动画引入运动……得益于对 M3 的增强支持,从现在开始,Flutter 开发人员将能够高效地实现最先进的创意愿景。

当然,迁移到 Material 3 是一个过程,所以在 Flutter 3.7 阶段,框架的创建者关注了以下问题:

  • 尽管大多数 Flutter 小部件已经迁移到 M3,开发人员应该关注 Material 3 Flutter GitHub 项目的进展以确认给定小部件的状态。
  • 开发人员可以使用 useMaterial3 标志选择加入 Material 3。 但是,在迁移所有 Flutter 和单个应用程序的代码之前,UI 可能会不一致。

您想发现更多 Material 3 的新特性吗? 查看 Flutter Dev 准备的交互式演示。

Material 3 - Flutter Dev 的交互式演示
Material 3 – Flutter Dev 的交互式演示

2. Web 和移动无缝集成

Flutter Dev 还确认了对确保 Dart 和其他编程语言之间更好集成的强烈关注。 在 Web 上,Flutter 现在可以用作嵌入式组件。 在移动设备上,Flutter 应用程序现在可以调用系统 API 或用其他编程语言编写的代码。 让我们讨论有关 Flutter 中无缝 Web 和移动集成的最重要的改进!

元素嵌入

讨论最多的 Flutter Forward 改进之一是 Flutter 用于 Web 开发的新标准:将 Flutter 模块嵌入到现有的 Web 应用程序中。 元素嵌入是 Flutter Dev 团队现在预览的一项新功能,它允许 Web 开发人员轻松地将 Flutter 内容嵌入到标准 <div> 元素中。 换句话说,Web 开发人员很快就能将 Flutter 小部件集成到现有应用程序中——即使是那些用不同编程语言编写的应用程序。

Flutter Dev 的元素嵌入演示
Flutter Dev 的元素嵌入演示

从 Dart 代码直接与本地 API 通信

Flutter 正在努力改进两个用于生成绑定的工具(适用于 iOS 的 FFIgen 和适用于 Android 的 JNIgen),允许从 Dart 代码直接与本机 API 通信。 FFIgen 和 JNIgen 可以调用本机代码并重用已编写的代码或利用特定于平台的功能,从而显着提高开发效率。 目前,Dart 能够与以下对象通信:

  • C (飞镖:ffi) → Linux
  • Objective-C 和 Swift(dart:ffi + FFIgen 包)→ macOS 和 iOS
  • C++(dart:ffi + FFIgen 包)→ Windows
  • Java 和 Kotlin(JNI 和 JNIgen 包)→ Android
  • JavaScript(js 包)→ Web。

与 JavaScript 更好的互操作性

看来用 JavaScript 构建的数字产品也有了新的机会! 开发人员现在可以直接从 JavaScript 驱动 Flutter 小部件——反之亦然。 与 JavaScript 更好的互操作性是另一项改进,它使 Google 的框架在扩展或重写现有移动或 Web 应用程序方面格外有效。

3. 支持早期的新兴架构

在 Flutter Forward 2023 期间,Flutter 团队透露了将 Flutter 编译为 WebAssembly (Wasm) 的首次尝试——一种“编程语言的可移植编译目标,支持在 Web 上部署客户端和服务器应用程序”(WebAssembly)。 Flutter 和 Dart 的产品和用户体验总监 Tim Sneath 还宣布了 Flutter 对 RISC-V 这一开放标准免版税芯片架构的支持。 为什么我们认为这两个决定都值得更长时间的评论?

颤振和 WebAssembly

WebAssembly 作为平台中立的二进制指令格式在所有主要浏览器中越来越受欢迎,Flutter 开发团队希望探索它的优点。 Wasm 的特点是速度和性能令人印象深刻,尤其是在处理大量数据时。 在图像或视频处理方面,Wasm 比其最大的竞争对手 JavaScript 好得无可比拟。 但它对 Google 框架的开发有何帮助?

WebAssembly 看起来会给我们一些改进的加载时间,减少通过网络传输的兆字节的大小和数量。 (...) WebAssembly 的潜力是——无论是在网络上还是在网络之外——成为这种新型的便携式通用语言。 我喜欢这样的想法,即我们也可以在 WebAssembly 中采用和使用其他语言的其他代码。

Tim Sneath谷歌 Flutter 和 Dart 产品与用户体验总监

Flutter 对 RISC-V 的支持

尽管 RISC-V 仍处于早期阶段,但它正逐渐开始在整个行业中受到关注。 根据 Sneath 的说法,谷歌对这种架构的投资可能会为 Flutter 开辟新的平台。 尽管 ARM 处理器在性能方面仍然处于领先地位,但 RISC-V 在可穿戴技术方面看起来非常有前途。 更不用说 RISC-V 是在不需要付费使用的开源许可下提供的。

4. 持续关注开发者体验:Dart 3 alpha & Flutter News Toolkit

Flutter 是一个旨在提高开发人员生产力的框架。 Flutter 的编程语言 Dart 通过热重载功能实现高效的迭代工作,允许开发人员在开发过程中进行试验、调整特性和修复错误,而无需重新加载整个应用程序。 更重要的是,Dart 在所有平台上运行速度都很快,允许开发人员实现复杂的 UI 创建,最后但并非最不重要的是,它非常容易学习。

然而,在 Flutter Forward 期间,Flutter Dev 宣布了一个更高效、更便携、更易用的 Dart 版本。 让我们谈谈 Dart 3,现在可以在早期 alpha 中进行测试!

Dart 3 中 100% 的声音无效安全:不再有应用程序崩溃!

关于即将推出的 Dart 3 最重要的公告是引入 100% 声音空安全。 Flutter 不再支持在没有空安全的情况下运行,以减少代码的开销和复杂性。 在 Dart 3 中,默认情况下所有变量都是非空的——这显着降低了添加新功能的成本和复杂性。

在健全的类型系统中,您可以信任类型,这意味着当类型声明它不是时,变量永远不会为 null。 这通过在开发过程中而不是在生产过程中发现问题来提高生产力,并使 Dart 编译器能够生成更小、更优化的代码。 (...) Dart 的独特之处在于将 100% 可靠的空安全引入现有语言。

Michael Thomsen PM 负责 Google 的 Dart 和 Flutter

Dart 3 前所未有的表现力:记录、模式和访问控制

记录和模式是 Dart 3 的两个主要新功能,可优化结构化数据的工作。 记录允许 Flutter 开发人员构建新的数据结构,轻松组合现有数据。 反过来,模式可以解构复合数据。

Flutter 新闻工具包

Flutter News Toolkit 是一个开源的 Flutter Dev 项目,面向媒体和内容发布者,他们寻求一种快速、经济高效的方式来接触移动设备上的读者。 对数字化转型感兴趣的内容发布者现在可以使用一个完整的工具包,其中包含他们开发新闻移动应用程序可能需要的一切,包括导航、搜索、身份验证、广告集成、通知、配置文件或订阅。

Boldsports – 尼日利亚一家新闻初创公司的移动应用程序,在短短几天内使用 Flutter News Toolkit 创建
Boldsports – 尼日利亚一家新闻初创公司的移动应用程序,在短短几天内使用 Flutter News Toolkit 创建

Miquido 和 Flutter

随着许多行业进入充满挑战的时代,优先考虑运营开销优化和风险缓解至关重要。 跨平台框架 Flutter 是一种开源、经济高效且可靠的解决方案,可让公司专注于他们真正应该关心的事情:数字产品的效率、可扩展性和盈利能力。

2018 年,Miquido 成为第一家在 Flutter 中创建商业项目的欧洲公司。 Abbey Road Studios 的 Topline 移动应用程序不仅满足了业务假设,简化了与标志性英国标签相关的艺术家的音乐录制过程,而且赢得了整个移动应用程序开发行业的青睐。 这就是为什么我们要强调跨平台技术和 Flutter 在移动开发中提供的商机。

Flutter 的未来会怎样? 往年的经验表明,Flutter 信守承诺。 因此,我们有信心 Flutter 的 2023 年路线图可以被认为是 Google 团队精心实施的深思熟虑的计划。