BookFind.jpで使用するWebフレームワークを、Ruby on Railsからweb.pyに変更しました。サーバーは今まで通りSlicehostのVPS。Dreamhostは解約しました。
実際に移行をしたのは3週間ほど前なんですが、以前より随分と軽快に動作するようになりました。Railsは、自分の用途に対してはオーバースペックだったのと、うまく使いこなせなかったのが残念です。web.pyは他のフレームワークで標準装備されているような機能も付いてなかったりしますが、そこが逆にシンプルで良かったりもします。
テンプレートエンジンはweb.pyに付属のものではなく、Makoをチョイス。ドキュメントがちゃんとあるのと、使いやすさから選びました。ベンチマークの成績も良いようですね。テンプレート内にPythonのコードを書けるのも便利です。
Webサーバーはweb.pyの開発者さんも使っている、lighttpd。設定ファイルが読み書きしやすいです。LiteSpeedで、ブラウザベースの設定はかえって面倒だと感じたので、テキストベースの設定がちょうど良いです。lighttpdの設定の仕方は、Lighttpd - Linux Tipsがとても参考になりました。
RailsでのAjax用ライブラリはPrototypeとscript.aculo.usでしたが、今回はより新しいjQueryを採用しました。慣れると、すごく使いやすいです。使い方は『jQuery in Action』を読んで覚えました。リファレンス向きではありませんが、チュートリアル形式なので、一から勉強するには最適でした。
そのjQueryのファイルは、AJAX Libraries APIを通じて読み込まれるようにしています。jQueryのバージョンアップの手間が省けると同時に、インターネットの無駄なトラフィックも減らせて一石二鳥です。
そのほか、価格比較グラフの描画にGoogle Chart APIを使ったり、AJAX News Barで洋書関連のニュースを表示したりと、ちょっとGoogleに依存しすぎな気もします。アクセス解析もGoogle Analyticsですし、Googleからアクセスを遮断されでもしたら、大変そうです。
web.pyはCGI環境でも動くくらい軽快ですから、多機能を望まない方にはオススメのフレームワークです。

Recent Comments