Facebook is a popular social network site and a destination for application developers, but developers need to learn its peculiarities, according to a VSLive conference presentation in the US on Tuesday.
Development on Facebook is more like embedded development rather than normal Web development, said speaker Jeffrey McManus, CEO of Platform Associates, a consulting firm.
"It's kind of like all the bad parts of Web development and all the bad parts of embedded systems development sort of thrown together in a community of 60 million salivating college students," said McManus. He presented on developing for Facebook using Microsoft .Net technologies.
Facebook is a platform featuring a collection of technologies enabling developers to create applications that incorporate Facebook data. This could include applications, for example, that make Web services calls to Facebook and applications that can run within Facebook.
"Ninety-eight per cent of Facebook users use a third-party application of some kind," McManus said.
"A lot of businesses are built on top of Facebook," he said. He cited Slide.com, which is a personal media network, and RockYou, for photo-sharing, as examples.
While Microsoft technologies like Visual Studio can be used for developing Facebook applications, Facebook better accommodates the language it was written in: PHP (Hypertext Preprocessor), McManus said.
"The state of Facebook for .Net developers is pretty muddy," said McManus, who showed a Windows Forms client for Facebook. Developers can build a Facebook application in .Net, but it is not as well-supported, McManus said.
Technologies for developing applications in Facebook include FBML (Facebook Markup Language) and IFrame, an HTML construct that opens a hole in a page enabling display of another page inside of it, according to McManus.
Also factored into the equation is Facebook.Net, a .Net library that wraps Web services and handles authentication and other elements. Silverlight, Microsoft's new multimedia presentation technology, also can be supported in Facebook using FBML.
Facebook gives users control over their data and certain rules are enforced in software. Rules are in a state of flux. "A rule change on the basis of Facebook's strategy or whatever can blow away your app," McManus said.