Xamarin is all the rage in mobile development right now. They just threw an amazing conference in Austin and started trending on Twitter during the opening keynote.
But I’ve identified myself as a Microsoft platform dev for years now, and Xamarin is all about iOS and Android. Why am I, and more importantly Microsoft, seemingly so interested in this product?
If you haven’t been following along, Xamarin is a company that is now 22 months old, founded by Miguel de Icaza and Nat Friedman. Their product allows you to develop native iOS and Android apps using the most wonderful language of all time: C#.
Their toolset, among other things, lets you use Visual Studio to build these apps, offering rich designer experiences, and even let you compile iOS apps using Windows thanks to some neat remoting technology.
Last week they threw their very first conference, and it was a truly impressive feat. A giant stage, exciting keynotes, new product announcements, live recordings of all sessions, and amazing one-on-one support with Xamarin engineers. Oh and one of the most friendly and helpful communities I’ve ever been a part of.
What more could you ask for? Parties? After-parties? They had those too.
The Windows angle
Ok so they throw a great conference and have some impressive tooling for building iOS and Android apps. But Microsoft was a platinum sponsor of the Evolve conference. I also ran into 8 or 9 Microsoft employees while there. This puzzled a lot of people.
Why would Microsoft show interest in a platform designed to sell licenses for developing software on competing platforms?
An analogy is in order.
Take the image to the left. The bar at the conference was serving cocktails named iOS, Android, and Windows. The drinks were colored according to the platform. It was a fun idea.
What’s the primary ingredient in all of these drinks? Vodka.
The Vodka is Xamarin. The shared language, the shared tools, the shared core.
The rest of the drink-specific ingredients? Those are the UX, animations, and native platform APIs.
If architected properly, as described by a few talks at the conference, these other ingredients can be quite small comparatively. And these ingredients are focused on delighting the user, not porting all of your HTTP interfaces, models, logging, and generic business logic. The fun stuff; not the laborious, time consuming monotony.
Windows Phone needs a genuine app infusion.
Microsoft has made decent headway getting the “top 50” apps onto the platform. But what about the top 500? What about getting them in a timely manner relative to other platforms?
The chain reaction the platform needs will start with genuine developer interest, and without market-share numbers the only business drive to supporting Windows Phone will come from lowering cost and effort.
Xamarin offers that lower cost/effort.
In my humble opinion, Microsoft should be promoting Xamarin developers every chance it gets.
The more iOS apps written in C#, the more apps can be ported to Windows at a significantly lower cost. The developers will already know the language, they know the IDE, they know the .NET BCL. They most likely just need to learn XAML, and the Windows application lifecycle, which is very similar to the other platforms anyway.
It’s a cross-platform world
This is obvious to anyone working in the mobile space, but the idea of 95% market-share of a single client-platform is a thing of the past. Rocky Lhotka had a great article on the future of the smart client and what this means for developers, although we may differ on which language could take us to that future.
The one thing we all agree on: this is going to be a fun ride.
So let’s all enjoy a xammy whammy
I’d like to wrap-up with a special thanks the entire Xamarin community, I met a ton of great people and definitely look forward to seeing everyone next year! And of course a huge thanks to Stephanie Schatz, Erik Polzin, and Anuj Bhatia for the warm welcome and great conversations throughout the week.
See you all at BUILD 2013!