There are five main components of the Facebook platform: API calls, Facebook Markup Language (FBML), Facebook Query Language (FQL), Facebook JavaScript (FBJS), and the client libraries. Well I consider the client libraries for the various languages to be part of the platform because they are useful abstractions for the specific language in which you are implementing your code. The examples here will utilize the PHP client library from Facebook, so if you’re using a different client library, your syntax will be slightly different. It’s important to remember that this is not meant to be an exhaustive reference for the platform (Facebook has a wiki for that at http://wiki.developers.facebook.com ), but it will cover the major elements you will likely encounter when developing applications.

If you don’t already have a favorite code editor, finding one can be challenging. Most likely you’ll start coding with something as simple as a text editor, but you’ll quickly find this to be a pain. Here are some editors that you might want to try to help you with developing your Facebook application:

  1. Crimson ( http://www.crimsoneditor.com/ ) [Windows]
  2. ConTEXT ( http://www.context.cx/ ) [Windows]
  3. Dreamweaver ( http://www.adobe.com/products/dreamweaver/ ) [Windows, OS X]
  4. Eclipse PDT ( http://www.eclipse.org/pdt/ ) [Windows, OS X, *nix]
  5. EditPad Lite ( http://www.editpadpro.com/editpadlite.html ) [Windows]
  6. Notepad++ ( http://notepad-plus.sourceforge.net/uk/site.htm ) [Windows]
  7. phpDesigner ( http://www.mpsoftware.dk/ ) [Windows]
  8. PhpEd ( http://www.nusphere.com/products/phped.htm ) [Windows]
  9. PhpEdit ( http://www.waterproof.fr/ ) [Windows]
  10. PHP Expert Editor ( http://www.ankord.com/phpxedit.html ) [Windows]
  11. Quanta Plus ( http://quanta.kdewebdev.org/ ) [*nix]
  12. TextMate ( http://macromates.com/ ) [OS X]


One of the nice features of the majority of these editors is that you have the ability to add your own language references. Although there aren’t any FBML plug-ins yet for these editors, they could be built very easily.