pythonのWebフレームワークとして、Streamlit,Flask,Djangoが有名である。
webアプリを初めて開発するればいいのか?という悩みについて解決します。
Point!
- webアプリをどのフレームワークで作ろうか悩んでいる方
- 自分のレベルに合わせたフレームワークの選択
フレームワーク選択のフロー図
Streamlit
”とにかくアプリを作ってみたい” そんな方にオススメのフレームワークです。
基本的にPythonだけで作成できるのが、魅力です。
一方で、デザインがある程度決まっているので、オリジナリティのあるwebサイトの作成は難しいです。
オリジナルhtmlやcssも組み込むことは可能ですが、それであればFlaskで良いかなと思います。
また、Google Adsenceは付けられないです。
”とにかくアプリを作ってみたい”、”デザインに拘らない” 方にオススメになります。
Flask
”ちょっと凝ったコンテンツを作りたいけど、認証や管理画面などは面倒” という方にオススメのフレームワークです。
webアプリに最低限機能を有しており、必要に応じて拡張していけるようなフレームワークです。
htmlとcssが書けることが前提となります。逆に、フロントエンドの知識それなりにあれば、自分の好みに合わせてデザインできるので、思い通りのwebアプリが作成できます。
ただし、必要な機能を拡張していくうちにDjangoで良いのでは?となってきますので、小規模な開発に適していると思います。
Flask アプリケーション例
以下が私がFlaskで作成したアプリケーションになります。ご参考までに
https://www.isenthalpiccalc.com/
※heroku有料化につき、停止中です。別途作成中。
→2023/1/12 Renderに乗り換え、無事復帰済みです。Renderに興味ある方はこちらの記事もご覧ください。ただし、無料で使用しているため、サーバーがすぐに寝てしまいます。表示に時間がかかります。ご了承ください。
Django
いわゆるフルスタックのフレームワークです。Flaskで追加しなければならない機能の多くが最初から搭載されています。Djangoで作れているサイトには、以下のようなものがあります。
- youtube
- Spotify
- Dropbox
いずれも聞いたことあるサービスばかりだと思います。Djangoを極めれば、上記のような大規模なサイトも作成可能です。
ただし、勉強することが多いので、初心者にとってはわからないことが多く、ハードルが高くなります。
関連記事
まとめ
全くweb開発をしたことがない初心者という方は、まずはstreamlitが良いと思います。
オリジナルのアプリやこだわりが出てきたら、flaskでwebアプリの基本やフロントサイドなどの勉強し、Flaskでも物足りないと感じ始めたらDjangoにトライするのが、勉強しやすいと思います。
自分自身のレベルに合わせたフレームワークの選択が最も重要です。
プログラミングの勉強に悩んだら、、
プログラミングの勉強に悩んだら、『Udemy』をオススメします。
オススメのポイント
・全ての講座がオンライン
・リーズナブルな価格で、実用的なスキル
・購入した講座を何度でも見直せる
・プログラミングの講座が豊富