PythonのWebフレームワークで間違った選択をすることは非常に困難であると、Pyramidのintroductionページに記載されています。調査した結果まったくもってその通りだという結論に至りました。2015年12月に個人でWebサイトを構築する時に、どのWebフレームワークで構築するかで迷いに迷いました。この記事はそのときの検討メモです。
速度
みんな大好きTechEmpower Web Framework Benchmarksで速度比較。サーバ費用をケチって運用費をとにかく下げたいので、その時点で重大長厚なdjangoは検討対象から外れました。bottleはやはり早い。
Webフレームワーク Yes/Noチャート
Yes/Noチャートにまとめてみました。ログイン機能は構築しないためSessionは必要ありません。シンプルで学習コストが低く高速に動作するFlaskで構築することにしました。
その他検討事項
検討したけど選択に寄与しなかった情報。PythonのWebフレームワークで間違った選択をすることは、やはり難しい
Python3対応
どのフレームワークも3系で動作します。
本番でのサーバ構築
Python + nginx + uWsgi + WebFrameworkで、どのフレームワークも動作します。
速度だけを考えるとWebサーバにTornadoを利用するとよいらしいです。(未検証)
O/Rマッパー
Webフレームワーク | O/Rマッパー |
---|---|
Django | 独自ORM |
Pyramid | SQLAlchemy |
Flask | SQLAlchemyをサポート |
参考
Choosing a Web Framework: Django, Flask, or Pyramid
便利で超強力なWSGIサーバー uWSGI を使ってみようAdd Star