谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本

6 月 21 日,Google 正式发布了 Flutter 的首个发布预览版,这也预示着 Flutter 正式版(1.0)的到来进入了倒计时。

回看 Flutter 的发布轨迹:在 Google I/O 2017 开发者大会上正式公布;2018 年 2 月发布第一版 beta;Google I/O 2018 开发者大会上发布 beta 3,以及 6 月 21 日新鲜出炉的首个发布预览版。

而随着测试版的更迭,越来越多的开发者也在持续关注着这个开发框架。在  GitHub stars 排行榜上可以看到,自从今年二月份 Flutter 的首个 beta 版本释出以来,Flutter 的热度一直在持续上升,而最新的数据显示,五月份开始 Flutter 已经成功挤进 GitHub stars 排行榜前 100 的位置。

图0:谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本

说了这么多,Flutter 其实是一套开发架构,更加准确的说应该是一套能够使用相同的 Dart 语言代码同时实现 Android 和 iOS 跨平台应用的框架。而从目前全球操作系统的市场占有率来看,Android 和 iOS 一直都牢牢占剧着绝大部分份额或许也是 Flutter 提出的契机。

据 2017 年 Statista 的图表数据显示,Andrid 系统的市场占有率已经达到 85.1%,iOS 系统的市场占有率也有 14.7%,而剩下的操作系统则被划分到了「Other」分类,仅仅只有不到 0.2% 的市场占有率。

图1:谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本

所以对于大部分「程序猿」来说,Andoird 开发或者 iOS 开发依然是两个主要的方向,但是两个平台一直以来的跨平台开发问题却成为了最主要的鸿沟。

图2:谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本

目前市面上的跨平台解决方案主要有两大类:

  • 使用平台支持的 web 技术,如 PhoneGap;
  • 本地跨平台,程序员编写的代码自动转换为 Native 代码,如 Xamarin 等

但以上两种方案都存在或大或小的缺点,例如 web 移动端网页的性能不如人意,用户体验不高,在不同浏览器下也有不同程度细微的差异;本地化跨平台如 React Native 则存在操作难度高、在实际平台上需要适配和桥接差异性的缺点,而且两者都逃不开性能、包大小、流畅性、内存、平台特性等问题。所以对于同时进行 Android、iOS 双版本开发的开发者来说,伴随而来的是繁重的开发任务。

Flutter 的出现提供了第三种跨平台解决方案,据 Google 介绍,Flutter 有两个目标,其一是实现原生应用的性能和与平台的集成,其二是提供一个多平台,可移植的 UI 工具包来支持高效的应用开发。

图3:谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本

通过 Flutter Engine 引擎,在 iOS 和 Android 两个平台上开发应用和界面只需要一套代码,这套代码会被直接编译成本地 ARM 代码,而且能够使用 GPU、访问平台接口以及服务等。

图4:谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本

相比其他开发框架,Flutter 具有以下的特点:

  • 主打快速开发,如热重载(hot reload)、可定制部件(widgets)、支持常见的编辑器;

图5:谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本

  • Flutter 将控件、渲染、动画以及手势功能集成到框架中从而使得开发过程更加自由;

图6:谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本

  • Flutter 遵循平台规范和界面细节,如导航、滑动、图标等

图7:谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本

既然 Flutter 如此强大,那么有没有哪些知名开发者用上呢?其实还真有,如阿里推出的「闲鱼」 app 以及腾讯推出的「Now」 app 均采用了 Flutter 的开发架构。

随着 Andoird 和 iOS 最新系统版本发布,两者在某些系统功能上可以说「走到了一起」,如 Android P 上用于统计并显示用户手机使用习惯的「Dashboard」和 iOS 12 上对于用户使用习惯的监控工具「Report」,而这也是近些年来 Android 和 iOS 的发展趋势,两者从「争个你死我活」逐渐转变为「互相借鉴」。

Google Flutter 的推出,在另一个层面上是不是也是顺应这个趋势的产物呢?

余下全文(1/3)
分享这篇文章:

请关注我们:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注