I started developing Facebook applications for Allebach Communications in 2011. Most of these applications have been simple forms which required the user to like the page before accessing the form.
At first the applications used the Facbook Markup Language, FBML and some jQuery for validation and AJAX to the post the data, however now these applications can be iframes made with whatever you want.
Because of our hosting environments I would use either PHP or C# to build the applications, using either the PHP SDK or the Facebook C# SDK.
Some applications required working with Coupons, Inc to provide a coupon to users. Sometimes this was implemented as either as a static or dynamic URL.
When time was an issue we relied on Wufoo to provide the form, validation and data storage and then made use of a custom thank you redirect.
Newer projects that required tracking users and their actions required asking for basic permissions.
Working with Facebook applications is an ongoing learning experience.