Python フレームワーク比較

最近、Flaskを使ったCMS「Quokka」を導入のため調べていて、
Flaskなのに、Djangoにインスパイアーされたクラスビュー(flask.view)を使っていて、
各フレームワークについて思ったこと。

学習コストで言うと、
全部入りのDjangoが一番多く、
かつ知らないと存在すら分からない黒魔術的機能がある。

二人ほどDjangoを教えていて、
あまりのDjango独自世界で、嫌がられた覚えあり。
とは言えPythonやってます!
という会社はほぼDjango使ってる。

カバー範囲としては

Django 独自templare、urlマッピング、ORM,ユーザーログイン、管理画面

Pyramid urlマッピング,ユーザー認証(アカウントではない)・認可、起動時に設定ファイル選択
 必要なものが必要なだけ用意されてる

Flask urlマッピング だけかと思ったら、  
>Flask 0.7 ではビュー関数の代わりにDjangoのクラスベースの汎用ビューに
>インスパイアされた拡張可能なビューが導入されています 
http://flask-docs-ja.readthedocs.org/en/latest/views/ 

FlaskでMVTしたいなら、
BluePrint使って配置

from flask import
Blueprint app = Blueprint("app", __name__, url_prefix="/path")

Flaskで大きいアプリケーションを作るときのTips http://qiita.com/Alice1017/items/a6b6500e60f2a0334e44 

以上があったりして、
結局本格的にやるなら、
結局、マイクロフレームワークじゃないじゃんと思った。

Flaskホームページにも、
マイクロフレームワークだけど、
必要に応じて必要なものを選べばよいと書いてあって、
Djangoみたく最初から全て覚える必要はなく、
システム・サービスの成長に合わせ、
覚えていけばいいとのこと。Pyramidも同じことが書いてあった。


FlaskやPyramidでも結局ORMは必要で、
大体、SQLAlchemyが多く、テンプレートはjinja2を使っていた。

でも結局、プロジェクト毎になってしまう。

個人的にはPyramidがシンプルな割りに、
ツボをついていてお気に入りなんだけど。

コメント