68

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

 5 years ago
source link: http://www.techug.com/post/google-flutter-sdk-first-preview.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
NzIrUb7.jpg!web

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 的位置。

6riqU3r.png!web

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

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

f2Mf2qQ.jpg!web

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

UfANVzy.gif

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

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

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

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

IZRZj2j.gif

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

IbABNja.gif

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

  • 主打快速开发,如热重载(hot reload)、可定制部件(widgets)、支持常见的编辑器;
fYNZV3y.gif
  • Flutter 将控件、渲染、动画以及手势功能集成到框架中从而使得开发过程更加自由;
22iENzq.gif
  • Flutter 遵循平台规范和界面细节,如导航、滑动、图标等
FRzAN33.gif

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

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK