読者です 読者をやめる 読者になる 読者になる

Djangoプログラマから見たCatalyst, Symfonyの良いところ

Perl PHP Django

最近、自分でCatalystで遊んだり、自分の周りで「空前のSymfonyブーム」が起きている??関係で、非PythonのWebフレームワークを触っています。備忘録がわりに、Catalyst, Symfonyがよいと思った点をメモしておきます。

Catalyst

  • Catalystを完全に理解したとは言えないが・・・
    • 何かあるテンプレートエンジンやORMを前提としない点がよい。
    • URLルーティングシステムは、Djangoよりも簡潔かつ、Djangoと同じくらい強力に見える。
  • stashという概念は扱い易い。
  • flash変数という概念は非常に便利。なぜDjangoにないのかが疑問。
  • redirectではなく、forwardができるのはDjangoより遥かに便利。なぜDjangoにないのかが疑問。

Symfony

  • テストの部分がちゃんとしている。テスト実行前にYAMLで書いたFIxtureを読み込んで・・・というように、面倒なことを簡単に実行できるような仕掛けがあるのはGood。
    • モダンなWebフレームワークは、こういった部分をスマートに実行する仕掛けがあるべきだ。
  • とはいえ、Symfonyの標準のテストフレームワークlimeによるテストは、他と比べると余り良くないような気がする。
    • limeはPHPUnit等をより簡便にしようというような努力は感じられる。
    • ただ、Pythonのnoseの利便性はlimeの上を行く。
    • 生粋のPHPプログラマもlimeには満足していないはず。
    • テスト支援は、Webフレームワークとして最も重要な点と感じ始めてきています。そういう意味ではDjango, Catalyst, Symfomyはわりといいラインまで達しているし、星の数ほどある他のWebフレームワークはそのラインまで達していないのでないかと思っています。
  • Symfonyでプロジェクト作ると、batchというディレクトリを作るのが気になる。Webアプリケーションで何かをするというだけではなく、バッチプログラムで何かをするという点までフレームワークが支援してくれるならば、これは非常に大きいと思う。少なくともDjangoにはそういうコードを書き易くする機能はない。(ないよね?)