Flutter学习(1)
flutter的特性
- 跨平台开发(一套代码同时运行在ios, android, web)
- 符合不同平台的用户体验
- 响应式框架
- 跨平台渲染引擎。
- 支持本地访问和插件
- 高性能(GPU渲染)
- 使用Dart进行开发,性能远高于javascript.

Framework层
- flutter framework: 由dart实现的SDK,提供基础库。Foundation, Animation, Painting, Gestures被合并为Dart UI层,是flutter引擎暴露的底层UI库,提供动画、手势识别及图形绘制功能。
- Rendering: 负责构建UI的树结构。当UI树上的元素发生变化时,会计算出有变化的部分,并更新UI树,最终将UI树绘制到屏幕上,类似于虚拟dom.
- widgets层:在基础组件库之上,提供了Material和Cupertino两种视觉风格的组件库。
Flutter Engine
由C/C++实现的SDK, 由Skia引擎、Dart运行时和文字排版引擎构成。实现真正的绘制逻辑。
Flutter Embedder
操作系统适配层。主要负责设置、线程设置、事件循环和插件的平台适配。