翻译自 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. 使用create-vue创建vue3项目

    create-vue是vue3新的脚手架搭建项目工具,底层构建工具使用vite,而不是vue-cli的webpack. 但不是说你不能用以前的vue create命令来创建vue3项目,你完全可以用v ...

  2. SSM整合 tomcat报错: <严重 [RMI TCP Connection(22)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到>

    前提:学了一个暑假 从Javaweb -> mybits ->spring -> spring-mvc 打算跟着网上ssm整合项目做一个项目 在完成最后一步spring对spring ...

  3. nginx-通过配置不同的虚拟主机实现,不同的uri访问不同资源

    先来一个配置 再来另外一个 这两个地址对应的域名都配置解析了,并且解析的ipv4地址是你的服务器ip,且上面配置文件中的内容都在服务器做了相应的配置,对应的路径下的资源是需要准备好的(比如网站或图片或 ...

  4. Math数学工具类、向上取整,向下取整,四舍五入,最大值

    package com.guoba.math; public class MathTest { /* Math数学工具类,包含以下方法: .ceil() 向上取整 .floor() 向下取整 .rou ...

  5. 轻量化动态编译库 Natasha v8.0 正式发布!

    .NET8.0 与 动态编译 Hello 各位小伙伴,我于 2024年1月10日 发布了 Natasha 一个全新的里程碑版本 v8.0,对于老用户而言,此次发布版本号跨度较大,是因为我决定使用新的版 ...

  6. 神经网络优化篇:理解mini-batch梯度下降法(Understanding mini-batch gradient descent)

    理解mini-batch梯度下降法 使用batch梯度下降法时,每次迭代都需要历遍整个训练集,可以预期每次迭代成本都会下降,所以如果成本函数\(J\)是迭代次数的一个函数,它应该会随着每次迭代而减少, ...

  7. static、final、private是否可以修饰抽象方法?

    1.static和abstract:是不能共存的.static是为了方便调用,abstract是为了给子类重写,没有方法体. 2.final和abstract:是互相冲突的,final修饰的方法不能重 ...

  8. 鸿蒙开发丨设备内UIAbility的几种交互方式

    本文分享自华为云社区<设备内UIAbility交互:无缝体验与高级技巧>,作者: 柠檬味拥抱. UIAbility组件间交互(设备内) 在设备内,UIAbility(用户界面能力)是系统调 ...

  9. 基于Atlas 200 DK的原版YOLOv3(基于Darknet-53)实现(Python版本)

    [摘要]本文将为大家带来使用Atlas 200 DK的原版YOLOv3(基于Darknet-53)实现的展示. 前言 YOLOv3可以算作是经典网络了,较好实现了速度和精度的Trade off,成为和 ...

  10. makefile:带你了解一种常用于GNU gcc编译的工具语言

    摘要:该文章主要介绍makefile,一种常用语GNU gcc编译的工具语言,同时LiteOS也是利用该文件对工程项目进行make构建生成执行文件的. LiteOS源码中使用makefile进行文件的 ...