“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

Flutter 全平台制霸!新增 Web 和嵌入式目标平台

  • 2019-05-09
  • 本文字数:4425 字

    阅读完需:约 15 分钟

Flutter全平台制霸!新增Web和嵌入式目标平台

Flutter 作为谷歌的移动 UI 框架,在快速构建 iOS 和 Android 应用及开发、高性能、可移植性上表现优秀,并可以与现有代码一起工作,基于这些特点使其越来越受到开发者的推崇。在本次举行的 2019 谷歌 I/O 大会上,公布了 Fluttery 实现 web 访问、提供自定义图像分类模型的新特性,并介绍 Flutter 在桌面系统及嵌入式设备中的应用与未来的发展,对于开发者来说可谓是福音连连,下面跟着小编来围观下吧。


今天是Flutter框架发展历程中的一个重要转折点,因为我们将把项目的重点由移动平台扩展至更为广泛的设备领域。在本届 I/O 大会上,我们发布了Flutter for Web的第一个技术预览版本,宣布 Flutter 已经在为包括 Google Home Hub 在内的多种谷歌智能显示平台提供支持,并通过 Chrome OS 迈出了桌面级应用程序支持的第一步。

从移动到多平台

长久以来,Flutter 开发团队的使命一直是为 iOS 以及 Android 移动应用开发者提供最理想的框架选项。在我们看来,移动开发如今已经基本成熟,但由此带来的问题是开发人员不得不在两种平台之上重复构建相同的应用程序,或者在使用跨平台框架时面对一系列功能性妥协。Flutter 希望找到最佳平衡点,即能够为同一代码库提供美观、快速且量身定制的使用体验,并尽可能为这两大移动平台阵营的开发者们带来理想的生产力水平。我们很高兴看到我们的早期工作成果,一步步发展成为最受大家欢迎的开源项目之一


去年,我们开始构建Flutter项目的1.0版本,并希望借此机会将其进一步拓展至其它平台。这一发展思路主要源自越来越依赖于 Flutter 的谷歌内部团队,以及Dart平台为其提供可移植性体验的潜力。具体来讲,我们已经为 Dart 构建起一套面向内部小型开发团队的 Web 框架,这个探索性的项目被定名为“Hummingbird”,用于评估 Flutter 引擎面向标准 Web 开发环境的移植可能性。


该项目的结果令人吃惊。而且需要承认的是,项目的成功在很大程度上要归功于 Chrome、火狐以及 Safari 等网络浏览器的快速发展。这些浏览器目前普遍提供对图形、动画以及文本的硬件加速能力,亦可快速完成 JavaScript 执行任务。在项目开始的几个月内,我们就成功构建起了核心 Flutter 框架原型,并在不久之后开始在移动与桌面浏览器之上运行项目演示。除了 Dart 的良好 Web 编译能力之外,这个项目也证明了我们确实能够将 Flutter 框架以及相关应用程序融入 Web 端并加以运行。


与此同时,核心 Flutter 项目也一直在推动桌面级应用程序的开发脚步,包括适应键盘与鼠标等输入范式、窗口大小调整以及发布适用于 Chrome OS 应用程序开发的工具等等。我们将 Flutter 嵌入至运行在 Windows、Mac 以及 Linux 平台上的各类桌面级应用程序,由此带来的探索性成果也逐渐被纳入至核心 Flutter 引擎当中。

适用于各类设备的可移植 UI 框架


值得一提的是,高性能、可移植 UI 框架本身具有巨大的商业潜力,因此 Flutter 框架完全可以立足单一代码库为各种各样的设备及其不同尺寸的屏幕提供美观且量身定制的良好使用体验。


对于初创公司而言,通过单一应用程序对接移动、Web 以及桌面设备,意味着其能够从起步之初就覆盖到全部受众,而不用受到各平台间不同技术的限制。而在大型组织这边,通过单一代码库为所有用户提供相同的使用体验,则能够有效降低复杂性与开发成本,并确保他们能够专注于提高体验质量。


凭借着对移动、桌面以及 Web 应用程序的全面支持,我们的使命也得到了进一步扩展:我们希望构建起一款最佳框架,能够在任何屏幕之上提供良好的使用体验。

Flutter for Web

就在本周,我们将发布 Flutter for Web 的第一个技术预览版本。虽然这项技术仍在开发当中,但我们已经准备好向早期使用者提供试用成果并接受相关反馈。我们对于 Flutter for Web 的初步设想,并不是为 HTML 优化型文档提供通用的替代性体验方案;相反,我们打算将其打造成一种能够构建起高度互动且图形丰富的应用内容的理想方法,事实上这种综合性 UI 框架的优势也正在于此。


为了展示 Flutter for Web,我们与《纽约时报》合作制作了一段演示。除了全球领先的新闻报道能力之外,《纽约时报》还一直以质量上乘的填字游戏与其它益智小版块而为人称道。他们希望能够将这些充满乐趣的要素在任意设备之上重现,因此其开发团队意识到了 Flutter 的可观价值,即有望成为解决其需求的理想方案。他们也发现,利用相同代码实现 Web 访问代表着一种巨大的福音。在本周召开的谷歌 I/O 大会上,大家可以亲眼见证他们如何利用相同的代码在 Android、iOS、Web、Mac 以及 Chrome 等操作系统运行KENKEN益智游戏



以下是《纽约时报》益智游戏版块执行总监 Eric von Coelln 对于 Flutter 使用体验的评价:


“〈纽约时报〉的填字游戏版块拥有超过 40 万名独立订阅用户,其轻松愉快的体验也成为很多人日常生活中不可或缺的一部分。除了填字游戏之外,我们也增加了益智版块的内容丰富度,每月有超过 200 万人次成功完成了我们发布的小游戏。”

“我们已经开始探索如何将 Flutter 项目作为潜在的解决方案,从而开发出引人入胜且质量精良的移动端游戏体验。现在,能够发布到 Web 这一新加功能使 Flutter 成为一个更具吸引力的选项,意味着我们能够在所有用户平台上快速部署智能游戏。我们高兴地看到,这款解决方案已经成功将我们基于 Flash 的 KenKen 游戏发布在更多平台之上。”


关于 Flutter for Web,我们还有很多值得介绍的新鲜内容。感兴趣的朋友可以访问 Flutter 博客查看关于Flutter for Web的文章


作为项目的早期开发阶段,我们渴望听到更多朋友关于使用 Flutter for Web 的反馈声音。我们希望快速开发代码、高度关注性能,并将相关代码库与 Flutter 项目的其它组成部分加以良好协调。

移动平台的 Flutter

核心 Flutter 框架也将在本周得到升级,我们将通过稳定渠道向您提供Flutter 1.5版本。Flutter 1.5 当中包含根据数百位开发人员的反馈所做出的调整,例如新的 App Store iOS SDK 更新、iOS 与 Material 小工具更新、引擎对于新型设备的支持,以及 Dart 2.3 带来的全新UI-as-code语言功能等等。


随着框架本身的发展成熟,我们也开始投资建立技术支持生态系统。Flutter 的架构模型一直坚持走小型核心框架的路线,同时辅以丰富的软件工具社区。过去几个月以来,谷歌为网络视图、谷歌地图以及 Firebase ML Vision 等提供了生产级别的软件工具包。就在本周,我们也将为应用内购功能提供初步支持。目前 Flutter 项目拥有超过 2000 个可用的开源软件包,足以满足绝大部分实际使用需求。


我们本周还在 I/O 大会上公布了一个激动人心的项目,即ML Kit自定义图像分类器。利用 Flutter 与 Firebase 构建的这款分类器提供一套简单易用且基于应用程序的工作流程,允许您借此创建自定义图像分类模型。大家可以通过智能手机上的摄像头收集训练数据,邀请其他人为您的数据集做出贡献,触发模型训练操作,并使用这些训练完成的模型——所有这一切,都将由同一款应用程序提供。



Flutter 将继续在发展与普及的道路上坚定前行。包括 eBay、Sonos、Square、第一资本、阿里巴巴以及腾讯在内的这些要求愈发严苛的客户,都在利用 Flutter 开发应用程序,并对项目的良好表现感到非常满意!以下是 eBay 公司高级开发人员 Larry McKenzie 对于 Flutter 项目的评语:


“Flutter 速度很快!以往需要几天才能实现的功能,如今我们已经可以在一天之内完成。我们过去投入大量时间解决的很多问题,现在也完全消失了。我们的团队如今可以专注于创造更优质的用户体验与实际功能。Flutter 的表现超越了我们的期望!”


再来看看更为宏观的观点。领英公司最近进行了一项研究,根据过去 12 个月当中网站成员在个人资料中新添加的信息,结果显示 Flutter 在软件工程师当中成为发展速度最快的技能。而在最近的 2019 年 StackOverflow 开发人员调查当中,Flutter也被评选为最受欢迎的开发人员框架之一

走向桌面

Flutter 项目也将在桌面系统中得到广泛应用。几个月以来,我们一直在进行一个实验性质的桌面项目,并逐步把相关成果融合至 Flutter 引擎当中以作为主版本的新增内容。虽然这些目标还没有达到生产级水平,但我们已经发布了早期说明,可用于在 Mac、Windows 以及 Linux 之上开发各类 Flutter 应用程序。


另一个快速增长的 Flutter 平台当数 Chrome OS。目前,Chromebook 每年售出数百万台,且主要集中在教育领域。Chrome OS 可谓 Flutter 的完美运行环境,包括使用 Flutter 应用程序以及作为开发者平台。这主要是因为 Chrome OS 能够支持 Android 与 Linux 应用程序的运行。利用 Chrome OS,您可以使用 Visual Studio Code 或者 Android Studio 开发出一款 Flutter 应用程序,并能够在无需模拟器的前提下在同一设备进行本地测试与运行。另外,大家也可以将适用于 Chrome 操作系统的 Flutter 应用程序发布至 Play 应用商店,使得数百万用户得以从您的创作当中受益。

Flutter 的嵌入式设备之旅

作为 Flutter 可移植性的最后一个例子,我们正尝试在各类嵌入式设备之上运行 Flutter 应用程序。我们最近发布的示例,证明 Flutter 能够直接运行在 Raspberry Pi 等小型设备之上。我们还为 Flutter 添加了嵌入式API,使其能够顺畅对接智能家居以及汽车等平台。


作为普及度最高的嵌入式平台之一,Google Home Hub 等智能显示操作系统如今也实现了对 Flutter 的运行支持。



在谷歌公司之内,部分面向智能显示平台所开发的功能正是出自 Flutter 项目之手。智能助手团队也很高兴能够在未来几个月内,继续利用 Flutter 扩展智能显示平台的功能组合;他们今年之内的发展目标,就是利用 Flutter 提升整个系统 UI。

其它资源

开发人员们经常会询问我们该如何开始使用 Flutter。为了解决这个疑问,我们今天也很高兴地向大家公布由The App Brewery开发的Flutter全面培训课程。顺带一提,他们是 Udemy 网站上评分最高的 iOS 培训课程的作者。他们的新课程为 Flutter 项目准备了超过 30 个小时的学习内容,包括视频、演示与动手实验室等。我们谷歌也提供了相关赞助,为此次公布的最新课程提供限时折扣——其零售价由 199 美元力减至仅需 10 美元。


很多开发人员都在利用 Flutter 创建激动人心的应用程序。在谷歌 I/O 大会的筹备阶段,我们还举办了一场名为 Flutter Create 的比赛,鼓励开发人员使用 Flutter 构建出不超过 5 KB 的 Dart 代码的应用成果。我们收到了来自世界各地超过 750 份参赛作品,其中不少成果让我们惊叹于在如此严格的代码量要求下,人们仍然能够实现难以置信的种种功能。


今天,我们也将公布获奖先后,大家可以访问flutter.dev/create进行查阅。这里恭喜比赛总冠军 Zebiao Hu,他将赢得一部价格超过 1 万美元的顶配 iMac Pro 电脑!


Flutter 项目不再是一套单纯的移动框架,而将成为一款多平台框架,能够帮助您随时随地与用户对接。我们期待着大家能够立足 Web、桌面、移动以及其它各类设备平台之上运用 Flutter 构建出更多精彩内容!


原文链接:


https://developers.googleblog.com/2019/05/Flutter-io19.html?m=1


2019-05-09 10:2011481

评论 5 条评论

发布
用户头像
2021-01-18 18:09
回复
用户头像
我不看好,坐等打脸😄
2019-05-12 18:02
回复
用户头像
不会有事一个GWT吧
2019-05-09 16:42
回复
用户头像
Flutter for Web是什么意思?用来代替js html css写网页的?
2019-05-09 11:53
回复
其实 flutter 使用的 dart 语言本身在 12 年那会本身就是为了取代 js 搞得。。。
类似 flutter 这样写好代码之后编译到 js 之类,就是那会思路有问题,一个 hello 项目都上万行代码了。
后面被 JS 的 ES6 和 Typescript 打垮了,这次可能想换个思路靠 web assembly 来做吧
2019-05-10 18:14
回复
没有更多了
发现更多内容

瓴羊Quick BI数据填报组件,实现智能化管理和高效挖掘利用

夏日星河

两步开启研发团队专属ChatOps|极狐GitLab ChatOps 的设计与实践

极狐GitLab

团队管理 DevOps ChatOps 极狐GitLab ChatGPT

省会城市昆明分布式光伏项目落地 引领低碳化转型实践

Geek_2d6073

HIFIVE音加加提供曲库、评分、修音功能的K歌SDK-iOS版本

HIFIVE音加加

ios 泛娱乐 版权音乐 K歌 K歌SDK

火山引擎DataTester:无需研发人力,即刻开启企业A/B实验

字节跳动数据平台

A/B测试

从数据治理到数据应用,制造业企业如何突破数字化转型困境丨行业方案

袋鼠云数栈

数字化转型

OpenMLDB 贡献者任务第六期 | 暖冬时节,活力继续

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

低碳正在成为春城的新名片

Geek_2d6073

如何在滑至页面底端添加提示?

Towify

微信小程序 无代码

IAA品类洞察:扫描品类加快变现,如何抓住增长机遇?

易观分析

广告业 IAA

人工智能顶会AAAI 2023放榜!网易伏羲7篇论文入选

网易伏羲

人工智能

【合作案例】科协基地预约小程序 | 闵行区科普资源地图

天天预约

VoneBaaS与飞腾CPU完成产品兼容性互认证

旺链科技

区块链 产业区块链 VoneBaaS 12 月 PK 榜

了不起的程序员们,瞧,你的 2023 年度惊喜终于来了!

图灵社区

程序员

下一代架构?从组装式企业到组装式应用

华为云开发者联盟

云计算 后端 数字化 华为云 12 月 PK 榜

【服务故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?

洛神灬殇

Docker Linux 12 月 PK 榜 容器内存问题

2023年ha软件采购就选Skybility HA!6大优势看这里!

行云管家

高可用 ha 双机热备

熹乐科技范维肖CC:基于开源 YoMo 框架构建“全球同服”的 Realtime Metaverse Application

声网

框架 #开源

Github标星42K!不愧是腾讯云大神亲码的“redis深度笔记”

架构师之道

编程 程序员 java面试

选择合适的BI工具,解决中国式报表难题

对不起该用户已成仙‖

喜讯+1!袋鼠云数栈技术团队获“2022年度优秀开源技术团队”

袋鼠云数栈

开源

浅析静态应用安全测试

华为云开发者联盟

测试 开发 华为云 12 月 PK 榜

强化学习调参技巧二:DDPG、TD3、SAC算法为例:

汀丶人工智能

强化学习 深度强化学习 12月日更 12月月更

Flutter for Web 首次首屏优化——JS 分片优化

阿里巴巴终端技术

flutter 前端 Web 客户端

演讲实录|姚延栋:终止“试点炼狱”,智能汽车时代数字化转型与实践

YMatrix 超融合数据库

车联网 海量数据 超融合数据库 智能网联 YMatrix

广告倒排服务极致优化

百度Geek说

架构 数据结构 后端 12 月 PK 榜

2023年中国企业数字化技术应用十大趋势

易观分析

企业 数字化

Tapdata 携手阿里云,实现数据平滑上云以及毫秒级在线查询和检索能力

云布道师

阿里云

ClickHouse 挺快,esProc SPL 更快

王磊

如何使用 Towify 在小程序中实现勾选用户协议后登录?

Towify

微信小程序 无代码

chatGPT实战之「基于你的数据库,为你智能生成SQL」

非喵鱼

Java MySQL sql openai ChatGPT

Flutter全平台制霸!新增Web和嵌入式目标平台_大前端_Flutter Team_InfoQ精选文章