Microsoft's announcement during last week's Build 2016 developer conference was not unexpected. I thought it was coming in 2014 when Microsoft announced an official collaboration with Xamarin, after several years of promoting Xamarin as an excellent way for Windows developers to target iOS and Android platforms.
That 2014 announcement resulted in Xamarin's tools being included in the Visual Studio 2015 installer, but even so, the Xamarin licenses for all but basic apps were still an additional fee, and certainly very high for independent developers or small businesses.
Microsoft's announcement last week now sees Xamarin - wholly owned by Microsoft - fully included in Visual Studio and no further fees. If your team has Visual Studio licenses, it now has Xamarin too. This is included with all levels of Visual Studio from Community through Enterprise editions and is truly terrific news for developers worldwide.
Sam Basu of Telerik argues this fulfills the promise Xamarin held since its inception that Microsoft-based .NET developers could go cross-platform without any expensive retraining, relearning, or retooling.
Basu states the seeds behind Xamarin's success were sown some time back, even before Microsoft actively sought to make the .NET framework an operating system-agnostic platform. These seeds took form as the Mono project, which was an open source implementation of .NET and commenced in 2001 but did not have a stable release until 2004. The aim was to clearly move the .NET framework from the one-vendor solution into a wide and portable standard for a number of platforms and operating systems.
As mobile devices and mobile apps gained explosive popularity in the last nine years two implementations of Mono gained a lot of traction - Mono for Android and MonoTouch for iOS. Again, the goal was to enable .NET developers to build true native apps on non-Microsoft platforms leveraging existing skills.
These projects then led directly to Xamarin, which began life promising .NET developers a way to write mobile apps in the C# language they know, and have them compiled down to native, cross-platform apps. The magic happens in the underlying Mono layer which translates the shared C# code to native API code for the platform on which it runs.
By using Xamarin, integrated with Visual Studio, C# developers can genuinely target Microsoft Windows, Mac OS X, iOS, Android and Windows Phone platforms. This eliminates the large gap in skills and knowledge that even a very experienced C# developer has when trying to use unfamiliar tools and languages as originally required by the non-Microsoft environments.
In addition to familiarity and reducing barriers, Xamarin made smart sense. Abstracting away shared business logic into C# code meant the development time to release an app on a new platform was reduced, as well as subsequent maintenance.
So, Microsoft has now acquired Xmaarin. Basu states the Xamarin inclusion allows Microsoft to close the loop and extend the promise of cross-platform compatibility to C# developers.
What this means is:
1. Xamarin is now part of the Visual Studio family, and all Visual Studio developers have complete access to it.
2. Xamarin is free for all Visual Studio users.
3. Xamarin Studio for Mac is also now available free for Visual Studio Professional or Enterprise subscriptions.
4. A new lightweight Xamarin Studio Community Edition is available for free on Mac for those not using Visual Studio Professional or Enterprise
5. The Xamarin core runtime is now open-source with some proprietary, mobile-specific improvements to the Mono runtime
6. Xamarin Insights is joining with HockeyApp to bring app insights/debugging issues to a wider audience and enable better DevOps workflows.
Basu notes Telerik's rich developer tools are available in a Xamarin UI control set, allowing developers to use its components with confidence they will render as appropriate on iOS or Android.
"Telerik lauds Microsoft's decision to democratise Xamarin tooling for developers," Basu says. "We are excited about the promise of true cross-platform mobile apps from .NET developers and look forward to providing Xamarin developers with the world class UI they have come to expect from Telerik."