Xamarin

Xamarin is a Microsoft-owned San Francisco-based software company founded in May 2011 by the engineers that created Mono, Xamarin.Android (formerly Mono for Android) and Xamarin.iOS (formerly MonoTouch), which are cross-platform implementations of the Common Language Infrastructure (CLI) and Common Language Specifications (often called Microsoft .NET).

With a C#-shared codebase, developers can use Xamarin tools to write native Android, iOS, and Windows apps with native user interfaces and share code across multiple platforms, including Windows, macOS, and Linux. According to Xamarin, over 1.4 million developers were using Xamarin's products in 120 countries around the world as of April 2017.

On February 24, 2016, Microsoft announced it had signed a definitive agreement to acquire Xamarin.

Microsoft ended support for Xamarin on May 1, 2024 in favor of .NET MAUI.

Origins in Ximian and Mono
In 1999 Miguel de Icaza and Nat Friedman launched what eventually became known as Ximian to support and develop software for de Icaza's nascent GNOME project. After Microsoft first announced their .NET Framework in June 2000, de Icaza began investigating whether a Linux version was feasible. The Mono open source project was launched on July 19, 2001. Ximian was bought by Novell on August 4, 2003, which was then acquired by Attachmate in April 2011.

After the acquisition, Attachmate announced hundreds of layoffs for the Novell workforce, including Mono developers, putting the future of Mono in question.

Founding Xamarin
On May 16, 2011, Miguel de Icaza announced on his blog that Mono would be developed and supported by Xamarin, a newly formed company that planned to release a new suite of mobile products. According to de Icaza, at least part of the original Mono team had moved to the new company.

The name Xamarin comes from the name of the Tamarin monkey, replacing the leading T with an X. This is in line with the naming theme used ever since Xamarin was started.

After Xamarin was announced, the future of the project was questioned since MonoTouch and Mono for Android would now be in direct competition with the existing commercial offerings owned by Attachmate. It was not known at that time how Xamarin would prove they had not illegally used technologies previously developed when they were employed by Novell for the same work.

In July 2011, however, Novell – now a subsidiary of Attachmate – and Xamarin announced that Novell had granted a perpetual license to Xamarin for Mono, MonoTouch and Mono for Android, and Xamarin formally and legally took official stewardship of the project.

Product development
In December 2012, Xamarin released Xamarin.Mac, a plugin for the existing MonoDevelop Integrated development environment (IDE), which allows developers to build C#-based applications for the Apple's macOS operating system and package them for publishing via the App Store.

In February 2013, Xamarin announced the release of Xamarin 2.0. The release included two main components: Xamarin Studio, a re-branding of its open-source IDE Monodevelop; and integration with Visual Studio, Microsoft's IDE for the .NET Framework, allowing Visual Studio to be used for creating applications for Android, iOS and Windows.

Funding
On July 17, 2013, Xamarin announced that they had closed $16 million (~$ in ) in Series B funding led by Lead Edge Capital. Several investors from their Series A funding also participated, including Charles River Ventures, Floodgate, and Ignition Partners. On August 21, 2014, Xamarin successfully closed an additional $54 million (~$ in ) in Series C funding, which is one of the largest rounds of funding ever raised by a mobile app development platform. As of August 2014 the total funding for the company was $82 million (~$ in ).

Acquisition
On February 24, 2016, Xamarin and Microsoft announced that Microsoft signed a definitive agreement to acquire Xamarin. Terms of the deal were not disclosed, though the Wall Street Journal reported the price at between $400 million and $500 million.

Microsoft subsidiary (2016–present)
At Microsoft Build 2016 Microsoft announced that they will open-source the Xamarin SDK and that they will bundle it as a free tool within Microsoft Visual Studio's integrated development environment, and Visual Studio Enterprise users would also get Xamarin's enterprise features free of charge. As a part of the acquisition they would also relicense Mono completely under the MIT License and would release all other Xamarin SDK software through the .NET Foundation also under the MIT License.

Xamarin platform
The Xamarin company produces an open source software platform by the same name, and Xamarin 2.0 was released in February 2013. Xamarin extends the .NET developer platform with tools and libraries specifically for building apps for Android, iOS, tvOS, watchOS, macOS, and Windows (UWP) primarily with C# in Visual Studio. Developers can re-use their existing C# code, and share significant code across device platforms. Several well-known companies including 3M, AT&T, and HP have used the platform to create their apps. Xamarin integrates with Visual Studio, Microsoft's IDE for the .NET Framework, and subsequently is available for use by macOS users through Visual Studio for Mac. Xamarin also released a component store to integrate backend systems, 3rd party libraries, cloud services and UI controls directly into mobile apps.

Xamarin.Forms
Introduced in Xamarin 3 on May 28, 2014, and allows one to use portable controls subsets that are mapped to native controls of Android, iOS and Windows Phone. Windows Phone was deprecated and removed in favour of UWP.

It is also possible to target other different platforms such as Tizen (by Samsung), GTK (Linux), WPF and macOS even though they have stayed in Preview.

This system uses XAML. Microsoft has modified this framework to work with the Universal Windows Platform.

Microsoft enables native mobile development with Blazor. Mobile Blazor Bindings allow developers to build native Android and iOS using C#, .NET, and web programming patterns.

.NET MAUI
At Microsoft Build 2020, Microsoft announced that Xamarin.Forms was going to be merged into .NET 6 as .NET Multi-platform App UI (.NET MAUI). .NET MAUI adds macOS support via Mac Catalyst.

On May 23, 2022, during Microsoft Build 2022, .NET MAUI was released. Microsoft stated that they will continue supporting Xamarin until it is fully replaced by .NET MAUI in May 2024.

Xamarin Test Cloud
Xamarin Test Cloud makes it possible to test mobile apps written in any language on real, non-jailbroken devices in the cloud. Xamarin Test Cloud uses object-based UI testing to simulate real user interactions.

Xamarin for Visual Studio
Xamarin is a .NET developer platform made up of tools, programming languages, and libraries for building many different types of applications. Xamarin supplies add-ins to Microsoft Visual Studio that allows developers to build Android, iOS, and Windows apps within the IDE using code completion and IntelliSense. Xamarin for Visual Studio also has extensions that provide support for the building, deploying, and debugging of apps on a simulator or a device. In late 2013, Xamarin and Microsoft announced a partnership that included further technical integration and customer programs to make it possible for their joint developer bases to build for all mobile platforms. In addition, Xamarin now includes support for Microsoft Portable Class Libraries and most C# 5.0 features such as async/await. CEO and co-founder of Xamarin, Nat Friedman, announced the alliance at the launch of Visual Studio 2013 in New York.

Xamarin is useful in developing iOS and Android apps.

On March 31, 2016, Microsoft announced that they were merging all of Xamarin's software with every version of Microsoft Visual Studio including Visual Studio Community, and this added various Xamarin features to come pre-installed in Visual Studio such as an iOS emulator.

Xamarin Studio
At the time of its release in February 2013, Xamarin Studio was a standalone IDE for mobile app development on Windows and macOS, as part of Xamarin 2.0 based on the open source project MonoDevelop. In addition to a debugger, Xamarin Studio includes code completion in C#, an Android UI builder for creating user interfaces without XML, and integration with Xcode Interface Builder for iOS app design.

On Windows Xamarin Studio is now deprecated and was replaced with Xamarin for Visual Studio. On macOS Xamarin Studio is still in development, but was rebranded in 2016 as Visual Studio for Mac.

Xamarin.Mac
Xamarin.Mac was created as a tool for Apple technology application development using the C# programming language. Xamarin.Mac, as with Xamarin.iOS and Xamarin.Android, gives developers up to 90% of code reuse across Android, iOS and Windows. Xamarin.Mac gives C# developers the ability to build fully native Cocoa apps for macOS and allows for native apps that can be put into the Mac App Store.

.NET Mobility Scanner
Xamarin's .NET Mobility Scanner lets developers see how much of their .NET code can run on other operating systems, specifically Android, iOS, Windows Phone, and Windows Store. It is a free web-based service that uses Silverlight.

RoboVM
In October 2015 Xamarin announced that they had acquired the Swedish RoboVM for Java developer platform akin to its offerings, the reason stated by Xamarin for the acquisition was that if they developed a Java-based platform from the ground up, their end product would be similar to RoboVM so they acquired the company instead; as a result RoboVM operates independently of the Xamarin team. RoboVM enables developers to build Java apps for iOS and Android with fully native UIs, native performances, and all Java apps have the complete access to the APIs of each developer platform.

In April 2016 Microsoft announced that they would discontinue RoboVM and cease all subscriptions after April 30, 2017.

BugVM, a fork of RoboVM was created to maintain the free open source status.

Acquisitions

 * In 2013, Xamarin acquired the mobile application testing platform LessPainful.
 * In 2015, Xamarin acquired the Java application development platform RoboVM.