Flutter:引领全新APP开发潮流的框架

发表时间: 2020-08-05 15:46

笔者认为:新的APP开发热潮由于物联网的快速发展正在到来,谷歌、华为这些公司正在重新定义移动开发框架,而Flutter就是可选择之一。不敢说Flutter一定是移动技术的未来,但一定代表了移动技术的发展方向。

Flutter是什么

一、Flutter是什么


Flutter是 Google 于 2015 年 5 月 3 日推出的免费开源跨平台开发框架,可以快速在iOS和Android上构建高质量的原生用户界面。Flutter旨在帮助开发者使用一套代码开发高性能、高稳定性、高帧率、低延迟的Android和iOS应用。Flutter使用的是 Google 自己开发的网络编程语言——Dart 语言。

关键词:开源、多平台部署、原生UI、Dart。

Flutter 的发展

二、Flutter 的发展


2015年 05 月Flutter的第一个版本“Sky”在Dart开发者峰会上亮相;

2018年02月27日在世界移动大会 (MWC)上宣布了第一个 Beta 版发布;

2018年03月06日Beta 2版本发布;

2018年12月05日谷歌发布 Flutter 1.0 正式版;

2019年9月谷歌发布Flutter 1.9。

目前很多大公司、开发者纷纷转型使用和学习 Flutter 进行跨平台应用的开发。全世界已经有多个公司开始使用 Flutter 来开发应用,包括 Abbey Road Studios、阿里巴巴、Capital One、Groupon、Hamilton、京东、Philips Hue、Reflectly 以及腾讯等。Flutter 1.9于 2019 年 9月发布,这样的更新频率给开发者和公司增加了动力,Flutter 势必将成为未来跨平台开发主流趋势。

使用Flutter的公司

三、Flutter框架特性


快速开发

Flutter的热重载能力帮助开发者快捷方便的试验、重构UI、添加特性和修复bug。在仿真器、模拟器、ios、android硬件上体验亚秒级的重载,而不会丢失状态。

跨平台

Flutter 基于图像绘制引擎进行渲染,在不同平台下绘制效果绝对一致,能做到真正的跨平台。

绚丽UI

通过Flutter内建的、漂亮的、有质感设计的Cupertino(ios-flavor)小工具、丰富的动画API,平滑的自然滚动和平台感知,让用户感受UI设计的快乐。

响应式

通过Flutter的现代响应式(Reactive)框架、丰富的平台布局、基础组件,能够轻松的构建用户界面。使用强大而灵活的API解决2D、动画、手势、效果等难题。

访问原生功能

通过平台api、第三方sdk和原生代码,使应用变得生动。Flutter可以重用现有的java、swift和Objc代码,并在iOS和Android上访问原生特性和SDK。

目前各种跨平台方案的对比

四、目前各种跨平台方案的对比


开发APP应用,如需要同时兼容 iOS 和 Android 两种平台,有两种技术选择:

1、走原生开发路线,把界面和逻辑在不同平台分别实现;

2、用同一套代码兼容多个平台,但这往往意味着运行速度和产品体验的损失。

除了原生外,目前跨平台技术一般是混合开发,如采用 H5、React Native、Weex、小程序等技术实现跨平台应用。不过这些混合开发,或多或少都能感觉到UI卡顿和体验不流畅,并且开发和学习成本非常高,有各自的局限性。

Flutter 的出现,为开发者提供了一套两全其美的解决方案:既能用原生代码直接调用的方式来加速图形渲染和 UI 绘制,又能同时运行在两大主流移动操作系统上,并且体验和流畅度和原生基本一致、开发效率非常高、学习难度和成本低。

目前各种跨平台方案的对比

从上面的对比可以看出,Flutter 优势明显:高体验度、高开发效率、低学习成本、高可扩展性。未来 Google Flutter 团队还将会使 Flutter 支持 PC 和 Web 的跨平台开发,实现真正全平台。 针对Flutter的跨平台特性,与react native、weex做对比可以发现,其性能碾压后两者,采用自带Skia绘制引擎,性能堪比原生。

总结

五、总结


2020年,远齐科技开始采用Flutter进行齐云APP产品的开发。我们对 Flutter 充满信心,也希望未来我们可以利用它为客户创造更多的价值和奇迹。

路途虽远,犹可期许。