Question

Need to program a GUI for iOS, Android, and Microsoft Windows Phone devices (Windows Phone 7/8).

Does same program written in Xamarin Monotouch C# run on all three platforms?

Was it helpful?

Solution

To elaborate a bit on @choper answer...

  • Xamarin.iOS (formally MonoTouch) gives you the tools and the API/SDK required to write .NET applications that will run on iOS devices (or the simulator);

  • Xamarin.Android (formally Mono for Android) gives you the tools and the API/SDK required to write .NET applications that will run on Android devices (or the emulators);

  • Xamarin.Mac gives you the tools and the API/SDK required to write .NET applications that will run on OSX computers;

All products are based on the open source Mono project. They all provide addins to work with the Xamarin Studio IDE (and optionally XI and XA can work inside Visual Studio, see note).

So the same product won't allow you to write once, run everywhere. However they will let you share a great deal of logic code (often beyond 80%) between the Xamarin-supported platforms and others .NET platforms (Windows, Windows Phone...). Some design patterns (MVC, MVVM) and libraries (e.g. MVVMCross) can help you maximize code sharing - but they are optional (i.e. you can roll your own).

You'll still need to write some user interface code for each specific platform - but that gives you the ability to provide a native, high quality user experience on each platform, without rewriting the application everytime (e.g. ObjC on iOS/Mac, Java on Android and C# on Windows/Windows Phone).

note: A Mac is still required to build/debug iOS applications from Visual Studio.

OTHER TIPS

No, it isn't. It will run only on iOS and also like Xamarin.Android/Monodroid will run only on Android

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top