I want to create an innovative application that I can build on Facebook and also deploy to other platforms (such as OpenSocial, iPhone, etc.) in the future.
Crucial for the success of a Facebook application is constant innovation and experimentation. The best applications keep refining interactions, implementing new features, and developing new ways for their users to engage with their friends.
As you plan out your application, it may be worth preparing to structure it in two parts: the Facebook interface elements that are viewed by the user, and your application logic, which is hosted and accessed independently of the Facebook environment. This kind of separation between the layers of your application will be crucial if you intend to deploy to other platforms down the road. See Figure 6-1.
Figure 6-1. Separating interface and logic using Ajax calls
There are three elements to your standards-compliant development toolkit:
FBML (HTML), used for marking up content and establishing boundaries of elements ...