Flutter是Google打造的高性能、跨平台的UI框架,不仅支持Android、iOS,还支持Windows、Linux等操作系统。它可以给开发者提供简单、高效的方式来构建和部署跨平台、高性能移动应用;给用户提供漂亮、无平台区分的app体验。
图形库skia是其跨平台的基石,本文会对其渲染原理做剖析,带大家了解flutter平台的渲染机制。本文不会对跨端框架做对比,也不会涉及绘制的三棵树,流水线机制等知识(后续会单独介绍),还有一点最新的flutter2也对web支持进行了提速,其中web render中的html渲染方式底层并没有用skia库。
首先我们来了解下Flutter的整体架构设计,Flutter被设计成一个可扩展,分层的系统。它包含了一系列依赖其下层的独立库。