News

Microsoft Open Sources Xamarin Runtime, Bundles It Free in Visual Studio

Microsoft today announced it was open sourcing the technology behind its newly acquired Xamarin cross-platform mobile app development software, along with making Xamarin freely available in Visual Studio, including the Community Edition.

Xamarin's cross-platform technology lets developers build one codebase in C# that can be used to create native mobile apps targeting the iOS, Android and Windows OSes. Microsoft announced the acquisition of Xamarin last month and just closed the deal 13 days ago.

"Starting today, we're going to be making Xamarin available at no extra charge to every Visual Studio customer," Microsoft exec Scott Guthrie said in the keynote address opening up day two of its Build conference in San Francisco. "This includes developers using Visual Studio Enterprise Edition, this includes developers using Visual Studio Professional Edition, and this also includes developers using the free Visual Studio Community Edition. MSDN subscribers will also get Xamarin Studio on the Mac as part of their MSDN subscription, and we're also today releasing a new free edition of Xamarin Studio on the Mac that we call Xamarin Studio Community Edition, which is available with a full feature set for every independent developer and small team out there to build great apps."

After a round of rousing applause that made Guthrie smile, he teased, "But wait, there's more!" That "more" was yet another move down Microsoft's startling path to open source interoperability: the open sourcing of the Xamarin runtime.

"Like we've already done with ASP.NET, Entity Framework, C#, Roslyn and the core .NET runtime, we're also going to be making Xamarin's core platform open source and contributing it as part of the .NET Foundation," Guthrie said. "This means everything you need to run a Xamarin app on any OS, any device, is now open source, and we think this makes Xamarin an even more attractive platform to do native mobile development. It also means that .NET now is fully open source, fully cross-platform, and it's a development framework that can be used to build applications on any device and on any back-end operating system."

Although Guthrie's presentation focused on the Xamarin runtime, a Microsoft news release said the company was committed to "to open source the Xamarin SDK, including its runtime, libraries and command-line tools, as part of the .NET Foundation in the coming months." Microsoft said it's also making Xamarin Studio for OS X available for free as a community edition. It can be downloaded here.

In a Hacker News post, Xamarin co-founder Nat Friedman apparently said not all components of Xamarin would be open sourced, with plug-ins Xamarin.Android, Xamarin.iOS, Xamarin.Mac and Xamarin-Branding exempt from the process. "Those plug-ins won't be open sourced," said a commenter with the handle "natfriedman." "We're releasing the Xamarin runtime and all the command-line tools you need to build apps, but we're going to keep some of the IDE stuff proprietary."

During his keynote presentation, Guthrie invited to join him on stage the other co-founder of Xamarin, Miguel de Icaza, who announced to the crowd that he was excited to join Microsoft "and also complete the longest job interview of my career" (a line that didn't get as much audience reaction as it should have but appeared to make Guthrie laugh).

De Icaza demonstrated how the Xamarin team has leveraged Roslyn -- which provides open-source C# and Visual Basic compilers with rich code analysis APIs -- to create iOS and Android apps in Visual Studio and see code updates instantly reflected in iOS and Android emulators.

Creating an iOS Map App in Visual Studio with Xamarin
[Click on image for larger view.] Creating an iOS Map App in Visual Studio with Xamarin (source: Microsoft)

"We're very excited about this," de Icaza said. "It's markdown, Roslyn, C# all targeting Android, iOS and Windows." He also demonstrated a brand-new approach to providing Xamarin documentation within Visual Studio, again using Roslyn. The documentation provided code snippets, guides, examples and exercises to help developers new to the cross-platform Xamarin approach learn the multitude of APIs it makes available.

"For mobile developers, this is the most important announcement to come out of Microsoft Build," said IDC analyst Al Hilwa, commenting on the Xamarin news in an e-mail to ADTmag. "A couple of decades ago Microsoft disrupted the application development world as Visual Basic evolved to be a low-cost tool for the development of run-time free Windows apps. Few remember this, but it turned the app dev software tooling world on its end, which was then expensive environments and compilers with hefty runtime licenses for developing big iron apps. Today, Microsoft is doing something similar to the cross-platform mobile development by turning Xamarin into effectively a free product and putting the runtime in open source."

IDC earlier said the Xamarin acquisition provided vital ammunition for Microsoft in the cross-platform dev wars.

"Microsoft's emerging cross-platform toolchain will compete with Apple's and IBM's efforts to put forward the Swift language, now also in open source, as the alternative for cross-platform development," IDC said in a February research note. "This is a highly valuable ecosystem that Microsoft can continue to keep focused on its skill-set and potentially turn to Universal Windows Apps developers that also target Windows 10. Xamarin also brings along its investment in mobile device testing, putting Microsoft at the heart of an important highgrowth area of software development tools."

Friedman provided more insights on the news in a blog post today, wherein he also announced Xamarin was contributing the Mono Project to the .NET Foundation, "an an independent forum to foster open development and collaboration around the growing collection of open source technologies around the .NET development framework." Mono, sponsored by Xamarin, is an open source implementation of the .NET Framework. It's based on the ECMA standards for C# and the Common Language Runtime.

"With these changes, .NET is now open source and native on every single device, from mobile to desktop to cloud," Friedman said. "This is a proud moment for all of us who have invested years into making .NET the best platform, and we know that this change will make it even easier for developers to invest their own time into building great software in C#."

You can read more about the Xamarin news at our sister publication, Redmond Magazine.

About the Author

David Ramel is an editor and writer for Converge360.