伝えるためのアプリ開発
アプリ開発は、「見える・触れる形」にするための方法
Section titled “アプリ開発は、「見える・触れる形」にするための方法”最適化モデルを動かすだけなら、Pythonのコードがあれば十分です。
- 問題設定に応じたパラメータを入力して
- 最適化を実行し
- 結果を確認する
これらはすべて、シェルやノートブック上で実行できます。 だからこそ、一見すると「アプリ開発は不要」に思えます。 その一方で、
- どう触ればよいか
- どう結果を理解すればよいか
まで伝えたい場合、シェルやノートブックだけでは十分に表現できないことがあります。
そこで登場するのがアプリ開発です。
なぜアプリなのか?
Section titled “なぜアプリなのか?”Pythonの print() だけでは、次のような 体験として重要な部分 をユーザーに伝えきれません:
- 制約・重みを変えると結果がどう動くのか
- シナリオの比較で何が違い、どの点が意思決定に効くのか
- なぜその結果になるのか、背景をどう理解すれば良いのか
これらは文字だけでは想像しづらい情報で、結果の比較であれば簡単な図を作成することも多いでしょう。これをさらに発展させた表現ツールとしてアプリ開発という手段を取ることができます。たとえば、
- パラメータを入力するフォーム
- 条件を変えると即座に更新される計算結果
- シナリオを並べて比較できるUI
- 計算の背景条件をまとめて示す説明パネル
を実装することにより、「ユーザーがどう触って、どう理解し、どう意思決定するか」の流れをシームレスに表現できます。
「使っていて楽しいな」、「こういう機能があるっぽいから使ってみよう」と思ってもらえるのもアプリ制作をするメリットです。
そして、このようなことを伝えるためのアプリであれば、高度な技術を使わなくても実現できます。
たとえばPythonユーザーであればStreamlitやNiceGUI、FlaskやFastAPIといったツールが存在します。したがって、最適化コードの実装からWebアプリケーションのUI作成まで一貫して行うのは難しくありません。