タイトル画像
琴葉茜

この項目では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」の使い方を自分でも確認したい人は下の画像をクリックしてみてね!