谷歌 Flutter 2.0 重磅发布!开源让其蓬勃发展

SegmentFault

共 3828字,需浏览 8分钟

 ·

2021-03-05 13:23


技术编辑:芒果果丨发自 思否编辑部



谷歌刚刚发布了 Flutter 2.0 版本,它是 Flutter 的重大升级,借助 Flutter 2 .0 开发人员能从同一代码库构建跨平台软件,为任何平台创建美观、快速且可移植的应用程序。

但是今天的发布会可能主要是为了强调 Flutter 继续向移动应用过渡,不管它们在哪里都支持应用ーー网络、桌面,甚至是新兴的形式因素,如可折叠的应用。



Flutter 2.0 取得与 Android 和 iOS 的“平等”地位


在 2017 年的 I/O 开发者大会上,谷歌首次推出了 Flutter,它的 1.0 版本于 2018 年 12 月问世。支持 Android 和 iOS 应用程序,但是在此后的两年多时间里,谷歌在一定程度上扩展了对 web 应用、 MacOS、 Linux、 Windows 甚至嵌入式设备的支持。然而,这种支持只是在早期阶段提供的,要么是大多数开发人员无法获得的,要么不是为生产级应用设计的。

自 2019 年以来,Flutter 的网络开发工具包一直处于测试阶段,但今天它与 Android 和 iOS 这些“兄弟们”取得了平等的地位。对于桌面开发者来说,谷歌已经将 Flutter For Windows、 MacOS 和 Linux 过渡到主要的“稳定”发行版。

Flutter 产品经理 Tim Sneath 向外媒透露,“这对我们来说是一个巨大的里程碑,不仅因为代码本身已经可以用于高质量的产品,还因为过去只有极少数的 Flutter 用户可以使用它,这些用户正在运行发布前的软件开发工具包。”

Flutter 使用 Google 自己的 Dart 编程语言,旨在帮助开发人员构建在其所运行的每个平台上都感觉原生的应用程序,同时尽可能多地共享代码以避免重复工作。

Flutter 2.0 现在支持使用相同的代码库将本机应用程序发布到五个操作系统:iOS、Android、Windows、macOS 和 Linux;Windows Vista、Windows XP 和 Windows XP。以及针对 Chrome、Firefox、Safari 或 Edge 等浏览器的网络体验。Flutter 甚至可以嵌入到汽车,电视和智能家电中,为环境计算世界提供最普遍和最便携式的体验。




Flutter 开发套件的大量改进


在设计应用程序时,开发者需要考虑无数特定于平台的因素,包括人们如何与他们的设备互动(例如,移动设备上的触摸和滑动,桌面上的键盘和鼠标),用户在不同的屏幕尺寸上消费内容,甚至他们用来写作的语言。这就是为什么花一些时间才能在发行周期中改进各种 Flutter 开发套件的原因。

Tim Sneath 说:“为了达到这个阶段,我们做了大量的工作,包括增加国际化支持,例如针对中文等语言的 IME 编辑器,针对桌面支持的 TreeView 和 DataTable 等新小工具,以及对 Apple Silicon 驱动开发机器的更好支持。”

特别是在 Linux 方面,为 Ubuntu 相关项目提供商业化服务的公司 Canonical 今天透露,Flutter 现在已经成为 Ubuntu 操作系统桌面和移动应用程序开发的默认框架。去年 7 月,谷歌和 Canonical 启动了 Flutter 向 Linux 领域的扩展,并促使 Canonical 的工程师为 Flutter 项目贡献了代码。

作为最新扩展的一部分,Canonical 公布了一个基于 Flutter 的 Ubuntu 安装程序的早期演示。


今天宣布的其他值得注意的 Flutter 更新包括 Google Mobile Ads SDK 的 beta 版本,该版本一直处于早期的试验模式,为 AdMob 和 AdManager 提供了各种广告格式。谷歌还推出了 Flutter 插件更新,涵盖了各种 Firebase 服务,包括身份验证、 Crashlytics、云消息和云存储。

与此同时,Dart 今天发布了 2.12 版本,支持 null 安全(或“ void safety”),以避免 null 异常。



Flutter 解决了大公司的两个核心挑战


去年四月,谷歌透露每月有 50 万开发者使用 Flutter。差不多一年过去了,谷歌没有提供任何关于这个数字的更新,只是说“用户数量还在继续增长”,但今天,谷歌表示,Google Play Store 上有 15 万个 Flutter 支持的应用程序。它不具备其他应用程序商店,如苹果商店提供的,来自其他地方的数据的同样跟踪能力。

Tim Sneath 说:“有趣的是,我们知道有些应用程序在其中为一个移动平台添加了 Flutter 应用程序,然后将其回滚到另一个移动平台。”

早在去年九月,谷歌支付就开始使用 Flutter,并将其添加到谷歌分析、谷歌广告、谷歌购物、谷歌 Nest Hub、体育场和其他谷歌产品中,这些产品已经在使用这个开发工具包。

Flutter 是快速和一致的跨平台编码,但也是一个相对年轻的框架,第三方软件库和限制开发人员的软件包较少。因此,对于更大、更复杂的企业应用程序,本地软件开发方法可能仍将是大多数公司的首选方法。

Tim Sneath 强调,“生态系统不会在一夜之间发展起来,从某些标准来看,Flutter 仍然是一个新平台。但我们相信上述 15000 个软件包和代表的公司(例如 Nubank 和 Realtor 是在填补剩余空白方面快速发展的证据,这种持续增长令我们深受鼓舞。”

有明确的证据表明,企业对 Flutter 必须提供的服务感兴趣,拥有大量 vc 支持的 Nubank 甚至公布了它为什么使用 Flutter 进行跨平台移动开发的全部理念。根据 Sneath 的说法,Flutter 解决了大公司的两个核心挑战。

他说: “首先,他们发现,为了接触到所有的客户,他们必须创建同一个应用程序两次、三次、甚至四次或更多次,这令人恼火。”。“这种复制没有好的并行机制——他们不建立多计费系统、多工资单平台等。这是一种浪费,而且会导致各种各样的二阶问题: 如何将多个应用程序模拟到多个平台上,是否所有的开发团队都必须以最慢的速度运行,等等。”

Sneath 认为,Flutter 解决的第二个问题是,企业可能会投入数百万美元创建和维护一系列企业品牌,但由于其内在的局限性,它们可能会受到限制,无法利用自己的数字属性。




开源让 Flutter 蓬勃发展


在过去的十年中,开源运动得到了极大的发展,大多数主要的技术公司都在某种程度上接受了它。Facebook 已经开放了无数的内部项目,而谷歌本身对开源并不陌生。与此同时,微软一直在努力展示它在开源方面的全力以赴,最近还宣称它现在已经成为跨公司协作的公认模式。

谷歌可能是 Flutter 框架的最大贡献者,但这并不能说明全部情况。Sneath 提到,在所有参与这次发布的个人中,大多数都不在谷歌工作。他说:“当然,Flutter 不仅仅是一个核心框架,目前大约有 15000 个软件包,其中绝大多数来自非谷歌贡献者,如亚马逊、微软、 Adobe、华为、阿里巴巴、 eBay 和 Square。”

在最新版的 Flutter 中,微软做出了一些显著的贡献,特别是围绕其迅速增长的关注“可折叠”的外形因素,这可能需要设备的双屏幕。微软现在正在发布支持这些新设计的代码,允许应用程序利用其独特的功能。

这也突显出为什么开源对这个项目有意义,谷歌需要整个行业和生态系统的支持,才能让 Flutter 蓬勃发展,而且如果开发者能够完全访问代码库,他们就更有可能留下来。

Sneath 说:“软件开发人员能够看到整个堆栈的代码,这对 UI 框架来说是一个巨大的加分点。能够通过层进行调试,而不是直接进入黑盒子,这会提高开发人员的效率。如果一个控件或小部件不能完全满足您的需求,那么能够接受它并将其分支出去,这样可以确保框架本身永远不会成为一个限制因素。从一个纯粹自私的角度来看,开源意味着我们可以从一个有才华的社区获得贡献。能够让我们的客户同时提交一个 bug 和一个修复,或者私下修复某些东西,是另一个巨大的优势。”

现在,开发者已经可以开始使用 Flutter 2.0 了。

参考链接:
https://developers.googleblog.com/2021/03/announcing-flutter-2.html
https://venturebeat.com/2021/03/03/google-launches-flutter-2-0-to-target-developers-across-all-platforms/

GitHub 地址:https://github.com/flutter/flutter



- END -

往期精选


中国蝉联专利申请量世界第一,华为申请来源榜四连冠

你不知道的 TypeScript 高级类型

你不知道的 TypeScript 高级类型


浏览 28
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报