本文作者:IMWeb elvishxj 原文出处:IMWeb社区 未经同意,禁止转载
在17年的谷歌I/O大会上,Google 推出了Flutter- 一款新的用于创建移动应用的开源库。在18年初世界移动大会上发布了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已经在世界范围中被各国的移动平台开发者和组织使用,但同时他仍然并永远会是一个免费的开源软件。
- 我们看到市面上其实跨平台框架种类很多,您觉得Google 这次推出的Flutter的优势在哪里?
于潇:现在市面上有许多很好的跨平台框架。 但我们的目标其实更简单一些:创造最好的移动软件开发方法。
具体来说,我们认为这意味着: 通过一个可持续运行状态的Hot Reload和一个declarative和reactive的框架来帮助开发者以及他们的团队维持在效率的峰值状态。 我们提供一套丰富的组件。但这一套组件也是建立于我们独一无二的可自由组合和分层使用的基础工具包之上。这个性能可帮助我们的用户轻松创造属于他们自己的设计语言和品牌定制化的独特界面。这意味着,我们不仅提供给我们的用户一辆拥有超高性能的跑车,同时还附加了一个高效率的流水线汽车制造工厂。 为了不做牺牲的实现以上的目标,我们通过直接编辑至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全球大前端技术大会上做进一步的分享,感兴趣的同学千万不要错过哦~