ViewStackとStateそれとも・・・

Flexを触り続けてもうすぐ半年くらい経つんだけど、未だに画面遷移をするときのベストプラクティスが見つかっていない。


過去は、
State→ViewStack→独自クラス(Module使用)→State→ViewStack

という見事なまでの浮気っぷりで循環している。


で、今ViewStack


結論から言うと未だにはっきり解らないんだけど、

  • 軽い遷移とかアプリが小さいとき       => State
  • でかいアプリ、ごっそり変更みたいなときは => ViewStack
  • 超でかいアプリ                 => ModuleLoader


こういう使い方が正解かなと思う。


Stateはコンポーネントを分けると、getChildとかでコンポーネントを掘り返すのが結構めんどくさく、
どこかにインスタンスへの参照を保持するようにしなきゃいけないので、
コンポーネントを分けることには向かない。


ViewStackはコンポーネントを分けるときにaddChildやremoveChildでロジックからの操作がしやすい
ただ、小さな画面変更の場合は、いささか使いにくさが残る。


Moduleはアプリが肥大化したときに軽量化するのに爆発的な威力があるけど、
画面毎のローディング処理とかをきちんとしておかないと見ていてつらいことがある。


こういった理由で、今は間を取ってViewStackが一番使いやすいかなと思っている。

使い分けは結構めんどくさい。