Takeaways from Xamarin Evolve, Part 2: Platform as a Strategy
In the previous entry in this series, I roughly sketched and reacted to the value proposition of the Xamarin platform, and a platform it is, as "CLI everywhere else that matters" might be considered Xamarin's target market while their marketing goal is to "delight developers."
If that last catchphrase sounds familiar to you, you're not alone. I was not the first among my peers at the conference to suggest that a Microsoft acquisition of Xamarin would make sense, and there was a significant contingent from Redmond in attendance. To potential customers, such interest from a big established company might lend an air of credibility or permanence, at face value. Such a marriage, however, would inevitably be a disservice to Xamarin's customers, Mono, the geniuses would brought .NET into the world, and even Microsoft.
In this article I hope to elucidate the considerations in choosing Xamarin through the lens of explaining why a Microsoft acquisition would destroy what they've created.
The primary impetus for creation in the open source community is to "scratch your own itch", followed closely by a need to be recognized among your peers, a currency sometimes referred to as "ego boo". Though Xamarin has its roots in open source in a big way, it's a business, one that must profit from the work of its many simians, whose number continues to grow. The direction they have chosen to attain that profit speaks directly to the niche they've carved for themselves.
Though underlying platforms to which Xamarin provides lease are a moving target; living, breathing platforms themselves, they are being updated continuously and updating end-user expectations just as often. So, Xamarin's tools will never be done, and therefore they sell a perpetual license to use their tools with only a year of free updates to the same. This is a healthy, virtuous model that mirrors customer expecations.
Xamarin sells tools to target a platform, one I'll continue to refer to as "CLI everywhere else that matters". Microsoft sells platforms with tools that support and enrich them. Xamarin's profit motive is based on ensuring its customers have the broadest reach with their toolset as possible. Microsoft's profit motive is based on vendor lock-in.
Granted, if you've written a lot of code targeting Xamarin.iOS or Xamarin.Android, you don't have any other options (at the moment) to take that code to market. However, Xamarin has built their business around making sure you'll buy the next version of their tools, something you'll have to do when the platforms change. The relationship is symbiotic, not subordinate. (Apple is a fiefdom. Azure is a platform.)
The real sweet spot for Xamarin are companies building "universal" applications. If you need a non-trivial client on several platforms (including iOS, Android, Windows, Windows Phone, and Mac OSX), Xamarin is your best and only option. They had a scare some time ago when Apple changed their iOS terms to preclude apps from the AppStore that hadn't been written with a C/C++ compiler. They recanted, but one could imagine a similar dust-up should Microsoft acquire Xamarin. Today Xamarin occupies a similar role as Adobe, a tool vendor. As long as they remain such, it's a safe bet to build your applications with their tools.
Central to all of this discussion is the CLI and C#. From early days the CLI was an ECMA standard, and a FreeBSD implementation existed as far back as I can recall, as more of an academic exercise. With Xamarin's work, the CLI is a commercially viable substrate on a much broader spectrum of devices, essentially validating the work done by the great folks within (and around) Microsoft who created such a powerful and imminently implementable language infrastructure.
A fairly modern language with open implementations, a well-defined standard, in a general sense unencumbered by IP baggage, and a huge user base, C# stands strong facing the future. Continued investment in it seems a good hedge against the the invariable volatility in the technology sector; Xamarin will provide the leverage.

