Flutterでアプリを普通に開発していると、触れるのはWidgetと(Stateful Widgetの)Stateがメインとなりますが、その裏側のElement・RenderObjectがどうなっているかを知ると品質・パフォーマンスともに良い正確なコードを書きやすくなると思っています。 また、公式ドキュメントのPerformance considerationsに書いてあることも、そのあたりを分かっていないと、きちんと理解するのが難しく、理解があやふやなまま何となく単なるお作法として形式的に守ることになりがちな気がしています。 というわけで本記事ではWidgetの裏側のライフサイクルや実際の描画処理に至るまでの流れを説明していきます。 説明に使うサンプルアプリ新規プロジェクトを作成したらできる雛形とほぼ同じで、少しシンプルに調整してます(右下のボタンが四角い青色なのは普通のFABだとエフ
![Flutter の Widget ツリーの裏側で起こっていること – Flutter 🇯🇵 – Medium](https://cdn-ak-scissors.b.st-hatena.com/image/square/29451f29e8398ad2bc06931e1d6c4159fbd1e3e6/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1200%2F1%2A0GKv0pM1WGi9G4Y77CSr5w.png)