Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。 Flutter 开源、免费,拥有宽松的开源协议,适合商业项目。截止2022年5月12日Flutter已推出稳定的3.0版本。
1. 快速开发
毫秒级的热重载,修改后,您的应用界面会立即更新。使用丰富的、完全可定制的widget
在几分钟内构建原生界面。
2. 富有表现力和灵活的UI
使用Flutter
内置美丽的Material Design
和Cupertino
的widget
、丰富的motion API
、平滑而自然的滑动效果和平台感知,为您的用户带来全新体验。
3. 响应式框架
使用Flutter
的响应式框架和一系列基础widget
,可以轻松构建您的用户界面。使用功能强大且灵活的API
(针对2D、动画、手势、效果等)可以帮助开发者解决艰难的UI
挑战。
4. 访问本地功能和SDK并支持插件Flutter
可以复用Java
、Swift
或ObjC
代码,访问Android
和iOS
上的原生系统功能。另外通过Flutter
插件也可以访问原生系统功能,比如蓝牙、相机、WiFi
等等
5. 跨平台自绘引擎Flutter
与Hybrid App
、React Native
这些跨平台技术不同,Flutter
既没用使用WebView
,也没有使用各个平台的原生控件,而是本身实现一个统一接口的渲染引擎来绘制UI
,这样做可以保证不同平台UI
的一致性。另外采用自绘引擎后,Flutter
在布局过程中不需要像RN
那样要在JavaScript
和Native
之间通信,可以节省性能开销。Flutter
使用Skia
作为其2D渲染引擎,Skia
是Google
的一个2D图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现,Skia
是跨平台的,并提供了非常友好的API
。
6. 采用Dart开发Flutter App
采用Dart
语言来开发。与JavaScript
相比,Dart
在JIT
(即时编译)模式下,速度与JavaScript
基本持平。但是当Dart
以 AOT
(运行前编译)模式运行时,Dart
性能要高于JavaScript
。