はじめる、Facebook アプリケーションの開発
by Taiki on 2009/05/18 18:56, under 読み物
概要
ここでは、Facebook アプリケーションの開発に必要な情報について説明します。PHP と FBML を利用した Facebook 上のアプリケーションです。
プラットフォーム
Facebook の基本的なプラットフォームは、PHP です。オフィシャルな Facebook 用のライブラリが提供されています。
それ以外にも、Perl、Python、または C# などのライブラリも用意されています。
アプリケーションの種類
Facebook アプリケーションといっても、そもそもいくつかの種類があります。
- Facebook サイト上で利用できるアプリケーション。羊を投げつけあう SuperPoke など。
- PC や iPhone 上で動く、Facebook 用のアプリケーション。Firefox アドオンの Facebook Toolbar など。
このサイトでは、主に Facebook サイト上で動作するアプリケーションについて説明しています。
ごく簡単なアプリケーションの構造
Facebook アプリケーションは、Facebook 上に用意されたキャンバス (Canvas) と呼ばれる場所に、自分のアプリケーションを公開することでユーザーからアクセスできるようになります。
キャンバスは、http://apps.facebook.com/アプリケーション名/ というようなアドレスになります。
キャンバスは、Facebook の中に切り取られた一部の領域のようなものです。

キャンバスへのアプリケーションの実装は、主に 2 種類の方法があります。
ひとつは、HTML の iframe 要素で切り取った領域に、自分のアプリケーションをホストしているサイトを表示させる方法です。
もうひとつは、FBML (Facebook Markup Language) と呼ばれる Facebook による HTML 拡張を利用する方法です。
自分のアプリケーションでどちらを選ぶべきか迷う場合は、開発者用のドキュメント「Choosing between an FBML or IFrame Application」を参照してください。
簡単に要約すると、次のようになります。
FBML
- ゼロから手軽に開発したいとき。Facebook での開発初心者向け。
- 最初のページの読み込みが速そう。
- いくつかの移動可能なパーツがある。構造が一般的な Web と似ている。
- 数多くの Facebook 独自の要素を簡単に利用できる。
- 作成するアプリケーションのページに、ナイスな URL がつけられる。
- 厳密な認証メカニズムがある。
IFrame
- 既存のアプリケーションがある場合は、簡単に組み込める。
- 長い目で見れば、結局はユーザーにとっては高速なアプリケーション体験になる。
- JavaScript、HTML、および CSS が使用できる。
- AJAX をたくさん使用している場合は、要求が Facebook プロキシを介さなくて良いため、高速である。
- FBML や FBJS を利用するよりも、標準的な HTML や JavaScript のデバッグが容易である。
- jQuery などのポピュラーな JavaScript ライブラリを利用できる。ただし、FBJS 内で動作するように、若干修正が必要かも。あるいは一部動かないかも。
このサイトでは、主に FBML を利用した方法を採ります。