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


作者 : 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 等研究公司的分析以及公开推荐表明,Flutter 被许多细分市场的广泛客户使用:从微信等社交应用程序到 BettermentNubank 等金融和银行应用程序; 从 SHEINtrip.com 等商务应用到 FasticTabcorp 等生活方式应用; 从 My BMW 等配套应用程序到巴西政府等公共机构。

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

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

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

  • 91% 的开发人员认同 Flutter 减少了构建和发布应用程序所需的时间。
  • 85% 的开发者认同 Flutter 让他们的应用比以前更漂亮。
  • 85% 的开发者认同这使他们能够为比以前更多的平台发布他们的应用程序。

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

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

介绍Flutter 3

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

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

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

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

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

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

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

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

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

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

Firebase and Flutter

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

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

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

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

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

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

尽管 Flutter 并非专为高强度 3D 动作游戏而设计,但即使其中一些游戏已经转向 Flutter 的非游戏 UI,包括拥有数亿用户的热门游戏,如 PUBG Mobile。 对于 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 3 发布了(文末推荐一个免费的在线Flutter学习教程)的更多相关文章

  1. 推荐一个免费的在线IDE和终端

    墙裂推荐!支持众多语言,方便学习,测试,地址如下 https://www.tutorialspoint.com/codingground.htm

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

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

  3. 【Flutter 1-1】8个Flutter的优势以及为什么要在下一个项目中尝试Flutter

    首发链接 让我们一起来了解Flutter与其他跨平台框架的优势,以及这些优势在开发流程中的作用. Flutter是什么 Flutter的优势 1. 跨平台使用相同的UI和业务逻辑 2. 节省开发时间 ...

  4. [推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人

    不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小   15天学会jQuery(完整版).pdf 274.79 KB   21天学通JavaScript(第2版)-顾宁燕扫描版.pdf ...

  5. 推荐一个不错的在线制图网站---ProcessOn

    http://www.processon.com/ 它是什么? ProcessOn是一个面向垂直专业领域的作图工具和社交网络,成立于2011年6月并于2012年启动.ProcessOn将全球的专家顾问 ...

  6. 推荐一个网址:在线检查Yam文件语法格式的错误

    最近在学习Docker和K8S内容时候,经常会遇到要自己写一些容器部署或者组件部署的yaml文件. 但是苦于没有彻底熟悉yaml,有时候要到kubectl creat -f path 部署命令执行后, ...

  7. 严重推荐一个免费开源数据库建模工具软件 --OpenSystemArchitect 4.0

    嘿嘿,对于我这样的新手,这个工具还是很令人兴奋的. 真的是术业有专攻啊.关键还是免费开源 EXCEL,VISO,PPT,PS,CD,FREEHAND不是不可以,只是.人家还是专业点,方便点.. Ope ...

  8. 推荐一个非常好的 IntelliJ IDEA 教程

    教程地址:https://github.com/judasn/IntelliJ-IDEA-Tutorial 作者博客:http://www.youmeek.com/category/software- ...

  9. [PHP] 一个免费、开源的基于tp5+layui2.1.5开发的快速开发框架

    推荐 一个免费.开源的基于tp5+layui2.1.5开发的快速开发框架,既可以用来学习,也可以用来实际项目的快速开发: 码云下载:https://gitee.com/eduaskcms/eduask ...

  10. 最近学习工作流 推荐一个activiti 的教程文档

    全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...

随机推荐

  1. 【C# 技术】C# 常用排序方式

     前言  在最近的项目中经常会对C#中的数据进行排序,对于基本数据类型,其排序方式比较简单,只需要调用内置算法即可实现,但对于自定义数据类型以及自定义排序规则的情况实现起来就比较麻烦,所以在本文章中将 ...

  2. 微软真是活菩萨,面向初学者的机器学习、数据科学、AI、LLM课程统统免费

    微软真是活菩萨,面向初学者的机器学习.数据科学.AI.LLM课程统统免费 大家好,我是老章 推荐几个质量上乘且完全免费的微软开源课程 面向初学者的机器学习课程 地址:https://microsoft ...

  3. 别再傻傻地用 ifconfig 查地址了!这条命令足以让你摘掉小白工程师的帽子

    大家好,我是民工哥. 众所周知,在 Linux 系统中,ip 和 ifconfig 这个两命令的功能十分相似,ifconfig 是 net-tools 中已被弃用的一个命令,很多年前就已经没有维护了. ...

  4. idea配置tomcat热部署

    idea配置tomcat热部署,点击+添加一个local的tomcat服务 点击部署tab 添加Artifact...选择 一定要选择exploded,否则没有热部署选项!!! 一定要选择explod ...

  5. 用 Socket.D 替代原生 WebSocket 做前端开发

    socket.d.js 是基于 websocket 包装的 socket.d 协议的实现.就是用 ws 传输数据,但功能更强大. 功能 原生 websocket socket.d 说明 listen ...

  6. Boost程序库完全开发指南:1-开发环境和构建工具

      Boost官方于2019年12月发布的1.72版编写,共包含160余个库/组件,涵盖字符串与文本处理.容器.迭代器.算法.图像处理.模板元编程.并发编程等多个领域,使用Boost,将大大增强C++ ...

  7. 斐波那契数Fibonacci

    509. 斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列.该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F(0) = 0,   F(1) = ...

  8. 华为云GaussDB城市沙龙活动走进安徽,助力金融行业数字化转型

    本文分享自华为云社区<华为云GaussDB城市沙龙活动走进安徽,助力金融行业数字化转型>,作者: GaussDB 数据库 . 近日,华为云GaussDB数据库城市沙龙·安徽站圈层活动顺利举 ...

  9. 教你如何在Python中读,写和解析CSV文

    摘要:在这篇文章中关于"在Python如何阅读CSV文件"中,我们将学习如何读,写和解析的CSV文件的Python. 您知道将表格数据存储到纯文本文件背后的机制是什么吗?答案是CS ...

  10. 云小课|MRS基础原理之ClickHouse组件介绍

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:在2016年开源的 ...