由于物联网的快速发展,新的APP开发
热潮正在到来,谷歌、华为这些公司正在重新定义移动开发框架,而Flutter
就是可选择之一。不敢说Flutter
一定是移动技术的未来,但一定代表了移动技术的发展方向。
一、Flutter是什么
Flutter
是 Google
于 2015 年 5 月 3 日推出的免费开源跨平台开发框架,可以快速在iOS
和Android
上构建高质量的原生用户界面。Flutter
旨在帮助开发者使用一套代码开发高性能、高稳定性、高帧率、低延迟的Android
和iOS
应用。Flutter
使用的是 Google
自己开发的网络编程语言——Dart语言
。
二、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
的热重载能力帮助开发者快捷方便的试验、重构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
绘制引擎,性能堪比原生。
以上就是关于Flutter
的一些介绍了,对Flutter
感兴趣的同学可以看一下教程:
- Flutter中文文档:https://www.w3cschool.cn/evilg/