GetXとは
Flutterで使えるめっちゃ便利な拡張機能。
Flutterの拡張機能でおなじみのpub.devのこのページから導入可能です。
GetXの三大機能
GetXには、おもにこの3つの大きな機能があります。
■State Management(状態管理)・・・変数やリストの書き込み、保存、読み込みが簡単に出来る。
■Route Management(ルート管理)・・・アプリでの画面遷移が簡単に出来る。
■Dependency Management(依存管理)・・・Classの継承などが簡単に出来る。
それぞれざっくりと特徴を見ていきましょう!
State Management(状態管理)
宣言、初期化
GetXなし
var name = "Ayutaya";
GetXあり
var name = "Ayutaya".obs;
表示
GetXなし
Text("$(name)")
GetXあり
obx(() => Text("${controller.name}"));
※controllerについてはDependency Management(依存管理)参照
代入
GetXなし
name="Ayutaya2";
GetXあり
controller.name="Ayutaya2".obs;
※controllerについてはDependency Management(依存管理)参照
Route Management(ルート管理)
GetXなし
Navigator.of(context).pushNamed("/subpage");
GetXあり
Get.toNamed('/home');
Dependency Management(依存管理)
GetXなし
Stateful Widgetを使って、その親Classを作って、さらに継承させて…
GetXあり (次の1行をGetXを使いたいclassの最初に書くだけ)
final controller = Get.put(CounterController());
GetXのメリット
一見、GetXの機能を使った方がコードが長くなっている部分もありますが、Stateful Widgetを使用せずに状態管理が出来るのはすごいメリットです!!
状態管理と画面表示を完全に別のClassとして用意できるので複数画面をまたぐような状態管理もたやすく出来てしまいます。
参考文献
公式サイトは英語ですが、ほぼすべての情報が分かりやすく網羅されているので必見です!!