I'm currently exploring Flutter's architecture and compilation process, and I'm a bit puzzled by the presence of the Skia engine even when Flutter uses AOT (Ahead-of-Time) compilation to generate native machine code.
As far as I understand, AOT compilation should convert the Dart code into native code, However, I noticed that Flutter still ships the Skia engine
I'd like to understand the reasoning behind this design decision. Why does Flutter need the Skia engine when it already compiles the Dart code to native machine code? What benefits does Skia provide in conjunction with AOT compilation? Are there specific performance or cross-platform considerations that make the inclusion of Skia?