Facebook Cookbook - Jay Goldman [52]
Facebook Developer Software Toolbox
Problem
What software tools do I need to build Facebook apps? Is this going to be expensive?
Solution
The good news is that you can get away with entirely free software to build your app! The bad news is that there’s only good news. So, I guess that’s just good news, then! Phew.
Until Facebook released Facebook Open Platform, you couldn’t build Facebook apps locally on your own computer because you needed the Facebook servers and parsers and other crazy software running. Now you can download Facebook Open Platform, which is licensed under a combination of the Common Public Attribution License (CPAL) and Mozilla Public License (MPL), get it running locally on your dev machine, and go to town. So, I guess there used to be a piece of bad news (you always needed to have a web connection available to test with), but it’s now a mostly good piece (you can get it running locally if you’re good at the server setup and software-compiling-type stuff). You can find out more about Facebook Open Platform at http://developers.facebook.com/fbopen/.
Other than that, you’ll need a text editor for writing code, an FTP client for uploading it to your server (see Hosting for more info), and some sort of graphics editor for images. If you have a toolkit in place for doing web development now, you should be more than ready.
Discussion
I’m not going to cover getting Facebook Open Platform running, since that could be almost a book on its own given the number of possible operating system and server combinations out there. You’re going to spend most of your time in your text editor, so that’s the focus of this discussion.
Choosing the best text editor is a little bit like picking the best right hand. Editors disappear when you’re comfortable in them, becoming a natural extension of your code-writing brain directly into your computer. Unless you’re a heavy web designer (in which case you’re probably quite at home in the Adobe Creative Suite), this is the piece of software you’re going to use most often while building your app. The following are a few of the more popular options for different OSes.
Mac OS X
Mac-based developers tend to be in one of three camps:
Bare Bones Software’s BBEdit
The old-school choice of pros. I’m a BBEdit user myself, mostly because I’ve been using it for more than 10 years and I couldn’t possibly face the idea of learning a new editor. Standing by its long-term slogan, Bare Bones still maintains that “It doesn’t suck.®”, and I firmly agree. More info at http://bbedit.com/products/bbedit/. The cost is $129 for an individual or $49 for an educational license.
MacroMates’ TextMate
A relative newcomer (compared to the venerable BBEdit), TextMate’s slogan is, “The missing editor for Mac OS X.” This is a full-featured editor with all the bells and whistles you would expect, and it is particularly popular in the Ruby on Rails world (though it has support for more than 50 languages). More info at http://macromates.com/. The cost is €39 for an individual (which translated to about USD $64 in May 2008). Educational/academic licenses are available, though the price isn’t listed.
Panic Software’s Coda
Coda is the newest contender for the Mac OS X editor throne. If you’re a web developer who focuses on HTML/CSS/JavaScript and does PHP development, you should take a serious look at this app. It includes a full FTP/SFTP client based on Panic’s popular Transmit client, file management, a great text editor based on the Subetha Engine, a Preview window that uses WebKit (Safari’s rendering engine), a WYSIWYG CSS editor, an integrated Terminal command-line window, and a built-in reference library of HTML, CSS, JavaScript, and PHP books. More info at http://www.panic.com/coda/. The cost is $79 for an individual, or $69 if you already own Transmit 3.
Windows
I’m less familiar with the world of Windows editors, being Mac-based myself. Short of advising you to switch to a Mac, I can offer the following list, solicited