最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

Flutter 3.0 正式发布:稳定支持 6 大平台,字节跳动是主要用户

  • 2022-05-12
  • 本文字数:2625 字

    阅读完需:约 9 分钟

Flutter 3.0正式发布:稳定支持6大平台,字节跳动是主要用户

5 月 12 日,Flutter 3.0 在 Google I/O 开发者大会正式亮相,随着 3.0 版本的发布,Flutter 开发框架终于可以支持六大平台,实现了其跨平台稳定运行的愿景。


Flutter 和 Dart 的产品总监 Tim Sneath 发布博文中称,Flutter 3 完成了从以移动为中心到多平台框架的发展路线图,现支持在 Linux 和 macOS 桌面的稳定运行,同时引入了 Firebase 集成改进、新的生产力与性能增强、以及对苹果自研芯片的支持。

Flutter 3 现已来临

如今,通过 Flutter 3,开发者可以通过一个代码库立足 iOS、Android、Web、Windows、macOS、Linux 六大平台。


在之前的版本中,Flutter 已经在 iOS 和 Android 之外,新增对 Web 和 Windows 的支持。现在 Flutter 3 增加了对 macOS 和 Linux 应用程序的稳定支持。添加平台支持所需要的可不只是渲染像素,还包括处理新的输入和交互模型、编译和构建支持、可访问性与国际化,以及特定于平台的集成功能。“我们希望帮助大家更灵活地利用底层操作系统,同时根据选择尽量重用原有 UI 和逻辑。”


在 macOS 上,Flutter 支持英特尔与苹果两大芯片家族,提供通用的二进制支持,允许将应用程序打包为这两种架构上的本地可执行文件。在 Linux 方面,Flutter 则与 Canonical 合作推出一种高度集成、同类最佳的开发选项。


此外,Flutter 3 还对众多基础设计做出改进,包括增强性能、支持 Material You 以及其他生产力功能更新。


Sneath 强调,新版本还可在苹果芯片上原生运行并支持开发工作。虽然 Flutter 自发布以来,就一直能够与搭载 M1 芯片的苹果设备兼容,但新版本能够充分利用 Dart 语言对苹果芯片的支持,从而在 M1 设备上加快编译速度、支持 macOS 应用程序的通用二进制文件。


Material Design 3 的开发工作在此版本中也基本完成,允许开发者充分运用这套跨平台设计系统中的动态配色方案和视觉组件更新:



Flutter 由 Dart 语言开发而成,在 Flutter 3 开发周期中,团队为 Dart 完成了削减样板、提高可读性、为 RISC-V 架构提供实验性支持、升级 linter 和更新文档等工作。

Firebase 与 Flutter

应用程序的构建远不止于 UI 框架。应用程序发布者需要一整套工具来完成项目的构建、发布和运营,具体涵盖身份验证、数据存储、云功能和设备测试等服务。目前 Flutter 已经得到众多服务的广泛支持,包括 Sentry、AppWrite 及 AWS Amplify 等。


谷歌提供的应用服务 Firebase 也是其中之一。根据 SlashData 开发者基准测试结果,62%的 Flutter 开发者会在应用程序中使用 Firebase。所以在过去几个版本中,开发团队一直与 Firebase 密切配合,希望进一步增强 Flutter 的集成统筹效果。具体包括将 Flutter 的 Firebase 插件升级至 1.0 版本,添加更好的文档和工具,并推出 FlutterFire UI 等新的功能部件、帮助开发者获得可重用的身份验证与配置界面 UI。


到了 3.0 版本,官方宣布 Flutter/Firebase 集成水平进一步提升,**现已支持 Firebase 的全部核心功能。“**我们正在将源代码和文档转移到 Firebase 各主 repo 和站点当中,后续也将继续在 Android 与 iOS 上同步各项 Firebase 支持。”


此外还有一系列重大改进的推进,包括在 Flutter 应用中支持 Crashlytics——Firebase 的流行实时崩溃报告服务。通过 Flutter Crashlytics 插件更新,大家可以实时跟踪严重错误,获得与其他 iOS 和 Android 开发者相同的功能集。其中提供多种重要警报和指标,例如“无崩溃用户”,可帮助大家了解应用程序的实际稳定性。Crashlytics 分析管道也得到升级,改进了 Flutter 崩溃聚类,可帮助大家更快对问题进行分类、优先排序和修复。最后,插件设置流程也被简化了,只需几个步骤就能通过 Dart 代码启动和运行 Crashlytics。

Flutter 休闲游戏工具包

值得一提的是,3.0 版本最重要的方面是谷歌决定通过其休闲游戏工具包、一系列模板和最佳实践、广告积分及云服务来支持休闲游戏开发。



谷歌的 Flutter 团队以前没有尝试过满足游戏开发者的需求,尽管第三方已经沿着这些方向做出了一些努力,最引人注目的是通过 Flame 游戏引擎,它在去年 12 月达到了 1.0 的里程碑。


Sneath 在接受媒体采访时表示,Flame 的目标是比休闲游戏工具包要求更高的那种游戏。


他说:“我们在休闲游戏工具包中试图提供的很多东西都是对 Flame 的补充”,他指的是与苹果的 Game Center 或 Google Play 游戏服务整合等任务。


为了让人们了解 Flutter 作为一个游戏框架的潜力,谷歌开发了一个 Flutter 网页弹球游戏作为演示,由 Firebase 和 Flutter 提供 Web 支持。这款游戏融合了谷歌旗下最受喜爱的四大形象:Flutter 的 Dash、Firebase 的 Sparky、Android 机器人和 Chrome 恐龙,游戏目标就是拿下最高分。


它不会用超现实的球体物理学让你大吃一惊,也不会因为突破了基于浏览器的游戏的界限而让你大吃一惊,但它是一个合格的弹球模拟,并可能有助于说服有抱负的独立游戏开发者使用 Flutter 来创造下一个 Wordle。“我们认为通过这种有趣的方式,能让更多朋友体验到 Flutter 丰富的功能设计。”

超 50 万款应用由 Flutter 构建而成

Sneath 感慨道:“当初我们踏上 Flutter 的探索之旅,目的是希望彻底改变应用程序的开发方式:将 Web 应用的迭代开发模型,与以往游戏软件中的硬件加速图形渲染和像素级控制结合起来。”


他表示,自 Flutter 1.0 beta 发布以来的这四年里,团队逐渐在此基础上修葺打磨,发布更多新的框架功能与功能部件、并与底层平台深入集成,同时带来更丰富的工具包库和性能/工具改进。



如今,市面上有超过 50 万款应用由 Flutter 构建而成,比去年谷歌 I/O 期间的数量多了一倍。官方最近的用户调查显示,Flutter 已经成为开发者喜爱的应用程序构建方案:


  • 91%的开发者认为 Flutter 缩短了应用程序的构建与发布时间。

  • 85%的开发者认为 Flutter 提升了他们应用程序的视觉观感。

  • 85%的开发者认为 Flutter 帮助他们在更多平台上发布应用成果。Sneath 在受访中还提到字节跳动是 Flutter 的主要用户,估计其有约 80 个基于 Flutter 的应用。“他们正在真正引领这个多平台的故事,”Sneath 表示,“他们能够统一他们的技能,能够统一他们的开发、基础设施和模式,并触达所有这些不同的平台。”


当被问及 Flutter 开发人员可用的软件包数量相对较少时,Sneath 表示 Flutter 社区一直在加紧填补这一空白,无论是个人还是企业层面。


他说:“像微软和亚马逊这样的公司正在编写插件,而社区也开始联合起来,围绕其他人使用或希望看到的共同软件包汇集他们的资源。我们在 Flutter 生态系统中现在有超过 23000 个包,而且这个数字正在迅速增长,无论是数量还是这些包的质量。”


参考链接:

https://medium.com/flutter/introducing-flutter-3-5eb69151622f


https://www.theregister.com/2022/05/11/google_io_flutter_crossplatform_app/

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2022-05-12 19:3811370
用户头像
罗燕珊 InfoQ中文站编辑

发布了 424 篇内容, 共 245.3 次阅读, 收获喜欢 757 次。

关注

评论 2 条评论

发布
用户头像
期待成熟起来,解决我等开发者的跨平台开发的困难。
2023-04-10 21:58 · 河北
回复
用户头像
这次算真正跨平台了
2022-05-12 20:45
回复
没有更多了
发现更多内容

nginx配置日志为json格式,nginx按照天实现日志分割,nginx配置负载均衡

Ng

聊聊Java的异常机制问题

华为云开发者联盟

Java 对象 异常机制 Throwable Error

AI量化智能交易软件,量化策略系统搭建

音频互动连麦使用手册

anyRTC开发者

ios android 音视频 WebRTC RTC

封装变化的内容

这就是编程

程序开发

五年磨一剑,海外运营商数字化转型与新一代OSS

鲸品堂

方法论 数字化转型 运营商

力扣(LeetCode)刷题,简单题(第12期)

不脱发的程序猿

面试 LeetCode 28天写作 算法面经 3月日更

区块链在医疗领域的应用场景,区块链+医疗的解决方案

13828808769

区块链 区块链+ #区块链#

第九章作业

Kalman

产品经理 产品经理训练营

第九章学习总结

Kalman

产品经理 产品经理训练营

从优秀到卓越:成为DevOps专家的7项软技能

禅道项目管理

DevOps 趋势 软技能

企业迁移到云服务时要考虑的六大问题

浪潮云

云计算

世界首台人工智能地震监测系统问世;AAAI 2021 | 利用深度元学习对城市销量进行预测

京东科技开发者

大数据 红帽

产品经理训练营作业 06

KingSwim

可视化开发:前端按时下班不再是问题

华为云开发者联盟

大前端 框架 交互 渲染引擎

如何避免水肥一体化过量灌溉?开启智慧管理,一个屏幕轻松搞定

一只数据鲸鱼

物联网 数据可视化 智慧城市 智慧农业

nginx做代理访问慢,优化方案

Ng

产品经理训练营 - 作业六

胡小湖

从相识到相惜:Redis与计算存储分离四部曲

华为云开发者联盟

数据库 redis 华为云 存算分离 GaussDB ( for Redis )

程序开发必备的六个信条

这就是编程

程序开发

通过序列号Sequence零代码实现订单流水号

crudapi

低代码 流水号 crud crudapi 序列号

中国云基础设施支出创新高,增速全球第一;国内首个区块链特色司法鉴定机构在京成立

京东科技开发者

区块链 人工智能 开发者

单片机如何从上电复位执行到main函数?

不脱发的程序猿

28天写作 嵌入式软件 单片机 3月日更 上电复位执行到main函数

颠覆认知——Redis会遇到的15个「坑」,你踩过几个?

Kaito

redis 踩坑 后端

大侠请留步!欢迎有极客精神的你

Lily

Kubernetes弃用Docker运行时,小甜甜变牛夫人影响了谁?

TASKCTL

Docker 云计算 架构 容器 #Kubernetes#

第 9 周作业 _ 数据分析

园子

智慧社区服务平台的搭建,助力老旧小区改造

13828808769

智慧终端

作业8

瑾瑾呀

EGG Network公链生态应用EFTalk阿凡提

币圈那点事

layui使用templet格式化表格数据

Flutter 3.0正式发布:稳定支持6大平台,字节跳动是主要用户_语言 & 开发_Tim Sneath_InfoQ精选文章