🐙
私的Flutterまとめ
Flutterって何?
iOSとAndroidの両方を開発できるマルチプラットフォーム
どんなアーキテクチャ?
主に3つの層で分割されていて、Flutter Framework、Flutter engine、Embedderにわかれる。
Flutter engineについて
dartランタイム、UIレンダリングエンジンのSkia(3系からImpeller)などをになっている。
c++で書かれてるらしい。
コンパイルについて
AOTとJITコンパイラの両方を使い分けている。
リリースはAOT、デバッグはJITで、後者だとhot reloadが可能になっている。
dart compile exe hello.dart
dart compile aot-snapshot hello.dart
dart compile jit-snapshot hello.dart
dart VMとは?
dartの仮想実行環境。
VMとして以外にも、AOTパイプラインなどの機能も兼ね備えている。
dart VM機能一覧
- Dartランタイム
- Dartコアライブラリの提供
- デバッグモード && hot reload
スナップショットとは?
VMから実行する場合、「ソースコードから実行するパターン」と「JIT or AOTのスナップショット」から実行するパターンがあるらしい。そうすることで高速な実行を実現しているとかしてないとか。
Discussion