网站设计中怎么设置当前元素不可见,搭wordpress用什么,网页界面设计宽度和安全区,国家工商注册网Flutter 简述
简述
Flutter是Google开源的应用框架#xff0c;只要一套代码兼顾Android、iOS、Web、Windows、macOS和Linux六个平台#xff0c;它的设计思路可以说更加先进#xff0c;不像ReactNative每个组件都需要有对应的原生组件实现#xff0c;而是通过skia或者其他…Flutter 简述
简述
Flutter是Google开源的应用框架只要一套代码兼顾Android、iOS、Web、Windows、macOS和Linux六个平台它的设计思路可以说更加先进不像ReactNative每个组件都需要有对应的原生组件实现而是通过skia或者其他的渲染引擎来直接渲染画面Flutter使用dart虚拟机来实现跨平台管理UI。 在dart上会通过Widget构建Element然后Element会构建RendorObject然后RendorObject渲染的时候通过canvas来调用底层渲染引擎做最终的绘制。 直接使用渲染引擎来实现跨平台UI渲染当需要实现复杂定制化UI时我们依旧只需要实现一套UI不需要在每个平台使用一个原生组件单独实现切在性能方面也会有更好的表现相当于节约了原生层面UI管理的工作量。
框架结构
dart虚拟机 Flutter的UI是使用dart实现的也是通过dart来实现跨平台dart语言和kotlin比较相似所以对于Android应用开发的同学上手Flutter还是比较简单的。 dart语言可以编译成各个平台的二进制程序也可以编译成各个JS。且dart即可以支持JIT编译模式也支持AOT编译模式。JIT编译模式可以支撑Flutter热加载而AOT可以编译成可预期高效的程序作为UI渲染使用更多语言可预期是很重要的需要稳定否则就会出现掉帧。渲染引擎 早期的Flutter使用的渲染引起是skiaAndroid之前也是使用skia来处理2D渲染。后面Flutter推出了ImpellerImpeller是Flutter推出的渲染引擎。Impeller是专门为Flutter设计的渲染引擎支持使用OpenGL和Vulkan优化了渲染流程以及对GPU对使用效率。
涉及内容
Flutter的架构很简单就是使用dart来统一语言平台然后使用渲染引擎绘制UI所以我们主要来研究一下dart层的逻辑学习一下Flutter是怎么实现UI的管理包括Touch事件传递与其他模块交互等等。
Flutter 启动流程Flutter UI构建Flutter 渲染Flutter Touch事件传递。。。