Today I was giving a talk at a conference that was as introduction to cross-platform development with Xamarin. Amongst the questions I was asked was whether learning to use Xamarin was a good long term decision. Technologies don't stick around forever. Silverlight has come and gone, WPF isn't getting much love or interest and the products of some companies get shut down once acquired.
Here are my thoughts:
- The Xamarin platform isn't a competitor to any of Microsoft's own products, it's a compliment. That's one of the reasons so many people were expecting/hoping that Microsoft would buy them.
- We are very much in a multi-platform / operating system world. Microsoft recognise this and are building lots of their platforms and services with this in mind. By providing tools for building apps for all platforms they keep their own (Windows) in the mix.
- Mobile apps use a lot of external services. When developers are already building apps using Microsoft's tools for their apps it follows that they're more likely use Azure to host their services.
- Microsoft also has their own services like parts of Azure, HockeyApp and (Xamarin) TestCloud which are valuable to app developers and can make money for Microsoft. Having app developers using Microsoft's tools for building apps should lead to them being more likely to use their other services with their apps.
Of course, there's no way to know the future and Microsoft haven't announced any public roadmaps for what they're planning but I expect to be using it a lot more in the future.