What language to use when developing Facebook applications is surprisingly another one of those questions that comes up often. In the early days everyone, Facebook had official APIs for a handful of different languages including PHP, Java, ASP.NET and Javascript. The open source community was quick to create unofficial APIs for popular (and not so popular) programming languages like Ruby on Rails, Python, Perl, Lisp, ASP (VBScript), Cocoa, ColdFusion, C++, C# and the list goes on!
The cost of maintaining multiple APIs is expensive and today Facebook only two officially support API: PHP and Javascript. A majority of the Facebook applications we develop are written in PHP, but every once in a while we are asked to build on the ASP.NET and Ruby platforms. We generally try and persuade clients to stick with the official support PHP. There are number of reasons for this:
- Building on a Supported Platform is Less Expensive
As the Facebook API rapidly evolves, its becoming difficult for third party offerings packages to keep up! As a result, many lack support for new features or have bugs that need to be fixed. Open source Facebook APIs are free, and you get what you pay for! If the volunteers/developers behind the project don't keep it up to the day, you will have to - and this can be expensive! Finding development resources that will built applications on an unsupported platform is more expensive. Many developers charge a premium for developing on more "exotic" platforms. - Supported Platforms are Less Risky
Related to my previous point, not only is using an unofficial API more expensive, its also more risky. The chances of your application running into trouble the next time Facebook updates their API is much greater on an unofficial platform and if your API is part of an open source project, there is no real (financial) pressure for the developers to keep up with changes to the Facebook API.