ASP.NET Facebook Application Types
There are several different approaches that you can take for developing a Facebook Web application. We will cover several of those approaches in the upcoming sections. But, the first key is deciding what type of application you want.
Canvas Application: These are Web applications that run completely integrated with the Facebook platform. Your application will feel like it is actually part of Facebook. Users will use your application without ever leaving Facebook. There are two approaches to writing Facebook canvas applications, you can read this to help you decide, as explained on the Facebook developers wiki.
- FBML (Facebook Markup Language): This is a model where you provide a URL for Facebook to call and return formatted FBML that Facebook will then render on your behalf. This is the easiest way to get a very integrated experience and to take advantage of a lot of the Facebook user interface items that your users are used to using.
- IFrame: This is a model where Facebook will host an IFrame pointing at pages that you host on your own servers. Facebook will provide you some context on who the Facebook user is. This is a good model if you really want to write your app similar to other Web apps you might have written. You do have the ability to still leverage some FBML using XFBML. http://wiki.developers.facebook.com/index.php/XFBML.
Facebook Connect: If you don't want to have a canvas application, but you want to leverage Facebook data or provide other integration with a user's Facebook account from a stand-alone Web application you should look at Facebook connect. Facebook connect provides a mechanism that you can leverage Facebook authentication within your site and also leverage new forms of distributing content from your site to your user's friends and Facebook profile.
Standalone Web Application: If you have a Web application that requires using the Facebook APIs to provide some integration there is support, but you don't want integrated login. It is recommended that you still strongly consider Facebook connect. However, standalone Web applications using Facebook are supported.