Eric Maurer – [Consultant – Applications Solutions Group]
Things have been changing recently within the Microsoft ecosystem. You no longer have to decide to be a Microsoft shop or embrace anything but Microsoft. They are fulfilling their original promise for .NET to be a platform that can be written anywhere and run anywhere. Microsoft has now embraced open source, blurring the lines between the two camps. At a recent user group meeting, I talked to users who were running Linux Bash on Windows 10, installing Microsoft SQL server on Linux, and developing iOS and Android applications using C#. You can also now run Linux on Azure, and since the .NET Core has been open sourced, you can now run ASP.NET on Linux or Mac as well.
Being a mobile developer, I was ecstatic to learn of their newest acquisition and open source release: Xamarin.
No, Xamarin is not the latest drug being pushed on late night commercials. It is a software company that allows you to deliver native iOS, Android, and Windows apps using your existing .NET skills, teams, and code. Xamarin was founded over four years ago with a mission to make native mobile development fast and easy. They wanted to allow C# developers to share their code across platforms to reach billions of devices. Those four years have been highly successful for them, as they boast having over 1.3 million developers and 15,000 companies using their software to develop apps across the Apple, Google, and Microsoft ecosystems.
Rumors have been circulating for years about a Microsoft acquisition of Xamarin. First, they worked together to create tight integration with Visual Studio, and Microsoft undoubtedly helped develop the Mono framework now maintained by Xamarin, if only unofficially. Next, they worked together to offer a limited Start Edition free with Visual Studio and discounts and training through Xamarin University for MSDN subscribers. Yet they stayed two separate companies until February 24, 2016, when Microsoft announced it had signed an agreement to acquire Xamarin.
Keller Schroeder has been using Xamarin for over three years and has employed it to develop apps for iOS, Android, and Window Phone. Xamarin enables us to take advantage of the productivity and power of .NET and to use C# to write to the full set of native APIs and mobile capabilities provided by each device platform. Depending on how you architect your solution, you can realistically obtain 80% or more code reuse between apps. Having one code base reduces the chance for errors and makes same day deployments much more feasible. It also allows for a faster ramp up for new developers and makes maintenance much easier, as changes often only need to be made in one place. Xamarin is also dedicated to providing same day updates with new iOS and Android releases so new features are available at the same time as they are to native developers.
“Everything you need to run Xamarin apps on any OS, any device, is now open source,” Scott Guthrie, executive vice president of the Cloud and Enterprise Group at Microsoft, declared at the Build conference. What does that mean to us? Let’s start with the obvious reason: it is now free with Visual Studio! Though it doesn’t take long to recoup your money, Xamarin wasn’t cheap and licensing was sometimes confusing. What I think is really more important is that Microsoft has already taken steps to tighten Xamarin integration with Visual Studio and Azure. Their goal is to allow Visual Studio to easily connect to your Mac and for your app to communicate seamlessly with Azure. They are also unveiling new Xamarin.Forms enhancements to allow for a shared UI and adding a Test Recorder in Visual Studio to make creating unit tests easier as well. Having Microsoft fully behind Xamarin is going to solidify its position as the best option for cross platform native apps well into the future.