Flutter初识
本质
问题解决地方
- StackOverflow
- GitHub issue
优点
开发效率高
- iOS和Android模拟器上实现毫秒级热重载
- 不会丢失状态
性能好
动态化
- 默认使用Dart AOT模式编译,不支持
- 还有JIT或者snapshot的运行方式,是支持动态化的
跨平台自绘引擎
- 保证了iOS和Android的UI一致性
- 使用Skia作为其2D引擎
高性能
Dart
- 静态编译 AOT(Ahead of time)提前编译
- 动态编译 JIT(Just in time)即时编译
- 开发效率高:JIT编译
- 高性能:UI体验好,不丢帧
- 快速内存分配
- 类型安全:基于Dart,支持静态类型检测,编译期间发现问题
Flutter框架
- 底层:C++ SDK 绘制
- 上层1:Foundation、Animation、Painting、Gestures UI库、动画、手势、绘制
- 上层2:Rendering 抽象布局UI树,确定每个UI的坐标、位置、大小、坐标变换
= 上层3:Widgets 基础UI组件库 包括(Material、Cupertino)两种视觉风格
如何学习?
- 官网
- 源代码、注释
- Github的Flutter项目下创建issue
- Gallery源码 官方示例App 在Flutter下源代码的examples目录下
- 社区:StackOverflow
- Flutter中文网社区
- 博客