If you’ve worked on the ASP.NET community for any significant period of time, you’ve probably learned that ASP.NET doesn’t always need IIS to run a web application. If fact with frameworks like Mono, you can run ASP.NET on Linux or OSX. But what is more interesting to me is that Xamarin, the company behind Mono also builds a framework for iOS and Android platforms.
So what, you might ask? The very, very cool thing that Xamarin brings to the table is that you can build for iOS, Android, Mac and Linux all using the C# language. If you’re an ASP.NET developer, there’s a good change that you already use C# in your day-to-day work. So now, virtually all of mobile devices and iOS are within your grasp as a developer.
How does this work?
Basically, Xamarin allows you to build an app using C#. But when you compile it, the Xamarin tools will compile the C# code down to the target platform. This means that the app will act like it was written using the native tools like Objective-C or Java. I was listening to the Tablet Show podcast #111, and it was mentioned that while there is a some performance hit, it’s generally not noticeable at all.
Here’s a screen capture of C# code in Xamarin’s ‘Tasky’ sample application. This app is targeting the Android platform.
This is using Xamarin’s IDE called, aptly enough, Xamarin Studio. If you shell out the cash for the business license, you can build these applications directly from within Visual Studio. However, if you only spring for the Starter or Indie versions, you’ll need to use Xamarin Studio.
All of this makes me excited because the sky is the limit for a good C# developer right now! The language itself is mature and robust, Visual Studio keeps getting better (in my opinion) and now you can target just about any platform out there all while still working in the same language. How cool is that?