📝

なぜScratchのようなプログラミングエディタを作るときに状態管理ライブラリを使わないのか

2023/12/24に公開

注意

  • 環境の想定は、Webブラウザで動くScratchやノーコードツールなどのような複雑なGUIプログラミングエディタを想定しています
  • その他、WYSIWYGエディタやGUIは私の範囲外です
  • 全て主観であり、どっちを使うかは状況による
    • 状態管理ライブラリを使った方が楽な場合もある
    • なぜ「現在の自分」が使わないのかをまとめてみた

結論

  • 状態管理ライブラリに依存したくない
  • コアシステムは使いまわしたい&コアに注力したい
  • パフォーマンス(憶測)

状態管理ライブラリに依存したくない

  • ReduxやRecoilなどがあるが、フロントは新陳代謝が激しいのでそれらに巻き込まれたくない
  • UnityやPython、その他言語で実装するとき
    • 状態管理ライブラリが無くて困る
    • 使わない方が楽に実装できる
    • ゲーム制作で培った知識やスキルをそのままエディタに落とし込める
    • 状態管理ライブラリの学習コストを気にする必要がない

コアシステムは使いまわしたい&コアに注力したい

  • 状態管理ライブラリを使わなければ、どの言語や環境でも適用できるコアシステム、アルゴリズムに注視できる

パフォーマンス(憶測)

  • 根拠無し
  • 常に動くようなエディタではあまりstateなどの意味がない?

まとめ

  • 好みや要件による
  • 個人的に、ゲーム技術と状態管理システムは少し合わないという理由が大きい

Discussion