Flutter初识

195 阅读1分钟

本质

  • 通过自绘引擎+原生

问题解决地方

  • StackOverflow
  • GitHub issue

优点

开发效率高

  • iOS和Android模拟器上实现毫秒级热重载
  • 不会丢失状态

性能好

  • 编码时间短
  • 调试时间短
  • 排错时间短
  • 兼容时间短

动态化

  • 默认使用Dart AOT模式编译,不支持
  • 还有JIT或者snapshot的运行方式,是支持动态化的

跨平台自绘引擎

  • 保证了iOS和Android的UI一致性
  • 使用Skia作为其2D引擎

高性能

  • Dart语言开发,支持AOT,绘制UI,速度快

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中文网社区
  • 博客