一、Flutter 简介

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

二、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绘制引擎,性能堪比原生。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐