2009年7月4日土曜日

mixiアプリ開発におけるキャッシュの問題

mixiアプリ開発をする人が必ず一度は通るといわれるキャッシュの問題。OpenSocialコンテナでは、負荷軽減のためにGadget XMLファイル等をサーバ側でキャッシュしているので、開発の過程でファイルを書き換えた場合、それがすぐに反映されないという問題が起こることがある。

キャッシュの扱いについてはOpenSocialコンテナごとに違うとは思うけれど、mixiアプリの場合は、mixi Developer Centerの Gadget XMLファイルのキャッシュについてに詳しく書いてある。

mixiアプリでは、様々なレイヤーで強力にキャッシュが働きます。これは、mixiアプリの動作に関する負荷をできるだけ減らして、利用者に快適にアプリを利用してもらえるようにするための工夫です。しかし、mixiアプリの開発において、そのキャッシュが開発の妨げになってしまうケースも十分に考えられます。

対策方法としては、

  1. アプリ設定画面から、「キャッシュの消去」をする
  2. ブラウザで、アプリのURIのパラメータに「nocache=1」をつける

開発中のちょっとした確認であれば、2. のnocache=1のやり方でOK。更に、この前の記事で紹介したように、Gadget XML置き場にDropboxを用いれば、「ローカルで保存+ブラウザをリロード」するだけで更新結果を見ることができるのでとっても便利。

ただ、Safari (4.0.1) の場合、nocache=1しなくても、なぜかキャッシュがかからない。Firefoxだとキャッシュされたものが表示されるのだが...なぜだろう?詳しい方、もしご存知でしたら、ご教授くださいませ。

0 コメント:

コメントを投稿