コンテンツにスキップ

伝えるためのアプリ開発

アプリ開発は、「見える・触れる形」にするための方法

Section titled “アプリ開発は、「見える・触れる形」にするための方法”

最適化モデルを動かすだけなら、Pythonのコードがあれば十分です。

  • 問題設定に応じたパラメータを入力して
  • 最適化を実行し
  • 結果を確認する

これらはすべて、シェルやノートブック上で実行できます。 だからこそ、一見すると「アプリ開発は不要」に思えます。 その一方で、

  • どう触ればよいか
  • どう結果を理解すればよいか

まで伝えたい場合、シェルやノートブックだけでは十分に表現できないことがあります。

そこで登場するのがアプリ開発です。

Pythonの print() だけでは、次のような 体験として重要な部分 をユーザーに伝えきれません:

  • 制約・重みを変えると結果がどう動くのか
  • シナリオの比較で何が違い、どの点が意思決定に効くのか
  • なぜその結果になるのか、背景をどう理解すれば良いのか

これらは文字だけでは想像しづらい情報で、結果の比較であれば簡単な図を作成することも多いでしょう。これをさらに発展させた表現ツールとしてアプリ開発という手段を取ることができます。たとえば、

  • パラメータを入力するフォーム
  • 条件を変えると即座に更新される計算結果
  • シナリオを並べて比較できるUI
  • 計算の背景条件をまとめて示す説明パネル

を実装することにより、「ユーザーがどう触って、どう理解し、どう意思決定するか」の流れをシームレスに表現できます。

「使っていて楽しいな」、「こういう機能があるっぽいから使ってみよう」と思ってもらえるのもアプリ制作をするメリットです。

そして、このようなことを伝えるためのアプリであれば、高度な技術を使わなくても実現できます。

たとえばPythonユーザーであればStreamlitやNiceGUI、FlaskやFastAPIといったツールが存在します。したがって、最適化コードの実装からWebアプリケーションのUI作成まで一貫して行うのは難しくありません。