Which platforms does Xamarin support?
To update and extend Jason's answer there is now Xamarin.Forms that let us build cross-platform GUI for Android, iOS and Windows Phone. Looking at Xamarin's FormsGallery sample app I think it is fair to say that it de facto supports Windows Phone as well.
In addition to Xamarin.Forms there's always the possibility to use Xamarin.iOS, Xamarin.Android and Xamarin.Mac for platform customizations.
Xamarin.Mobile is in a preview release and supports Android, iOS and Windows Phone. It is used as an abstracted API of the native services (camera, geolocation etc).
However since you need the local SDK's installed for compilation you need a Mac computer to be able to deply for iOS. In order to compile for Windows Phone you need to use Visual Studio and the Xamarin Plugin, Xamarin Studio is not able to do this.
To conclude Xamarin supports development for
- Android
- iOS
- Windows Phone
- Mac
However not all of Xamarin's API's are implemented for all platforms.
Xamarin has three products
- Xamarin.iOS - write iOS apps using C#
- Xamarin.Android - write Android apps using C#
- Xamarin.Mac - write Mac desktop apps using C#
Xamarin does not directly support Windows Phone apps. However, because you can write iOS and Android apps in C#, and C# is the native language for Windows Phone, using Xamarin allows you to write code that is usable across all three mobile platforms. Xamarin also provides some tools (like their Xamarin.Mobile library) that make this easier by providing a common interface to some common platform functions that will run on all three platforms.
You can write a mobile app that uses Facebook's API with Xamarin, but you cannot create a Facebook app (one that runs on Facebook).