Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

Jinja2かMakoか

こんにちわ、Pの付く言語なのに全く相手にされていない言語:Pythonを使ってるmopemopeです。
完全に私事ですが、普段やっつけ仕事(コード生成とか)で使ってるのはCheetahだったりするんだけど乗り換えようとちょい調べました。
最近ならば「Jinja2使え!ボケ!」ってところですが敢えてMakoに切り替えようと思います。

なぜならMakoの方がエグくやっつけ向きだからです。
機能面でいうとJinja2はMakoからアイディアをパクッてたりするため、あんまし変わりません。
(Jinja2はblockもmacroも使えるようになってます)
でもJinja2は最悪テンプレ側にpythonコード書くといった泥臭い事を推奨してません。
なので適当やっつけ仕事には不向きだろうなあという理由です。

速度面からいうとほぼ同じです。
(Jinja2はエスケープ部をC拡張(オプション)で書いてあったりしますが)
あと両方キャシュシステムも持っています。
MakoはキャッシュバックエンドをBeakerに任せてるのでBeakerも必要になるのですが、キャッシュを使わなければなくてもいいです。
Jinja2はBytecodeキャッシュを自前で用意しています。

APIの綺麗さから言うとJinja2なんですけが、そこは見なかった事にします。