Widgetを組み合わせるだけでさまざまな画面を作ることができるFlutterですが、なぜそのようなことが可能なのでしょうか。「setState()の魔法」で簡単に画面を書き換えられるのがFlutterですが、なぜそのようなことが可能なのでしょうか?
本書ではFlutterを自身で1から実装し直し、「Flume」という新たなUIフレームワークを作ります。再実装を通じて、UIフレームワークを支える複雑な世界と、Flutterの高速動作を支える差分更新システムの理解を目指します。
Flutter自体はすでに巨大かつ複雑なソフトウェアであり、隅々まで実装するのは困難です。そのためFlumeでは本質的に重要な機能のみをピックアップして説明・実装することにします。
またFlutterのEngineとフレームワークがどのような関係になっているのか、画面をいかに効率的に更新しているのかについて進み、それらを実装していきます。最終的には、自作のフレームワークでsetState()を使った○×ゲームを作ることができるようになります。
機能を絞るため、もちろん実用に足るフレームワークを作ることは叶いません。しかしUIの管理手法というのはFlutterだけでなくWebフレームワークやブラウザ、AndroidやiOSなどのネイティブアプリでも共通して利用されています。まずはシンプルなFlumeの仕様を理解することで、本家Flutterや他のフレームワークのコードを理解する後押しになることを目指しています。
(C)2023 Yuki Hayakawa. All rights reserved.
一般的なスマートフォンにてBOOK☆WALKERアプリの標準文字サイズで表示したときのページ数です。お使いの機種、表示の文字サイズによりページ数は変化しますので参考値としてご利用ください。
付与コインの内訳
1,275コイン
会員ランク(今月ランクなし)
1%
初回50%コイン還元 会員登録から30日以内の初回購入に限り、合計金額(税抜)から50%コイン還元適用
複数商品の購入で付与コイン数に変動があります。
会員ランクの付与率は購入処理完了時の会員ランクに基づきます。
そのため、現在表示中の付与率から変わる場合があります。
【クーポンの利用について】
クーポンをご利用の場合、一部のクーポンを除いて、コイン還元キャンペーンの対象外となります。
詳細は各クーポンページをご参照ください。