By Jeffrey Hammond, VP, Principal Analyst and Michael Facemire, Principal Analyst at Forrester
Yesterday Microsoft announced that it is acquiring Xamarin. Terms were not disclosed. This move makes Microsoft a must-consider option throughout the stack when it comes to mobile development. For those not familiar with Xamarin, here's what Microsoft is getting:
- Cross-platform native mobile app development, in C#. Xamarin's origins include Mono (remember that?), and it represents the expansion of the .Net runtime to other platforms, including iOS and Android. Developers write C# code that will be natively compiled to these devices, which runs at similar speed as apps written in Objective-C, Swift, or Java.
- Automated acceptance testing for mobile apps. Xamarin develops and maintains the Calabash open source project for mobile acceptance testing. We've seen growing popularity of Calabash amongst enterprise mobile dev teams, especially Global SIs, like those we reviewed in last year's Enterprise Mobile App Services Forrester Waves.
- A device cloud for system and performance testing. The Xamarin Test Cloud automates app testing on more than 2000 real devices in the cloud. We expect to see this service folded into Azure in short order, with a low cost on-demand model to compete with Amazon Device Farm, Google Cloud Test Lab, and PerfectoMobile.
- On device analytics to measure mobile apps. Measuring apps is just as important as building them. While the importance of analytic instrumentation is still a work in progress for many enterprise developers, experienced mobile devs get it. Xamarin Insights provides a basic working set of technical and engagement level measures for mobile app dev teams.
- Building apps twice is once too often for enterprise development shops. We still get regular inquiries from clients on "Native vs Web. vs. Cross-platform". And many of these requests come from clients that have already made significant investments in one strategy or the other. The bottom line: very few mobile dev shops are comfortable with their current status quo. Everyone wants native look and feel and speed, but without multiple code bases to maintain. Xamarin gives Microsoft a strong cross-platform front-end development approach that allows mobile teams to have their cake and eat it too.
- Xamarin's biggest sales objection is now removed. In our (frequent) conversations with clients about Xamarin, a recurring question pops up: "Should we trust this highly strategic technology decision to a small vendor?" In the past six months we've seen mainstream buyers become less concerned about this objection as Xamarin has stood up enterprise mobile app case studies, but today's acquisition removes that concern entirely.
- Microsoft gets a better front end development story. Microsoft is well on its way to building a strong mobile infrastructure services portfolio on the back of the Azure public cloud. But the front-end message was a bit jumbled between native + Xamarin or Microsoft's first class Apache Cordova tools. We think this acquisition makes the cross platform approach the preferred one for Microsoft, although it does not signal Microsoft's move away from the web -- Cordova remains an option for app development, and TypeScript is the underlying technology behind AngularJS 2.0, the latest version of the dominant web development framework.
Xamarin is a solid cross-platform mobile app development play if you already have in house .Net skills or have invested in the Visual Studio set of development and application lifecycle tools. The next shoe to drop will be the existing Xamarin partnerships with IBM, Kony, Oracle and SAP. We don't think this acquisition will exclude these prior partners from leveraging Xamarin from a technology perspective; but we also wouldn't be surprised if it altered the attractiveness of the relationship to these firms.
We've previously written about how Satya Nadella has righted Microsoft's ship over the past two years. Now the company is making a strong move to be the development platform of choice for all mobile platforms, not just for Windows 10. Azure now supports multiple languages for back-end cloud development, including NodeJS. Development tooling is *much* more accessible by all audiences, both .Net shops and otherwise thanks to VS Code and lighter-weight Visual Studio development suite offerings.
Microsoft has established a strong set of digital application platform services and developers are responding. This acquisition is yet another sign of the new cross-platform, public-cloud focused Microsoft. We don't expect it will be the last.