Microsoft has acquired Xamarin. It has finally happened, and while a few years back this would have been horrifying news, I’m actually OK with it now.
This news is exciting for a few different reasons. It raises many questions, and opens up a whole ton of possibilities for .NET development in a multi-platform world.
While I can only speculate as to what plans Microsoft has in store for Xamarin, this can mean big things for cross-platform mobile development in Visual Studio. Xamarin’s mid-range price tier already had support for Visual Studio, but with the way Microsoft has been pushing VS Community, it’s not unfathomable to think that we could see cross-platform become a part of VS… for free.
.NET and Mono
This acquisition puts mono in a somewhat awkward spot. I’ve got my fingers crossed that this deal means we’ll see .NET/C# proper go multi-platform. That doesn’t necessarily spell doom for Mono, which is open source, but it definitely relegates it to niche status, as its primary appeal is that it runs on operating systems not called Windows.
Xamarin studio will continue to have a place in the world so long as Visual Studio continues to be Windows exclusive. It will be interesting to see which way Microsoft goes with it, though. Unlike Visual Studio Code, Xamarin Studio is a full-fledged IDE, and while it’s a viable IDE for OSX users, it sort of muddies up the branding for Microsoft.
As Microsoft continues to cozy up to Unity Technologies, many people are waiting for what seems to be the inevitable headline: “Microsoft acquires Unity Technologies”. It’s not the first time these rumors have come up. Similar stories popped up here and there about interest from Adobe and Autodesk, and those ultimately fizzled away. With that said, neither of those companies had as close a relationship as Microsoft and Unity Technologies do. It’s also not far-fetched to think of the Xamarin move as one piece in the “acquire Unity” puzzle. Visual studio already comes with Unity on Windows, and MonoDevelop (basically Xamarin Studio) already comes with the OSX version. Unity has been working hard on IL2CPP which could mean an easier move to a hypothetical multi-platform .NET. Hell, even a Mono upgrade could realistically be in the cards at this point.
So what do you think? Is this good news or bad news?