翻译自 Tim Sneath[1] 2022年5月12日的文章 《Introducing Flutter 3》[2]

作者 :Tim Sneath

翻译 :沙漠尽头的狼(谷歌翻译加持)

链接 :Introducing Flutter 3(英文原文)

我们在手机、桌面和网站开发上进行多平台UI开发的历程达到了顶峰。

我们很高兴地宣布,作为Google I/O主题演讲的一部分推出Flutter 3。Flutter 3完成了我们从以移动为中心到多平台框架的路线图,提供了对macOS和Linux桌面应用的支持,以及对Firebase集成的改进、新的生产力和性能特性以及对 Apple Silicon 的支持。

Flutter 3之旅

我们创建Flutter是为了彻底改变应用程序开发:将Web的迭代开发模式与硬件加速的图形渲染和像素级控制相结合,这些都是以前游戏的专利。自Flutter 1.0 beta发布以来的过去四年里,我们逐渐在这些基础上构建,添加了新的框架功能和新的小部件,与底层平台更深入的集成,丰富的包(库)以及许多性能和工具改进。

随着产品的成熟,越来越多的人开始使用它构建应用程序。如今,有超过 500,000 个使用 Flutter 构建的应用程序。来自 data.ai[3] 等研究公司的分析以及公开推荐表明,Flutter 被许多细分市场的广泛客户[4]使用:从微信[5]等社交应用程序到 Betterment[6] 和 Nubank[7] 等金融和银行应用程序;从 SHEIN[8] 和 trip.com[9] 等商务应用到 Fastic[10] 和 Tabcorp[11] 等生活方式应用;从 My BMW[12] 等配套应用程序到巴西政府[13]等公共机构。

今天,有超过50万个应用程序使用Flutter构建。

站长注:这里有个视频 https://youtu.be/8RmsstcNE1Y

开发人员告诉我们,Flutter 有助于更快地为更多平台构建漂亮的应用程序。在我们最近的用户研究中:

  • 91% 的开发人员认同 Flutter 减少了构建和发布应用程序所需的时间。

  • 85% 的开发者认同 Flutter 让他们的应用比以前更漂亮。

  • 85% 的开发者认同这使他们能够为比以前更多的平台发布他们的应用程序。

在 Sonos 最近的一篇博客文章[14]中讨论了他们改进的设置体验,他们强调了其中的第二个:

“毫不夸张地说,[Flutter] 解锁了一定程度的“溢价”,这与我们团队以前提供的任何东西都不同。对我们的设计师来说最重要的是,可以轻松构建新的 UI,这意味着我们的团队花更少的时间对规范说“不”,而将更多的时间用于迭代规范。如果这听起来值得,我们建议尝试一下 Flutter——我们很高兴我们做到了。”

介绍Flutter 3

今天,我们将介绍 Flutter 3,这是我们填补 Flutter 支持的平台之旅的高潮。使用 Flutter 3,您可以从一个代码库为六个平台构建美妙的体验,为开发人员提供无与伦比的生产力,并使初创公司从一开始就将新想法带入完整的目标市场。

在之前的版本中,我们通过 Web[15] 和 Windows 支持[16]补充了 iOS 和 Android,现在 Flutter 3 增加了对 macOS 和 Linux 应用程序的稳定支持。添加平台支持需要的不仅仅是渲染像素:它包括新的输入和交互模型、编译和构建支持、可访问性和国际化以及特定于平台的集成。我们的目标是让您能够灵活地充分利用底层操作系统,同时根据您的选择共享尽可能多的 UI 和逻辑。

在 macOS 上,我们投入支持 Intel 和 Apple Silicon,提供通用二进制[17]支持,允许应用打包在两种架构上本地运行的可执行文件。在 Linux 上,Canonical 和 Google 合作提供了一个高度集成的、同类最佳的开发选项。

Superlist[18] 是 Flutter 如何实现漂亮桌面体验的一个很好的例子,它今天推出了测试版。Superlist 通过将列表、任务和自由形式的内容组合成全新的待办事项列表和个人计划的新应用程序,提供超强协作。Superlist 团队之所以选择 Flutter,是因为它能够提供快速、高度品牌化的桌面体验,我们认为他们迄今为止的进展证明了为什么它已被证明是一个不错的选择。

站长注:这里有个视频 https://youtu.be/YRuQj7mlH2I

Flutter 3还对许多基本要素进行了改进,提高了性能,支持Material You,并更新了生产力。

除了上面提到的工作,在这个版本中,Flutter 可以完全原生的在 Apple 芯片[19]上进行开发。虽然 Flutter 自发布以来一直与 M1 驱动的 Apple 设备兼容,但 Flutter 现在充分利用了 Dart 对 Apple 芯片的支持[20],从而可以在 M1 驱动的设备上更快地编译并支持 macOS 应用程序的通用二进制文件。

我们对 Material Design 3[21] 的工作在此版本中基本完成,使开发者能够利用一个适应性强、跨平台的设计系统,提供动态的色彩方案和更新的视觉组件。

我们详细的技术博客文章扩展了 Flutter 3 中的这些以及许多其他新功能。

Flutter 由 Dart 提供支持,Dart 是一种用于多平台开发的高生产力、可移植语言。我们在这个周期中对 Dart 的工作包括减少模板和提高可读性的新语言功能、实验性 RISC-V 支持、升级的 linter 和新文档。有关 Dart 2.17 中所有新改进的更多详细信息,请查看专用博客[22]

Firebase and Flutter

当然,构建应用程序不仅仅是 UI 框架。应用程序发布者需要一整套工具来帮助您构建、发布和操作您的应用程序,包括身份验证、数据存储、云功能和设备测试等服务。有多种服务支持 Flutter,包括 Sentry[23]、AppWrite[24] 和 AWS Amplify[25]

Google 提供的应用服务是 Firebase,SlashData 的开发者基准测试研究[26]表明,62% 的 Flutter 开发者在他们的应用中使用 Firebase。因此,在过去的几个版本中,我们一直在与 Firebase 合作,以扩展和更好地将 Flutter 集成为一流的集成。这包括将 Flutter 的 Firebase 插件引入 1.0,添加更好的文档和工具,以及 FlutterFire UI[27] 等新小部件,为开发人员提供可重用的身份验证和配置文件界面 UI。

今天,我们宣布 Flutter/Firebase 集成升级为 Firebase 产品的完全支持的核心部分。我们正在将源代码和文档移动到主要的 Firebase 存储库和站点中,您可以指望我们与 Android 和 iOS 同步发展 Firebase 对 Flutter 的支持。

此外,我们还进行了重大改进,以支持使用 Crashlytics 的 Flutter 应用程序, 这是Firebase 流行的实时崩溃报告服务 。通过 Flutter Crashlytics 插件[28]的更新,您可以实时跟踪致命错误,为您提供与其他 iOS 和 Android 开发人员相同的功能集。这包括重要的警报和指标,如“无崩溃用户”,可帮助您掌握应用程序的稳定性。Crashlytics 分析管道已升级以改进 Flutter 崩溃的聚类,从而更快地对问题进行分类、优先排序和修复问题。最后,我们简化了插件设置过程,因此只需几个步骤即可从您的 Dart 代码中启动和运行 Crashlytics。

Flutter 休闲游戏工具包(Flutter Casual Games Toolkit)

对于大多数开发者来说,Flutter 是一个应用程序框架。但是,围绕休闲游戏开发的社区也在不断壮大,利用 Flutter 提供的硬件加速图形支持以及 Flame[29] 等开源游戏引擎。我们希望让休闲游戏开发者更容易上手,因此在今天的 I/O 大会上,我们宣布推出休闲游戏工具包[30],它提供了模板和最佳实践的入门工具包以及广告和云服务的良好体验。

尽管 Flutter 并非专为高强度 3D 动作游戏而设计,但即使其中一些游戏已经转向 Flutter 的非游戏 UI,包括拥有数亿用户的热门游戏,如 PUBG Mobile[31]。对于 I/O,我们想看看我们可以将我们的技术推到多远,所以我们创建了一个有趣的弹球游戏,由 Firebase 和 Flutter web提供支持。I/O Pinball 提供了一个围绕 Google 最喜欢的四个吉祥物设计的自定义桌子:Flutter 的 Dash、Firebase 的 Sparky、Android 机器人和 Chrome 恐龙,并让您与其他人竞争高分。我们认为这是展示 Flutter 多功能性的一种有趣方式。

由 Google 赞助,由社区提供支持

我们喜欢 Flutter 的一件事是,它不仅仅是一款 Google 产品——它是一款“所有人”的产品。开源意味着我们都可以参与并受益于它的成功,无论是通过贡献新代码或文档,创建赋予核心框架新的超级大国的软件包,编写书籍和培训课程来教授他人,或者帮助组织活动和用户组 .

为了展示社区的最佳状态,我们最近与 DevPost 合作赞助了 Puzzle Hack 挑战赛,让开发人员有机会通过使用 Flutter 重新构想经典的滑动拼图来展示他们的技能。这证明了web、桌面和移动如何结合在一起的精彩演示:现在我们都可以在线或通过商店玩游戏。

站长注:这里有个视频 https://youtu.be/l6hw4o6_Wcs

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

结尾福利

这是站长收藏的一个在线学习Flutter的网站,希望对大家有用:

  • 《Flutter实战·第二版》[32]

参考资料

[1]

Tim Sneath: https://medium.com/@timsneath

[2]

《Introducing Flutter 3》: https://medium.com/flutter/introducing-flutter-3-5eb69151622f

[3]

data.ai: https://www.data.ai/en/

[4]

许多细分市场的广泛客户: https://flutter.dev/showcase

[5]

微信: https://play.google.com/store/apps/details?id=com.tencent.mm&hl=en_US&gl=US

[6]

Betterment: https://apps.apple.com/us/app/betterment-investing-saving/id393156562

[7]

Nubank: https://play.google.com/store/apps/details?id=com.nu.production&hl=en_US&gl=US

[8]

SHEIN: https://play.google.com/store/apps/details?id=com.zzkko&hl=en_US&gl=US

[9]

trip.com: https://apps.apple.com/us/app/trip-com-hotels-flights-trains/id681752345

[10]

Fastic: https://fastic.com/

[11]

Tabcorp: https://auspreneur.com.au/tabcorp-adopts-googles-flutter-platform/

[12]

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

[13]

巴西政府: https://apps.apple.com/app/id1506827551

[14]

Sonos 最近的一篇博客文章: https://tech-blog.sonos.com/posts/renovating-setup-with-flutter/

[15]

Web: https://medium.com/flutter/flutter-web-support-hits-the-stable-milestone-d6b84e83b425

[16]

Windows 支持: https://medium.com/flutter/announcing-flutter-for-windows-6979d0d01fed

[17]

通用二进制: https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary

[18]

Superlist: https://superlist.com/

[19]

Apple 芯片: https://support.apple.com/en-us/HT211814

[20]

Dart 对 Apple 芯片的支持: https://medium.com/dartlang/announcing-dart-2-14-b48b9bb2fb67

[21]

Material Design 3: https://m3.material.io/

[22]

专用博客: https://medium.com/dartlang

[23]

Sentry: https://docs.sentry.io/platforms/flutter/

[24]

AppWrite: https://appwrite.io/docs/getting-started-for-flutter

[25]

AWS Amplify: https://docs.amplify.aws/start/q/integration/flutter/

[26]

SlashData 的开发者基准测试研究: https://www.slashdata.co/developer-program-benchmarking/?

[27]

FlutterFire UI: https://pub.dev/packages/flutterfire_ui

[28]

Flutter Crashlytics 插件: https://firebase.google.com/docs/crashlytics

[29]

Flame: https://flame-engine.org/

[30]

休闲游戏工具包: https://flutter.dev/games

[31]

PUBG Mobile: https://play.google.com/store/apps/details?id=com.tencent.ig

[32]

《Flutter实战·第二版》: https://book.flutterchina.club/

Flutter 3 发布了(文末推荐一个免费的在线Flutter学习教程)相关推荐

  1. 推荐一个免费的在线图片工具网站

    地址:http://www.img365.cn/ 这个网站包含了很多免费的图片处理工具: 比如批量进行图片转PDF.这是我本地希望转成PDF格式的图片: 批量导入网站后,点击"开始转换&qu ...

  2. 推荐一个免费文档搜索下载网站http://freedownloadbooks.net/

    推荐一个免费文档搜索下载网站http://freedownloadbooks.net/

  3. windows 生成 deploy key_推荐一个免费生成点线/方格/横线纸张的网站

    编注:本账号主要分享Android.iOS.PC.Mac平台上的优质工具.实用小技巧.热门或冷门玩法.简单几步上手就能学会,协助你更高效的完成一些事情! 今天给大家推荐一个免费在线生成点线/方格/横线 ...

  4. 推荐一个免费的生成词云(word cloud)的在线工具

    "词云"这个概念由美国西北大学新闻学副教授.新媒体专业主任里奇·戈登(Rich Gordon)提出. "词云"就是对网络文本中出现频率较高的"关键词& ...

  5. 给大家推荐一个免费好用的ico图标、png、icns下载地址!

    给大家推荐一个免费好用的ico图标.png.icns下载地址!免费好用哦! http://www.easyicon.net

  6. 推荐一个免费的刷题网站

    推荐一个免费的刷题网站 在学习编程的过程中,刷题是非常重要的一部分.而随着互联网的发展,许多刷题网站应运而生.今天,我想向大家推荐一个免费的刷题网站:LeetCode. LeetCode是什么? Le ...

  7. 推荐一个免费云服务器,免费虚拟主机

    推荐一个免费云服务器,免费虚拟主机 三丰云免费服务器用起来确实不错,因为个人弄了一下晓得系统项目,如果要买国内的腾讯阿里等公司的云服务器就很贵,而三丰云免费服务器就正好解决了我这个问题,不需要花钱就可 ...

  8. 推荐一个免费在线制作gif图片的网站。

    推荐一个免费在线制作gif图片的网站:https://gifmake.com/ Gifmake网站不需要注册就可以使用,只需要点击Upload按钮上传至少2张图片,上传好照片后设置一下时间,就可以预览 ...

  9. 推荐一个免费的论文查重网站

    给大家推荐一个免费的论文查重网站PaperFree:http://www.paperfree.cn

最新文章

  1. 2022.2.18自制玉米凉粉
  2. python动态语言双刃性_动态语言的灵活性是把双刃剑:以 Python 语言为例
  3. 多元函数梯度下降 java_机器学习知识点(五)梯度下降法Java实现
  4. 卡巴斯基PURE3.0激活码授权文件KEY
  5. RTMP协议及H264文件格式分析
  6. 百度、火星(高德)、84坐标系相互转换
  7. Git-git命令:全局设置用户名邮箱配置
  8. 解决程控电话交换机内线有杂音问题
  9. 与人工智能相关的创业公司或团队
  10. 一、简介 ELO商户类别推荐有助于了解客户忠诚度
  11. SQL server 复杂查询
  12. Junit 测试方法排序
  13. CentOS 程序设置开机启动脚本并自动输入账号密码
  14. K8S configmap挂载文件
  15. ARDUINO 积木式编辑器整理
  16. python 小程序搜索排名优化_5个Python脚本优化你的网站搜索引擎优化
  17. 百度前端技术学院—斌斌学院题库 转载 cristina-guan
  18. 前端学习框架 - 数据库
  19. idea中设置文件不检查语法_如何让IntelliJ忽略一个.js文件中的javascript语法错误?...
  20. VS 0xC0000005 运行错误分析

热门文章

  1. word域的使用方法
  2. 1037.有效的回旋镖
  3. jzoj6486 向日葵人生 (仙人掌)
  4. ArcGIS Engine开发的类ArcCatalog数据管理工具
  5. 实用程序完成一些与管理计算机,大学计算机基础模拟试题带答案第二套
  6. 只需4步,让PDF阅读最优化!
  7. Python 修改AD账号密码(二)- 修改域账号密码
  8. linux内核netfilter,linux内核netfilter实现url重定向
  9. JAVA基础之移位操作
  10. 注意力机制详解系列(二):通道注意力机制