Thursday, 25 April 2013

Xamarin, C# and mobile development

I had read about Xamarin (called Ximian I think at the time) back in the days of them getting C# to run on Linux but didn't really pay too much attention as I was a Windows/Mac guy who wasn't too interest in Linux apart from the occasional install and 10 minute play with Ubuntu.

I think I really sat up and took notice when they announced support for C# development for the iPhone in 2009, around this time I was attempting to get my head around objective c, Xcode, interface builder and all things apple development.

I did managed to get an iPhone app up and running in objective-c but I wasn't about to become a fully paid up member of the apple developer community (though i did buy the apple developer license)

I had an affair with HTML/JavaScript for mobile development before landing at the feet of Xamarin and their mobile development offering.

Xamarin is the love child of Miguel de Icaza and Nat Friedman, they have had rough ride with their child, some unloving grandparents called Novell and Attachmate didn't see the value of this C# baby but Miguel and Nat did. After being laid off by Attachmate they set up their own company as they were convinced that their child had a future.

Xamarin offers the ability to write C# software that will run on Windows, Mac, iOS, Android and Windows Phone (others platforms probably available!) - I don’t think it should be underestimated what a feat of engineering this is.

It’s almost as if Xamarin is in the middle of Apple selling Macs, Microsoft selling Windows and Google/Android phone makers selling Google services and phones - that’s not a group of companies you would want to be in the middle of should the lawyers come knocking at the door!

Miguel is obviously a seriously talented guy who appears likeable and respected - his company Xamarin is one of those companies that deserves respect and to be honest our money if you want to do cross platform development be it mobile or Windows/Mac.

The best advice I can give is download it, play with it, produce great apps and make money :-)

The deal winner for me with Xamarin is its Visual Studio plug in on the Windows platform. That means you can produce your cross platform C# code in the comfort of your favourite IDE.
Because you are using Visual Studio you can take advantage of all your favourite tools and plugins like ReSharper, TFS, StyleCop and more.

The recent release of Xamarin 2.0 has taken things to the next level - You can now build iOS apps directly from visual studio. For me this is huge, sat in my comfy chair with ReSharper and StyleCop wagging their finger when i do something wrong is a brilliant productivity gain. On a side note I disabled ReSharper today to see if my Visual Studio addin I was creating would run quicker, I felt like a swimmer without armbands - I intend to blog about ReSharper soon.

Not only can you build iOS apps from Visual Studio, you can also run them and debug them - You still need a Mac to do this as its part of Apple's license to build their apps, but the way
Xamarin has done this is spectacular. It remotely connects to the Mac via a service running in the background called Mac Build Server - I'm not sure how they have done this but it allows
you to step through the code still sat in that comfy visual studio chair.

If only Microsoft showed the same love towards C# as Xamarin the world would be a better place.


  1. The Xamarin Test Cloud which enables us to test our apps on over 1000 devices in the cloud, before releasing it.

  2. I like to read android and ios app development company blogs !

  3. Good article, resonated with me from start to finish on Xamarin, C# and mobile development. Hire Xamarin Authorized Partners for your Cross Platform Mobile App Development.