What Microsoft’s multi-platform strategy means for mobile app developers
Xamarin makes it fairly straightforward for Windows developers to take their existing C# code and after some modifications compile it into native Android, iOS and Windows 10 Mobile apps with native interfaces.
"This is not for people who write iOS or Android apps, but if you are a corporate Windows developer and you have held back on mobile applications, now you have the possibility of building your applications for third party mobile platforms," says Wes Miller, an analyst at Directions on Microsoft.
Jeffrey Hammond, a principal analyst at Forrester Research, says that the Xamarin purchase is a decisive move by Microsoft to ensure that Microsoft development tools remain the platform of choice for huge swathes of corporate developers looking at building mobile apps. That position is under threat because of the failure of Windows 10 Mobile to gain much traction in the market.
"The Xamarin acquisition will ensure people put Microsoft in to the equation," says Hammond. "The reality is that 90 percent or more of the mobile market is iOS and Android. So Microsoft needs dev tool to target those platforms and grow its developer base. Now there is a single stream for Windows 10, tablet, iOS, Android and Windows Phone."
He says that even though there is still a degree of porting work to be done when developers use Xamarin, it does reduce the work required considerably. "Even if 30 percent of the code is specific to each platform and 70 percent is common, that's still a considerable benefit," he points out.
But Xamarin is unlikely to be the savior of Windows 10 Mobile. That's because the fact that there is porting work to be done means some platform prioritization is inevitable - and it's likely that developers will concentrate on producing Android and iOS apps first, he says. Only then will they think about producing a Windows 10 Mobile app - and only if it is judged to be worth the effort.
This in stark contrast to the likely result had the company's Project Astoria – an Android bridge to Windows 10 – been successful. (The project was abandoned months ago and this was confirmed in an announcement in February.)
[Related: How long does it take to build a custom app]
Astoria would have enabled Android apps to run on Windows 10 Mobile devices with little or no modification, and made it easy for Windows 10 Mobile functionality like Cortana or live tiles to have been added to the apps.
The result would likely have been many more apps for Windows 10 Mobile users, giving the platform a welcome boost. But most of these would not have been developed using Microsoft development tools.
So the Xamarin acquisition appears to continuation of the trend that has seen Microsoft pushing its applications (such as Office) onto all significant platforms rather than trying to keep them on Windows to protect its operating system. By adding Xamarin to its development tool catalogue the company is saying that it is happy to help developers develop for any mobile platform – as long as they use Microsoft development tools – rather than trying to protect its Windows 10 Mobile operating system.
Of course Xamarin was available to developers before it was acquired by Microsoft, but many companies were uncomfortable about committing to the platform while it was an independent company, believes Hammond.
"There are a lot of small mobile companies that are not around anymore, and way more companies are targeting this market than there will be long term solutions," he says. "So that has been a concern to many companies – they don't want to spend money (on a development platform) if the vendor is not going to be around for long."
But that's all changed now that Xamarin has moved in to Microsoft's warm embrace. "I think there will be a lot more prototyping done now," he says. "Lots of Microsoft customers will now be able to access Xamarin technology at little or no cost, and that will get Visual Studio development teams interested.
An obvious question then is how Microsoft will make Xamarin available. In the past developers could use Xamarin's own development environment, or access the tools from within Visual Studio. Either way, the Xamarin technology was expensive to use. (Trial functionality was built in to Visual Studio, but developers had to pay to unlock the full functionality.)
[Related: Why Microsoft continues to embrace the freemium model]
Microsoft has not revealed how much it paid for Xamarin but it is likely to have been a considerable sum – possibly as much as $400–$500 million. So it is likely that it will want to recoup some of that from developers rather than just unlocking the functionality in Visual Studio and giving it away for nothing.
"I anticipate that Microsoft will have some form of evaluation or feature limited variant available in Visual Studio," says Directions on Microsoft's Wes Miller. "I think they paid a significant amount for Xamarin and the enterprise dev space continues to be willing to pay, so it could end up being part of Enterprise MSDN (Visual Studio Enterprise) only."
Forrester's Jeff Hammond was unable to comment directly for NDA reasons, saying: "I would be surprised if they don't find a way of getting Xamarin in to MSDN customers. You get free hours on Azure in MSDN…"
(Visual Studio Professional and Test Professional users get $50 of Azure credits a month, while Enterprise users get $150 of credits per month.)
The one unknown in this whole affair is how well Xamarin will do under Microsoft ownership. It's a concern because many developers depend on the platform, and because Microsoft's disastrous acquisition of Nokia and that company's rapid demise is still in the recent past.
The good news is that the two companies have worked together closely for some time, and both Hammond and Miller are optimistic for the future.
"Acquisitions can always go wrong, and ingesting a hardware company is always difficult, says Miller. "But I think Miguel (de Icaza, Xamarin's CTO) will fit in with Microsoft very well, so I think the Xamarin acquisition will be successful," he concludes.