谷歌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 的位置。
说了这么多,Flutter 其实是一套开发架构,更加准确的说应该是一套能够使用相同的 Dart 语言代码同时实现 Android 和 iOS 跨平台应用的框架。而从目前全球操作系统的市场占有率来看,Android 和 iOS 一直都牢牢占剧着绝大部分份额或许也是 Flutter 提出的契机。
据 2017 年 Statista 的图表数据显示,Andrid 系统的市场占有率已经达到 85.1%,iOS 系统的市场占有率也有 14.7%,而剩下的操作系统则被划分到了「Other」分类,仅仅只有不到 0.2% 的市场占有率。
所以对于大部分「程序猿」来说,Andoird 开发或者 iOS 开发依然是两个主要的方向,但是两个平台一直以来的跨平台开发问题却成为了最主要的鸿沟。
目前市面上的跨平台解决方案主要有两大类:
- 使用平台支持的 web 技术,如 PhoneGap;
- 本地跨平台,程序员编写的代码自动转换为 Native 代码,如 Xamarin 等
但以上两种方案都存在或大或小的缺点,例如 web 移动端网页的性能不如人意,用户体验不高,在不同浏览器下也有不同程度细微的差异;本地化跨平台如 React Native 则存在操作难度高、在实际平台上需要适配和桥接差异性的缺点,而且两者都逃不开性能、包大小、流畅性、内存、平台特性等问题。所以对于同时进行 Android、iOS 双版本开发的开发者来说,伴随而来的是繁重的开发任务。
Flutter 的出现提供了第三种跨平台解决方案,据 Google 介绍,Flutter 有两个目标,其一是实现原生应用的性能和与平台的集成,其二是提供一个多平台,可移植的 UI 工具包来支持高效的应用开发。
通过 Flutter Engine 引擎,在 iOS 和 Android 两个平台上开发应用和界面只需要一套代码,这套代码会被直接编译成本地 ARM 代码,而且能够使用 GPU、访问平台接口以及服务等。
相比其他开发框架,Flutter 具有以下的特点:
- 主打快速开发,如热重载(hot reload)、可定制部件(widgets)、支持常见的编辑器;
- Flutter 将控件、渲染、动画以及手势功能集成到框架中从而使得开发过程更加自由;
- Flutter 遵循平台规范和界面细节,如导航、滑动、图标等
既然 Flutter 如此强大,那么有没有哪些知名开发者用上呢?其实还真有,如阿里推出的「闲鱼」 app 以及腾讯推出的「Now」 app 均采用了 Flutter 的开发架构。
随着 Andoird 和 iOS 最新系统版本发布,两者在某些系统功能上可以说「走到了一起」,如 Android P 上用于统计并显示用户手机使用习惯的「Dashboard」和 iOS 12 上对于用户使用习惯的监控工具「Report」,而这也是近些年来 Android 和 iOS 的发展趋势,两者从「争个你死我活」逐渐转变为「互相借鉴」。
Google Flutter 的推出,在另一个层面上是不是也是顺应这个趋势的产物呢?
你也许感兴趣的:
- 【外评】电脑从哪里获取时间?
- 【外评】为什么 Stack Overflow 正在消失?
- Android 全力押注 Rust,Linux 却在原地踏步?谷歌:用 Rust 重写固件太简单了!
- 【外评】哪些开源项目被广泛使用,但仅由少数人维护?
- 【外评】好的重构与不好的重构
- C 语言老将从中作梗,Rust for Linux 项目内讧升级!核心维护者愤然离职:不受尊重、热情被消耗光
- 【外评】代码审查反模式
- 我受够了维护 AI 生成的代码
- 【外评】Linux 桌面市场份额升至 4.45
- 【外评】作为全栈开发人员如何跟上 AI/ML 的发展?
你对本文的反应是: