关于 Google Flutter,你到底了解多少?

  • 于潇

2018 年 6 月 6 日

话题:移动Google语言 & 开发前端

在 17 年的谷歌 I/O 大会上,Google 推出了 Flutter,一款新的用于创建移动应用的开源库。在 2018 年初世界移动大会上发布了 Flutter 的第一个 Beta 版本,5 月的 I/O 大会上更新到了 Beta 3 版本,向正式版又迈进了一步。一时间业内对这个框架的关注度越来越高。

Flutter 是什么?

Flutter 是能够帮助用户创建拥有漂亮 UI 界面的跨平台移动应用解决方案。从而摆脱过去那种千篇一律的 App,Flutter 的界面设计与 web 应用类似,因此,你能够从 Flutter 上找到像使用 HTML/CSS 那样熟悉的感觉。

“谷歌官方说:Flutter 将会帮你更容易,更快速的开发出界面美观的移动应用。”

真如谷歌官方说的那么美好吗?我们可以看到现在市面上的跨平台开发方案有很多,比如 Xamarin,PhoneGap,Ionic,React Native 等等,这些方案互有利弊,很难选择。那么 Flutter 的出现的又有什么不同呢?对比这些方案有哪些优势?GMTC 全球大前端技术大会请来了 Google Flutter 团队高级工程师于潇,请他来谈谈 Flutter 的特点。

下面是 InfoQ 中国对于潇老师简单的采访,整理如下。

1. 从您的个人经历中我们看到,您在近年来都是从事不同移动平台的软件开发工作,加入谷歌之后也负责过 YouTube 安卓前端的开发工作,履历可谓精彩纷呈,能否首先谈谈您自己和您对当今移动软件开发行业的看法?

于潇:我个人认为现在是移动平台软件开发行业的一个精彩纷呈的时代。与我刚开始进入这个行业时相比,安卓和 iOS 的移动软件数量已在它们各自的软件商店里增长了八倍和四倍。

在过去的这几年,极具想象力的创意和创新思维如雨后春笋一般涌现在移动平台软件领域。几年前我绝对无法想象现在的人们只需要一个手机就可以出门。

在这样的快速发展之中,我相信这个行业特有的的激烈竞争和多样性会促进移动软件开发者去开发更优秀和设计更精美的产品。这个趋势是有迹可循的,与几年前网络软件的发展轨迹相似。

这样的高速发展对于用户来讲是很美好的,但同时对于移动软件开发者来讲也是非常的激动人心。 只要你有一个对用户有帮助性的好点子, 就可以进入这个市场取得成就和造成影响。

在这样的前提下,Flutter 应运而生。 我们的初衷正是帮助有活力有创意的社区高效率得实现可以比肩行业龙头的软件开发质量与设计。

2. 我们看到您目前负责的是 Google Flutter 框架的开发工作,在 2018 世界移动大会上谷歌发布了 Flutter 的第一个 beta 版本,整个技术圈对这个框架评价都非常高,能不能简单介绍下 Flutter 呢?

于潇:简单来讲,Flutter 是谷歌创造的一套帮助大家用最快速度创造有品质,有表达力,有原生移动体验的 SDK 方案。最初我们也尝试利用了一些已被广泛应用的科技来搭建软件开发框架,但最终我们决定采用更具改革性的方法。 我们认为这样的独辟蹊径帮助我们更成功的实现了目标,达到了效率,表现力和性能之间的融合与平衡。

几年后的今天,Flutter 已经在世界范围中被各国的移动平台开发者和组织使用,但同时他仍然并永远会是一个免费的开源软件。

3. 我们看到市面上其实跨平台框架种类很多,您觉得 Google 这次推出的 Flutter 的优势在哪里?

于潇:现在市面上有许多很好的跨平台框架。 但我们的目标其实更简单一些:创造最好的移动软件开发方法。

具体来说,我们认为这意味着:

  1. 通过一个可持续运行状态的 Hot Reload 和一个 declarative 和 reactive 的框架来帮助开发者以及他们的团队维持在效率的峰值状态。
  2. 我们提供一套丰富的组件。但这一套组件也是建立于我们独一无二的可自由组合和分层使用的基础工具包之上。这个性能可帮助我们的用户轻松创造属于他们自己的设计语言和品牌定制化的独特界面。这意味着,我们不仅提供给我们的用户一辆拥有超高性能的跑车,同时还附加了一个高效率的流水线汽车制造工厂。
  3. 为了不做牺牲的实现以上的目标,我们通过直接编辑至 ARM 代码来保证软件在 iOS 和安卓上的高性能。精心打造的随带组件也构建出原生的感观。

4.Flutter 的诞生是为了帮助用户开发出精美的原生应用,作为框架中革命性的一点,Flutter 是如何实现 UI 组件的?

于潇:其实我们所有的组件中的每一个像素都是我们自己引擎渲染的。

在最底层,我们借助于已经很成熟的 Skia 2D 渲染引擎来构画文字与基本形状。安卓、Chrome 和 Firefox 的构图也都是建立在 Skia 之上。在这个基础上,我们可以自由构建一套最能完美达到以上目标的界面构建 API。

举例来说,可以自己渲染 UI 允许我们去创造一个拥有真正组合性的 API,因此简化了定制化界面的组装过程。反之,如果每一个组件背后都需要跟一个沉重的 HTML DOM 部件,或者是安卓或 iOS 的组件搭称的话,想创作出一套轻巧的,多层次的 UI 组件会很难。

5.Flutter 作为一项新技术目前还处于市场应用的初级阶段,作为这项技术的研究者您是怎么看待 Flutter 的未来的呢,会成为下一个风口吗?

于潇:如您所言,我们目前还是一个比较新的技术。我们无法预测未来,但我们对 Flutter 的前景是比较乐观的。

我们的首要目标是帮助开发者在不放弃性能的情况下达到高效率和高质量。 所以当我们的用户一致反馈给我们 Flutter 帮助他们提高了 2 到 2.5 倍的工作效率时,我们感到很开心。

我们也很感恩于今年的谷歌 I/O 大会上我们获得的热烈响应。除此之外,我们还在一直帮助组织各地与 I/O 平行的 Flutter Extended 活动来帮助世界各地的开发者了解熟悉 Flutter。目前已有来自 41 个国家的超过 15000 名开发者参与到我们的活动中来。

从大互联网社区的角度来看, 公布 beta 版之后我们已经在 GitHub 上得到了 25000 颗星, 而且很快成为了 GitHub 的当月备受关注项目。这些成绩的取得比我们的预期要提前了许多。所以,我们对于 Flutter 的未来非常的有信心。

6. 作为一个资深的移动开发从业者,应该也经历过不少风雨,踩过不少坑。作为过来人能不能给我们年轻的软件开发者们在移动开发方面一些建议或者分享一下未来趋势呢?

于潇:以当前的科技发展速度来看,我认为能继续学习以及持续接收吸取行业里不断涌现的新的知识和创意是非常重要的。大家其实通常都是面对与解决着同一类型的问题。

于此同时,不盲目的采用,而是充分理解这些最佳实践的背景以及了解它们在自己团队里可以解决什么具体的问题,也同样的重要。

上面是于潇老师对于 Flutter 框架的简单介绍,更多关于 Flutter 的详细信息与解析于老师会在GMTC 全球大前端技术大会上做进一步的分享,感兴趣的同学千万不要错过哦~

GMTC 全球大前端技术大会携手顶级共创伙伴:APICloud 企业互联网化生态平台,历时半年筹备,为大家梳理了目前大前端领域的最新动态,并邀请到了来自 Google、Twitter、Instagram、LinkedIn、Hulu 等国外一线前端专家前来分享他们的前端前沿技术和最佳实践,更有iOS 社区大神 Mattt、Apollo GraphQL 负责人等大牛的助阵,另外月影、寒冬、迷渡、程墨、教主、小春等 50+国内知名前端大佬也会带来精彩分享,可谓干货满满,不容错过。

目前大会报名倒计时 15 天,团购更优惠,欲购从速!如在报名过程中有任何问题,可咨询票务小姐姐寻求帮助:18514549229(同微信)。

移动Google语言 & 开发前端