Microsoft's mobile future is cross platform with Xamarin
This is an interesting move and big news in the Xamarin community, but frankly not an unexpected one. People have been speculating for years about Microsoft buying Xamarin, especially since Miguel appeared prominently in the Microsoft //build keynotes these past few years. For both parties, it seems the best possible way forward.
It’s no secret that Microsoft has been struggling to keep up in the mobile space, with Windows Phone/Mobile. Dramatic reports about Windows Phone’s “demise” were all over the blogs and forums in the past few months. It still remains to be seen wether Windows 10 Mobile can make a dent in the universe. If Continuum takes off and gets some good apps in the Store, it might play a nice role for knowledge workers in the enterprise. Still, in these modern times, employees expect consumer grade experiences and that includes being able to bring the mobile device of their own choice to the workplace: Bring Your Own Device. And frankly, that market is taken by Android and iOS.
Microsoft acknowledged this when CEO Satya Nadella announced their new Cloud First, Mobile First strategy last year, immediately followed by the introduction of Office Mobile… for iOS!
Azure is the most important horse Microsoft is betting on and that platform is shaping up quite nicely. Just last Tuesday we did a deep dive on Azure Service Fabric with the Xpirit guys and wow, it’s a nice platform. For mobile apps, there have been some interesting gems in the platform for years as well.
In order to push Azure forward, Microsoft has to make it dead simple to make apps for all platforms and connect them to their cloud. What better way than with the Xamarin stack? Quality native apps with one the most productive programming languages in the industry! Not to mention the rich ecosystem of Nuget packages and .NET API’s out there to bootstrap your app development. If I can leverage Azure yet still target the most relevant mobile OS-es in the market, than that’s awesome. And that is what counts for both developers and companies targeting employees en consumers with their apps. And maybe, just maybe, this may even help push developers to leverage the tools and programming model to start targeting their apps for Windows Mobile as well, giving that platform another push.
It’s as if Microsoft is saying “OK, we’ll leave mobile to the pros, we have the cloud and tools pros” 🙂 And why not? This is a perfectly fine execution of the Cloud First, Mobile First strategy. Mobile can mean iOS and Android just as well, as long as the Cloud is still in Azure as far as Microsoft is concerned. They set the example themselves by delivering a top notch iOS version of the Office suite.
All of this is an interesting culmination of some of the things that have been happening in the Microsoft ecosystem. After Nadella took the helm, Microsoft has become more open and collaborative towards other technologies and platforms. We can develop and run ASP.NET on a Mac nowadays using the new .NET Core and Visual Studio Code. In that regards, Mono has always lead the way that Microsoft is now following, and thats a good thing. To think that those same Mono guys are now the ones to bring Microsoft to a true cross platform mobile world is just great.
What to expect?*
*So what’s next? Well, here’s my take…
*Better Xamarin adoption
*First of all I expect this to remove a lot of constraints that we sometimes encounter with enterprises that are looking to do mobile. Should we trust a relatively small vendor like Xamarin? This was a huge problem in the early days, and has gotten better as Xamarin built up their track record. The technology sells itself easily, but what about the risks? And then the pricing… sure you can make an easy calculation that shows how quickly you earn back the license costs due to the increased developer productivity, but frankly Xamarin Platform, Xamarin Insights and Xamarin Test Cloud were perceived as pretty expensive. I expect that the Xamarin tools will be incorporated into the MSDN suite and included in the price. For Xamarin, their license fee was their bread and butter. MSDN is a means for Microsoft to push their cloud offering, so the tables are turning in that regards. Good news for developers, especially the independent ones!
Test Cloud and Xamarin Insights will be incorporated in the Azure offering. Given the much bigger scale at which Microsoft can operate, prices can be much more affordable which make these tools almost a no-brainer. My one pet peeve with Xamarin Insights has always been that it focuses on the mobile app, and doesn’t cover end-to-end (server side) monitoring. But the dashboard is much more comprehensive and mobile optimized (obviously) than what Microsoft’s Application Insights has to offer. With HockeyApp on board, and now Xamarin Insights, the best of multiple worlds can be brought together.
*Furthermore, I expect a lot from the Mono and .NET teams joining together. Microsoft is already dipping its toes in cross platform development, and Xamarin now brings a full blown development stack for .NET (well, Mono) for native iOS, native Android, native Mac AND Linux! Microsoft can leverage the Mono experience to push .NET ahead and over time, that same .NET framework will be what’s under the hood of the Xamarin tool chain.
*Xamarin Studio, Xamarin’s IDE on the Mac is shaping up to be a pretty solid tool. It’s still my favourite IDE when building mobile apps. Visual Studio feels too bloated to me compared to Xamarin Studio and doesn’t give me the best performance when I’m developing inside my Windows image in Parallels. At the same time, Microsoft is working on their Visual Studio Code offering, the cross platform development IDE. It’s still pretty limited, but if they can leverage the Xamarin Studio foundation to make it a full blown Mac based IDE for mobile apps, I’m all for it!
Given their efforts on Visual Studio Code, I don’t think Microsoft will discontinue Xamarin development on the Mac and force users to Windows/Visual Studio.
*Xamarin.Forms and UWP
*At Xpirit we’ve been contemplating about what Microsoft’s strategy would have to be in order to stay relevant in Mobile, and push their Azure cloud. UWP is an interesting application model and Xamarin.Forms has a similar premise for delivering universal but native apps on all platforms. I think it would be natural if UWP and Xamarin.Forms are brought together to make a truly universal application model for native apps. In that sense, Xamarin.Forms can be seen as the groundwork for future editions of UWP. I do hope however, that it will still be possible to target the native SDK’s and API’s as is the case with the Xamarin Platforms. Sometimes you just want to make a Storyboard and hook up your outlets to a UIViewController 🙂
And frankly, as Xamarin.Forms itself has already proven, you just can’t get away with just the UI abstractions in order to deliver quality apps. Knowledge of the underlying platform is still relevant and flexibility to reach out into native code is still needed. Only making UWP available as a programming model will be just as bad as the Cordova/PhoneGap type offerings.
*Microsoft Bridges for Android and iOS
*Microsoft has two initiatives out there, announced at //build last year: Microsoft Bridge for iOS (WinObjC) and the Microsoft Bridge for Android. Both technologies enable developers to run native iOS/Android apps on Windows. I’ve blogged about this at the time, and I still think this is a bad idea for the user experience. I understand where Microsoft is coming from but I have good hope that they are now turning around and facing their development platform towards iOS and Android instead of trying to bring iOS and Android into their own OS in order to fill the app gap.
*With all these tools and technologies coming together, Microsoft’s offer for full stack application development an a holistic end-to-end continuous delivery cycle looks very promising for developers and businesses.
It’s exactly for this reason why the pillars we founded Xpirit on in 2014 are Cloud, Mobile and ALM. Cloud first, Mobile first and an all encompassing vision on Application Lifecycle Management around that. We have deep knowledge about architecting and building systems for Azure, and mobile apps using Xamarin. We’ve been working with Xamarin since even before they were Xamarin.
[#Xamarin timeline. Proud to have been along for the ride since even before that first dot 👍](https://www.instagram.com/p/BA-Ae6nmXeD/) A photo posted by Roy Cornelissen (@roycornelissen) on
I’m looking forward to all the new challenges that will come our way.
One thing I do hope though, is that this won’t be the end of the Xamarin style conferences… Evolve is a real joy and I’m looking forward to this year’s edition. Let’s hope this is not the last one, or at least that Xamarin brings their fun and coolness to Microsoft.
*This has been a long time coming…
Don Box tried to persuade Miguel de Icaza in 2003 to come to Microsoft in his rendition of the classic Beatles song “Michelle”, now dubbed “My Miguel”. Miguel played hard to get for 13 years but as Clemens Vasters tweeted yesterday:Partly true I guess… I think the mission has only just begun…