I would pick the Graph API and authorization using OAuth. The Facebook Javascript SDK is really nice and has come a long way. The SDK, coupled with the Graph API makes it very easy to do Facebook integration. Whenever you need data from Facebook, create an http request on your server side and deserialize the JSON that gets returned by the Graph API. Any client side interaction can be done through the Javascript SDK (or use your server as a facade to the Graph API and return the JSON directly to the client for processing). oAuth is an opens standard also (as opposed to Facebook Connect).
After you have an access token, you can query the graph API restfully to retrieve data.
For example:
https://graph.facebook.com/me?access_token={0}
Would return information such as the Id, FirstName and LastName. All in JSON format.
The Facebooks Graph API documentation is pretty good.
Here is a walkthough on how to perform oAuth authentication (both logging in and logging out).
and Is Facebook Connect going to be obsolete
The only thing I can see becoming obsolete would be FBML Facebook applications (versus using an iFrame). This again is because of Facebook's Javascript SDK. As from a strict "gut" feeling, the Graph API just feels right. It's restful in nature and highly interoperable with anything that can parse JSON.
I am new to Facebook Development.
Some words of wisdom:
- Choose IFrame over FBML
- The Facebook Javascript SDK is a wonderful asset
- jQuery will prove to be invaluable for working with client side Facebook stuff
- Use the oAuth protocol for authentication (again, this and the Graph api are nice and "Restful")
- Get familiar with FBML. The Comment FBML tag is probably the easiest to integrate into your website. So start with that and build from there.
- IE will not be able to run your iFrame app unless you include a P3P header in your HTTP response. This blog post will give you some tips on how to use oAuth in your iFrame apps and how to deal with IE's iFrame problems.