Flutter已经成为可以开发移动、web、嵌入式和桌面应用的快捷UI框架

2019-05-09

对于Flutter框架来说,这是一个重要的里程碑,因为Flutter将重点从移动扩展到了更广泛的设备上。在I/O大会,发布了Flutter web 的第一个预览版,宣布Flutter正在为Google Home Hub在内的Google智能显示平台提供支持,并通过Chrome OS提供支持桌面级应用程序的第一步。

从移动到多平台

早期,Flutter团队的使命是:为iOS和Android提供开发移动应用程序的最佳框架。移动开发在以前已经成熟,但还需要改进,开发人员不得不选择在两个平台上构建相同的应用程序,而且要写两次代码,或者在使用跨平台框架是做出很大的妥协。Flutter打造了一个最佳点,即能够为单个代码库提供美观,快速,量身定制的体验,并为开发人员提高两个平台的生产力,我们很高兴看到Flutter的早期工作如何蓬勃发展,并成为最受欢迎的开源项目之一。

去年发布1.0版本,Flutter团队就尝试,将Flutter的应用范围扩展到其他平台。而且Google内部也越来越依赖于Flutter,以及Dart平台提供便携式体验的潜力。而且,在内部已经启动了一个探索性项目(代号为“Hummingbird”),使用 Dart 构建 Web 框架,以评估移植Flutter引擎,在标准的Web环境下的技术优势。

该项目的结果令人吃惊,这在很大程度上要归功于Chrome,Firefox和Safari等网络浏览器的快速发展,这些浏览器普遍提供了硬件加速的图形,动画和文本以及快速的JavaScript执行。在项目开始的短短几个月内,核心的Flutter框架原型就开始工作了,并且在不久之后,就将演示版运行在了手机和桌面浏览器上。随着Dart长期编译在web上,这证明我们还可以将Flutter框架和应用程序带到web上运行。

于此同时,核心的Flutter项目已经在推动桌面级应用程序的发展,包括键盘和鼠标的输入、窗口大小调整以及用于Chrome OS应用程序开发的工具。我们将Flutter的桌面级应用程序嵌入并运行在Windows,Mac和Linux上,并在所做的探索性工作上,逐渐改进并演变为核心Flutter引擎。

适用于所有屏幕的便携式UI框架

我们必须承认高性能、可移植的UI框架的商业潜力,该框架从一个单一的代码库可以为各种各样设备提供美观、量身定制的体验。

对于初创公司而言,同一个应用程序可以发布到移动设备,网络或桌面,并能让用户访问的能力,可让他们从第一天起就可以覆盖所有受众,而不是出于技术考虑而受到限制。对于大型组织而言更加重要,通过一个代码库为所有用户提供相同体验的能力,可以降低了复杂性和开发成本,并使他们专注于提高该用户体验。

随着对移动,桌面和Web应用程序的支持,我们的使命扩展为:我们希望构建最佳框架,以便为任何屏幕提供美妙的开发体验。

Flutter Web

本周,Flutter将发布Flutter web的第一个技术预览版。虽然这项技术仍在开发中,但我们已准备好,让开发者提前尝试并向我们提供反馈。Flutter 最初的设想,也并不是想作为一个 HTML 的替代品,而是想基于 Flutter 能够快速构建出全平台的所支持的,图形丰富、交互流程的应用。

为了展示Flutter web,我们与纽约时报合作制作了一个demo。除了世界级的新闻报道外,“纽约时报”以其填字游戏和其他益智游戏而闻名。他们当时想要这个狂人的智趣游戏能在任何设备上运行,他们的开发团队就被Flutter所吸引,成为了他们需求的潜在解决方案。他们发现用同一个代码就可以发布web端应用是一个巨大的福音。
本周在 Google I/O 上,也展示了最近刷屏的 KENKEN 益智游戏( https://www.nytimes.com/games/prototype/kenken#/ ),该游戏在 Android、iOS、Web、Mac 和 Chrome 上,运行的都是相同的代码。

以下是纽约时报这个游戏执行总监Eric von Coelln对Flutter的评论:

“纽约时报填字游戏拥有超过400,000个独立订阅,并且这只是拼图解决方案的日常数据。除了填字游戏,我们增加了我们的数字拼图组合,每个月有超过200万个解决方案。
我们已经开始探索Flutter作为快速开发,并引人入胜的高质量移动体验挑战的潜在解决方案。现在,能够发布到Web,使Flutter成为一个更具吸引力的选项,它可以在我们所有的平台上快速部署。我们将基于Flash的KenKen游戏更新为多平台可玩的游戏体验,是我们今年带来的很高兴的解决方案。“

在这个早期阶段,Flutter渴望得到您对如何使用Flutter web的反馈。我们期望代码的快速发展,并极其关注性能,将代码库与Flutter项目的其余部分协调起来。

移动设备上的Flutter

这个核心Flutter框架本周也将获得升级,你可以获取Flutter1.5。Flutter 1.5包含开发人员对数百个反馈的更改,包括新App Store iOS SDK更新,iOS和Material小部件的更新,对新设备类型的引擎支持以及具有新UI-as-code语言功能的Dart 2.3 。

随着框架本身的成熟,我们正在建立生态系统。Flutter的架构模型始终优先考虑一个小型核心框架,并辅以丰富的软件包社区。在过去的几个月里,Google为web视图,谷歌地图和Firebase ML Vision提供了生产质量的软件包,本周,我们正在为应用内付款添加初始支持。现在有超过2,000个可用于Flutter的开源软件包。

我们本周在I / O上宣布的一个特别激动人心的项目是ML Kit自定义图像分类器。使用Flutter和Firebase构建,它提供了一个易于使用的基于应用程序的工作流程,用于创建自定义图像分类模型。您可以使用手机的相机收集训练数据,邀请其他人为您的数据集做出贡献,触发模型训练,并使用经过训练的模型,所有这些都来自同一个应用程序。

Flutter在普及和使用上都不断的增长。一个高质量企业在使用的名单:eBay, Sonos, Square, Capital One, Alibaba 和 Tencent都正在使用Flutter构建应用程序。他们很开心!以下是eBay的高级开发人员Larry McKenzie对Flutter所说的话:

“Flutter很快,曾经花了我们多天才能完成的功能,现在一天内就可以完成啦。我们过去花费大量时间处理许多问题,现在根本不再发生啦。我们的团队现在可以专注于创建更优质的用户体验和功能。Flutter让我们超越期望!“

更广泛地说,LinkedIn最近进行了一项研究,显示Flutter是软件工程师中发展最快的技能,这是基于”网站的成员“在过去12个月内在他们的个人资料中显示的信息。在最近的2019年StackOverflow开发人员调查中,Flutter被列为最受欢迎的开发人员框架之一。

Flutter 桌面

Flutter也在桌面上使用。几个月来,我们一直在桌面上作为一个实验项目。但现在我们正在将这个实验项目应用到Flutter引擎中,将这项工作直接整合到主线中。虽然这些目标还没有最终就绪,但我们已经发布了早期 instructions,用于开发在Mac,Windows和Linux上运行的Flutter应用程序。

另一个快速增长的Flutter平台是Chrome OS,每年销售数百万台Chromebook,特别是在教育方面。Chrome OS是Flutter的完美环境,无论是用于运行Flutter应用程序,还是作为开发人员平台,因为它支持Android和Linux应用程序的执行。使用Chrome OS,您可以使用Visual Studio Code或Android Studio开发一个Flutter应用程序,您可以在没有模拟器的情况下在同一设备上本地测试和运行。您还可以将适用于Chrome操作系统的Flutter应用程序发布到Play商店,数百万其他的人可以从您的创作中受益。

Flutter在嵌入式设备

作为Flutter便携性的最后一个例子,我们提供嵌入在其他设备上的Flutter。我们最近发布的样本证明Flutter直接在Raspberry Pi等小型设备上运行,我们为Flutter提供嵌入式API,使其可用于家庭,汽车等领域。

也许最普遍的嵌入式平台之一已经在运行flutter了,它是在智能显示操作系统上运行的,该系统为谷歌家庭集线器(google home hub)。

在google内部,一些google为智能显示平台构建的功能现在由flutter提供支持。在接下来的几个月里,助理团队很高兴能够继续扩展,用flutter构建的用于智能显示的功能组合;今年的目标是使用flutter驱动整个系统用户界面。

其他资源

许多开发人员正在用Flutter创建鼓舞人心的应用程序。在Google I / O的准备阶段,我们举办了一场名为Flutter Create的比赛,鼓励开发人员用5GB或更少的Dart代码看看他们可以用Flutter构建什么。我们有来自世界各地的750多个独特参赛作品,其中一些令人惊叹的例子推动了我们想象。

Flutter不再是移动框架,而是一个多平台框架,可以帮助您随时随地接触用户。我们迫不及待想看看您将在web,桌面,移动设备以及其他地方使用Flutter构建的内容!

@2024  TCODE    津ICP备13002520号-4