この項目ではWebアプリを作っていくことになるけど、今回もまずは最初にWebアプリを作るためによく使われているライブラリの一覧から紹介するね!
| ライブラリ名 | 主な用途 | メリット | デメリット |
|---|---|---|---|
| Flask | 軽量Webアプリ開発 | シンプルで学習コストが低い 最小構成から始められる 拡張性が高い |
機能が少なく、複雑な設計は工夫が必要 大規模開発では管理が煩雑になりやすい |
| Django | 大規模Webアプリ開発 | 管理画面・認証などが標準装備 一貫した開発スタイル セキュリティ対策が充実 |
学習コストがやや高い 小規模用途ではやや重い |
| FastAPI | APIサーバー開発 | 高速(非同期対応) 自動APIドキュメント生成 モダンな書き方(型ヒント活用) |
画面表示向けの機能が少ない 型アノテーションの理解が必要 |
| Streamlit | データ可視化アプリ | Web知識不要で簡単 データサイエンスとの相性◎ 即座にUI構築可能 |
レイアウト自由度が低い 複雑なUI設計は不向き |
| Gradio | 機械学習デモ | 非エンジニアでも使いやすい モデル公開に便利 |
カスタマイズ性に乏しい 複雑なUIやグラフには不向き |
| Dash | インタラクティブなダッシュボード | Plotlyとの連携が得意 高度なグラフが描ける |
レイアウト設計がやや複雑 学習コスト高め |
| Bottle | 超軽量Webアプリ | 単一ファイルで完結 学習や検証に適している |
機能が非常に少ない 大規模開発には不向き |
| Tornado | 非同期Webサーバー | 高速でWebSocketに強い リアルタイム処理が可能 |
低レベルな設計 学習コストが高い |
| PyScript | HTML上でPython実行 | Pythonを直接HTML内で使える 学習用に面白い |
実験段階で制限が多い 商用利用には不向き |
これもすごくたくさん種類があるんだね
ちなみに「Pythonやろうぜ!」のサイトは表の最初に載っている「Flask」っていうライブラリを使ってるよ!
そうなんだ!!じゃあ今回使うのも「Flask」なの??
いや、今回は「Streamlit」を使ったWebサイトの作り方を紹介していくよ
あれ?そうなの??
さっきの表の中でもよく使われてるライブラリは「Flask」と「Django」なんだけど、両方ともWebサイトを構成するプログラミング言語である「HTML」「CSS」「JavaScript」の知識が別に必要になるんだよね
Python以外のプログラミング言語の知識も必要ってなるとなかなかハードルが高いね...汗
だけど、「Streamlit」はPythonの知識だけでWebアプリを作れるんだ
その方が安心して取り組めるでしょ?
そうだね!「Flask」とかは本格的なものを作りたくなってから改めてチャレンジしたら良いしね!
それと、「Streamlit」は「Streamlit Community Cloud」っていうのを利用すれば、作ったWebサイトを維持費をかけずに簡単に公開することもできるから、学習用とか個人用で使う分には便利なんだ
前回のじゃんけんゲームみたいに作ったものを誰かに見てもらえるようにできるのは良いところだね!
ということで、次からWebサイトを作っていこうか
よろしくお願いします!!
「Streamlit」の使い方を自分でも確認したい人は下の画像をクリックしてみてね!
