Xamarin
View on Wikipedia
Xamarin is a Microsoft-owned San Francisco-based software company founded in May 2011[2] by the engineers that created Mono,[3] 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).
Key Information
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.[4] According to Xamarin, over 1.4 million developers were using Xamarin's products in 120 countries around the world as of April 2017.[5]
On February 24, 2016, Microsoft announced it had signed a definitive agreement to acquire Xamarin.[6]
Microsoft ended support for Xamarin on May 1, 2024 in favor of .NET MAUI.[7]
History
[edit]Origins in Ximian and Mono
[edit]

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,[8] de Icaza began investigating whether a Linux version was feasible.[9] 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.[10]
After the acquisition, Attachmate announced hundreds of layoffs for the Novell workforce, including Mono developers,[11] putting the future of Mono in question.[12][13]
Founding Xamarin
[edit]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 Ximian was started.[14]
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.[15][16]
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.[17][18]
Product development
[edit]In May 2012, Xamarin released XobotOS, an experimental Android implementation using C# instead of Java.[19]
In December 2012, Xamarin released Xamarin.Mac,[20] 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.[21] The release included two main components: Xamarin Studio, a re-branding of its open-source IDE Monodevelop;[22] 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.[23]
Funding
[edit]On July 17, 2013, Xamarin announced that they had closed $16 million (~$21.2 million in 2024) in Series B funding led by Lead Edge Capital.[24] 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 (~$70.3 million in 2024) in Series C funding, which is one of the largest rounds of funding ever raised by a mobile app development platform.[25] As of August 2014 the total funding for the company was $82 million (~$107 million in 2024).[26]
Acquisition
[edit]On February 24, 2016, Xamarin and Microsoft announced that Microsoft signed a definitive agreement to acquire Xamarin.[6][27][28] Terms of the deal were not disclosed, though the Wall Street Journal reported the price at between $400 million and $500 million.[better source needed]
Microsoft subsidiary (2016–present)
[edit]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,[29] 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.[30][31]
Products
[edit]Xamarin platform
[edit]The Xamarin company produces an open source[citation needed] software platform by the same name, and Xamarin 2.0 was released in February 2013.[32] 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[33][34] 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.[22] Xamarin also released a component store to integrate backend systems, 3rd party libraries, cloud services and UI controls directly into mobile apps.[35][36]
Xamarin.Forms
[edit]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.[37] 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.[38]
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.[39]
.NET MAUI
[edit]| .NET Multi-platform App UI | |
|---|---|
| Other names | .NET MAUI |
| Developer | Microsoft |
| Initial release | May 19, 2020 |
| Stable release | 6.0.312
/ May 19, 2022 |
| Preview release | 6.0.300-rc.3.5667
/ May 10, 2022 |
| Repository | github |
| Written in | C# |
| Platform | .NET 6 |
| Type | Widget toolkit |
| License | MIT License |
| Website | docs |
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).[40] .NET MAUI adds macOS support via Mac Catalyst.[41][42]
On May 23, 2022, during Microsoft Build 2022, .NET MAUI was released.[43] Microsoft stated that they will continue supporting Xamarin until it is fully replaced by .NET MAUI in May 2024.[44]
Xamarin Test Cloud
[edit]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.[45]
Xamarin for Visual Studio
[edit]Xamarin is a .NET developer platform made up of tools, programming languages, and libraries for building many different types of applications.[46] 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.[47] 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.[48] In addition, Xamarin now includes support for Microsoft Portable Class Libraries[49] 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.[50]
Xamarin Studio
[edit]At the time of its release in February 2013, Xamarin Studio was a standalone IDE for mobile app development on Windows and macOS,[22] as part of Xamarin 2.0 based on the open source project MonoDevelop.[51] 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.[51][52]
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.[53]
Xamarin.Mac
[edit]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.[54] 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.[55][56]
.NET Mobility Scanner
[edit]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.[57]
RoboVM
[edit]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.[58][59]
In April 2016 Microsoft announced that they would discontinue RoboVM and cease all subscriptions after April 30, 2017.[60]
BugVM,[61] a fork of RoboVM was created to maintain the free open source status.[62]
Acquisitions
[edit]References
[edit]- ^ "Announcing Xamarin". Miguel de Icaza. Archived from the original on May 18, 2011. Retrieved May 16, 2011.
- ^ a b Binstock, Andrew (June 11, 2011). "NET Alternative in Transition". InformationWeek. Archived from the original on December 7, 2011. Retrieved March 18, 2012.
- ^ Miguel de Icaza (May 16, 2011). "Miguel de Icaza". Archived from the original on May 18, 2011. Retrieved May 16, 2011.
- ^ "What is Xamarin?". Archived from the original on February 27, 2014. Retrieved April 1, 2014.
- ^ "About Xamarin". Archived from the original on March 17, 2017. Retrieved April 23, 2017.
- ^ a b "Microsoft to acquire Xamarin and empower more developers to build apps on any device". Official Microsoft Blog. February 24, 2016. Archived from the original on February 24, 2016. Retrieved February 24, 2016.
- ^ "Xamarin official support policy | .NET". Microsoft. Retrieved June 5, 2024.
- ^ "Microsoft sees nothing but .NET ahead" Archived November 5, 2011, at the Wayback Machine, Steven Bonisteel, ZDNet, June 23, 2000
- ^ "Mono early history". Mono-list. October 13, 2003. Archived from the original on June 6, 2011. Retrieved May 21, 2011.
- ^ "The Attachmate Group Completes Acquisition of Novell". April 27, 2011. Archived from the original on April 30, 2014. Retrieved April 1, 2014.
- ^ Koep, Paul (May 2, 2011). "Employees say hundreds laid off at Novell's Provo office". KSL-TV. Archived from the original on May 5, 2011. Retrieved May 7, 2011.
- ^ J. Vaughan-Nichols, Steven (May 4, 2011). "Is Mono dead? Is Novell dying?". ZDNet. Archived from the original on May 8, 2011. Retrieved May 7, 2011.
- ^ Clarke, Gavin (May 3, 2011). ".NET Android and iOS clones stripped by Attachmate". The Register. Archived from the original on May 6, 2011. Retrieved May 7, 2011.
- ^ John K. Waters (May 20, 2011). "Interview with Miguel de Icaza". Archived from the original on February 22, 2017.
- ^ "The Death and Rebirth of Mono". infoq.com. May 17, 2011. Archived from the original on May 21, 2011. Retrieved May 29, 2011.
Even if they aren't supporting it, they do own a product that is in direct competition with Xamarin's future offerings. Without some sort of legal arrangement between Attachmate and Xamarin, the latter would face the daunting prospect of proving that their new development doesn't use any the technology that the old one did. Considering that this is really just a wrapper around the native API, it would be hard to prove you had a clean-room implementation even for a team that wasn't intimately familiar with Attachmate's code.
- ^ Matthew Baxter-Reynolds (July 5, 2011). "What now for cross-platform mobile C#?". The Guardian. Archived from the original on April 24, 2016. Retrieved July 15, 2011.
But with a total lack of clarity as to whether Novell will allow Xamarin to sell their new products, or whether agreements exist to facilitate such a scenario, we're left in an unpleasant world of not having a compelling or workable solution for compromise free, multi-platform development.
- ^ "SUSE and Xamarin Partner to Accelerate Innovation and Support Mono Customers and Community". Novell. July 18, 2011. Archived from the original on October 17, 2011. Retrieved July 18, 2011.
The agreement grants Xamarin a broad, perpetual license to all intellectual property covering Mono, MonoTouch, Mono for Android and Mono Tools for Visual Studio. Xamarin will also provide technical support to SUSE customers using Mono-based products, and assume stewardship of the Mono open source community project.
- ^ De Icaza, Miguel (July 18, 2011). "Novell/Xamarin Partnership around Mono". Archived from the original on July 20, 2011. Retrieved July 18, 2011.
- ^ "XobotOS: Un Android en C# en lugar de Java". Muy Linux (in Spanish).
- ^ "Your C# App on 66 Million Macs: Announcing Xamarin.Mac". Xamarin. December 12, 2012. Archived from the original on July 19, 2013. Retrieved July 12, 2013.
- ^ "Announcing Xamarin 2.0". Xamarin. February 20, 2013. Archived from the original on June 27, 2013. Retrieved July 12, 2013.
- ^ a b c "Xamarin 2.0 Review". Dr Dobb's Journal. March 12, 2013. Archived from the original on July 2, 2013. Retrieved July 12, 2013.
Xamarin 2.0 bundles the company's Android, iOS and Mac development tools in a single affordable package
- ^ "12 benefits of Xamarin Cross-platform app development". HeadWorks. March 15, 2019.
- ^ Lardinois, Frederic (July 17, 2013). "Xamarin Raises $16M Series B Round Led By Lead Edge Capital, Passes 20,000 Paid Developer Seats". TechCrunch. Archived from the original on January 20, 2015. Retrieved January 15, 2015.
- ^ Lardinois, Frederic (August 21, 2014). "Cross-Platform Development Platform Xamarin Raises $54M Series C". TechCrunch. Archived from the original on January 19, 2015. Retrieved January 15, 2015.
- ^ Kepes, Ben (August 21, 2014). "Xamarin Raises $54 Million--Because M&A... And Mobile". Forbes. Archived from the original on December 30, 2014. Retrieved January 15, 2015.
- ^ "Breaking: Microsoft acquires Xamarin, a leading platform provider for mobile app development". Microsoft PowerUser. February 24, 2016. Archived from the original on February 27, 2016. Retrieved February 24, 2016.
- ^ Greene, Jay (February 24, 2016). "Microsoft Agrees to Acquire Xamarin Inc. Deal reflects efforts to increase Microsoft software's presence on devices beyond those that run Windows". Wall Street Journal. Archived from the original on February 24, 2016. Retrieved February 24, 2016.
- ^ Taft, Darryl K. (March 31, 2016). "Microsoft Makes Xamarin free in Visual Studio, Open-Sources SDK". eWeek.[permanent dead link]
- ^ Ferraira, Bruno (March 31, 2016). "Xamarin now comes free with Visual Studio". The Tech Report. Archived from the original on April 2, 2016.
- ^ Frank, Blair Hanley (March 31, 2016). "Microsoft shows fruits of Xamarin acquisition with Visual Studio integration". PC World. Archived from the original on April 3, 2016.
- ^ "Xamarin delivers tool for building native Mac OS X apps with C#". ZDNet. December 13, 2012. Archived from the original on April 7, 2014. Retrieved April 1, 2014.
- ^ "Xamarin for Android". Archived from the original on April 23, 2014. Retrieved April 1, 2014.
- ^ "Xamarin for iOS". Archived from the original on March 30, 2014. Retrieved April 1, 2014.
- ^ Peter Bright (February 20, 2013). "Xamarin 2.0 reviewed: iOS development comes to Visual Studio". Archived from the original on April 14, 2014. Retrieved April 1, 2014.
- ^ Mikael Ricknäs (June 25, 2013). "Xamarin tool aims to show the ease with which .NET apps can become mobile". Archived from the original on April 7, 2014. Retrieved April 1, 2014.
- ^ "Announcing Xamarin 3". Archived from the original on March 29, 2019. Retrieved May 31, 2018.
- ^ "Windows Platform Features - Xamarin". docs.microsoft.com.
- ^ Krill, Paul (January 14, 2020). "Microsoft enables native mobile development with Blazor". InfoWorld. Retrieved February 6, 2020.
- ^ "Xamarin Updates From Microsoft Build 2020". Xamarin Blog. May 19, 2020. Retrieved May 28, 2020.
- ^ "Introducing .NET Multi-platform App UI". .NET Blog. May 19, 2020. Retrieved June 4, 2021.
- ^ "dotnet/maui". GitHub. Retrieved May 28, 2020.
- ^ "Introducing .NET MAUI – One Codebase, Many Platforms". May 23, 2022.
- ^ "Xamarin official support policy | .NET". Microsoft. Retrieved April 10, 2023.
- ^ "Xamarin Test Cloud". Archived from the original on April 7, 2014. Retrieved April 1, 2014.
- ^ "Xamarin and Microsoft Announce Global Collaboration". November 13, 2013. Archived from the original on April 7, 2014. Retrieved April 1, 2014.
- ^ "Xamarin Visual Studio". Archived from the original on April 23, 2014. Retrieved April 1, 2014.
- ^ Abel Avram (November 13, 2013). "Developing iOS & Android Apps with C# in Visual Studio". Archived from the original on April 7, 2014. Retrieved April 1, 2014.
- ^ Mikael Ricknäs (November 13, 2013). "Microsoft, Xamarin simplify cross-platform development". Archived from the original on April 7, 2014. Retrieved April 1, 2014.
- ^ Jones, Luke (March 31, 2016). "Build 2016: Microsoft Talks Xamarin, Coming Free to Visual Studio with an iOS Emulator". Winbuzzer News. Archived from the original on April 14, 2016.
- ^ a b "Xamarin Components". Archived from the original on May 6, 2014. Retrieved April 1, 2014.
- ^ Tom Thompson (April 26, 2013). "Review: Xamarin 2.0 works mobile development magic". Archived from the original on April 2, 2014. Retrieved April 1, 2014.
- ^ "Microsoft makes Visual Studio for Mac generally available". ZDNet. Archived from the original on May 16, 2017. Retrieved May 17, 2017.
- ^ Tim Anderson (November 13, 2013). "Microsoft, Xamarin give Visual Studio a leg-up for... Android and iOS?". The Register. Archived from the original on March 20, 2014. Retrieved April 1, 2014.
- ^ John Koetsier (February 20, 2013). "Xamarin debuts Android and iOS app development inside Visual Studio for C# programmers". Archived from the original on April 7, 2014. Retrieved April 1, 2014.
- ^ Darryl K. Taft (December 14, 2012). "Can Xamarin's New Mac Tool Lift C# Above Objective-C?". Retrieved April 1, 2014.
- ^ How mobile is your .NET? Archived June 25, 2014, at the Wayback Machine, Retrieved June 24, 2014
- ^ Butler, Victoria (October 21, 2015). "Xamarin Acquires RoboVM, Now the Only Cross-Platform Mobile Development Company for the Top Two Enterprise Languages. Acquisition provides a path to mobile for 13 million C# and Java enterprise developers". Business Wire. Archived from the original on March 1, 2016.
- ^ Taft, Darryl K. (October 21, 2015). "Xamarin Buys RoboVM, Adds Java to its C# Fold". eWeek.[permanent dead link]
- ^ Anderson, Tim (April 16, 2016). "Embrace, extend – and kill. Microsoft discontinues RoboVM". The Register (Biting the hand that feeds IT). Archived from the original on August 10, 2017.
- ^ "BugVM – We are the BugVM". Archived from the original on August 3, 2016. Retrieved July 1, 2016.
- ^ "BugVM – ibinti". Archived from the original on August 3, 2016.
- ^ Tolentino, Melissa (April 16, 2013). "Xamarin Acquires LessPainful, Introduces Automated UI Testing Platform". SiliconANGLE. Archived from the original on March 7, 2016.
- ^ Butler, Victoria (October 21, 2015). "Xamarin Acquires RoboVM, Now the Only Cross-Platform Mobile Development Company for the Top Two Enterprise Languages". Yahoo! Finance. Archived from the original on October 15, 2016.
External links
[edit]Xamarin
View on GrokipediaHistory
Origins in Ximian and Mono
Ximian was founded in 1999 by Miguel de Icaza and Nat Friedman with the goal of advancing open-source software for Linux desktops, including the development of the Evolution personal information manager and significant contributions to the GNOME desktop environment.[9] The company focused on creating user-friendly tools and applications to enhance Linux's competitiveness against proprietary operating systems.[10] In July 2001, Ximian launched the Mono project as an open-source implementation of Microsoft's .NET Framework, aiming to enable .NET development on Linux and other non-Windows platforms.[11] Sponsored initially by Ximian, Mono included a C# compiler, a Common Language Runtime (CLR), and class libraries compatible with .NET.[12] Following Novell's acquisition of Ximian in August 2003, the company integrated Ximian's teams and continued sponsoring Mono's development under its broader open-source initiatives.[9] Mono achieved its initial stable release, version 1.0, on June 30, 2004, providing full support for the C# programming language and the .NET runtime on Linux systems.[13] This milestone allowed developers to build and run .NET applications natively on Unix-like platforms, marking a significant step in cross-platform .NET compatibility. Over the following years, Mono expanded to mobile ecosystems with the introduction of MonoTouch in 2009 and Mono for Android in 2011, enabling C# development for iOS and Android devices, respectively.[14][15] However, platform policies from Apple and Google restricted the use of just-in-time (JIT) compilation and non-native interpreters, necessitating proprietary static ahead-of-time (AOT) compilation licensing for commercial mobile deployments to comply with App Store and Google Play guidelines.[16] Novell's restructuring in 2011, following its acquisition by Attachmate Corporation, led to the layoffs of the Mono development team and uncertainty for the project's future.[17] In response, key Mono contributors, including de Icaza, transitioned the project's maintenance to the newly formed Xamarin team, ensuring continued open-source development while shifting focus toward commercial mobile tools built on Mono.[16] This handover preserved Mono's role as the foundational runtime enabling subsequent Xamarin products.[18]Founding of Xamarin
Xamarin Inc. was established in May 2011 in San Francisco by Miguel de Icaza and Nat Friedman, both former key members of the Mono development team.[19][20] The company emerged as a dedicated entity to advance open-source .NET technologies for mobile platforms, building directly on the Mono project as its technical foundation.[19] The founding was prompted by Novell's acquisition by Attachmate earlier that year, which resulted in significant restructuring, layoffs among the Mono team, and uncertainty regarding the future support and direction of Mono-related initiatives.[21][20] This corporate upheaval created an opportunity to spin out the mobile-focused efforts, allowing the team to independently pursue commercial development without the constraints of the acquiring company's priorities. From its inception, Xamarin concentrated on developing cross-platform tools that enabled developers to build mobile applications using C# and the .NET ecosystem, specifically targeting iOS and Android while delivering native performance and access to platform-specific APIs.[19] Initially, the company rebranded and commercialized existing Mono for Mobile technologies, with the first public previews of Xamarin.iOS (formerly MonoTouch) and Xamarin.Android (formerly Mono for Android) released later in 2011 to demonstrate shared codebases across platforms.[22][19] Xamarin adopted a dual licensing approach to broaden accessibility, offering a free community edition for individual developers and open-source projects, alongside paid enterprise subscriptions that provided advanced features such as enhanced debugging, profiling tools, and priority support.[23] This model aimed to foster widespread adoption while sustaining commercial growth.[19]Early Product Development
Xamarin was founded in May 2011 by developers experienced in the Mono project, enabling them to leverage existing .NET infrastructure for mobile development.[19] In 2011, Xamarin released its initial iOS offering, rebranded from MonoTouch, which allowed developers to build native iOS applications using C# and the .NET framework.[24] This product addressed iOS's just-in-time (JIT) compilation restrictions by employing ahead-of-time (AOT) compilation, converting managed code into native ARM binaries at build time to ensure compliance with Apple's security policies.[25] Shortly after founding, in 2011, Xamarin began offering Mono for Android, which was later rebranded as Xamarin.Android, providing full bindings to the Android SDK for C# development.[22] This enabled developers to access native Android APIs while sharing business logic across projects, reducing duplication in non-UI code through portable class libraries (PCLs).[26] By 2013, Xamarin introduced version 2.0 of its platform, unifying development tools for iOS and Android within a single IDE environment, including enhanced support for code sharing via shared projects and PCLs.[27] That same year, the company developed the Xamarin Component Store, a marketplace for reusable components such as UI controls and backend integrations, streamlining the incorporation of third-party modules into applications.[28] Xamarin expanded its ecosystem in 2013 with support for Windows Phone, allowing C# developers to target Microsoft's mobile platform alongside iOS and Android using shared codebases.[27] This period also saw early experimentation with cross-platform UI abstractions, laying groundwork for more declarative approaches to shared interfaces across operating systems.[29]Funding and Growth
Xamarin secured its initial significant funding through a Series A round on July 24, 2012, raising $12 million led by Charles River Ventures, with participation from Ignition Partners and Floodgate.[30] This investment supported the company's early expansion in cross-platform mobile development tools. In July 2013, Xamarin raised $16 million in a Series B round led by Lead Edge Capital, with continued support from its Series A investors, bringing total funding to $28 million.[31] The proceeds were primarily allocated to hiring additional engineers and enhancing the platform's capabilities, including improvements to its testing infrastructure. At this stage, the developer community had grown to over 350,000 members, with 20,000 paid seats, reflecting rapid adoption among professional developers.[31] The company's momentum continued with a $54 million Series C round on August 21, 2014, co-led by Charles River Ventures and Microsoft Ventures, alongside Index Ventures, Lead Edge Capital, Floodgate, and Ignition Partners, pushing cumulative funding beyond $82 million.[32] This capital infusion enabled further scaling of operations and product development initiatives. By 2015, Xamarin's user base had expanded to over 1 million registered developers, adding approximately 60,000 users monthly, underscoring its growing influence in the mobile development ecosystem.[33] Key to this growth were strategic partnerships with Google and Apple, securing certifications that validated Xamarin's compatibility with Android and iOS app stores for native performance and distribution.[34] Complementing its financial progress, Xamarin evolved its business model toward subscription-based enterprise licensing, offering tiered plans such as Business and Enterprise editions priced at $999 per developer annually, which included priority support, updates, and integration tools.[35] This shift catered to corporate needs, extending support to embedded systems and IoT devices through .NET compatibility, enabling developers to build connected applications for platforms like Windows IoT Core and Raspberry Pi.[36] The model emphasized perpetual licenses with optional renewals for ongoing access to new releases, fostering long-term enterprise adoption while maintaining a free Starter tier for individual developers.[37]Key Acquisitions
In April 2013, Xamarin acquired LessPainful, a Danish startup specializing in mobile application testing tools, enabling the launch of Xamarin Test Cloud as a rebranded cloud-based platform for automated UI testing across more than 1,000 real devices.[38][39] This acquisition provided developers with access to a remote device lab, supporting cross-platform functional testing via the open-source Calabash framework and reducing the need for maintaining personal device farms for comprehensive app validation.[38] The integration facilitated automated tests with detailed reporting, including screenshots and logs, streamlining quality assurance for iOS and Android applications.[40] In October 2015, Xamarin acquired RoboVM, an open-source tool for compiling Java code to native iOS binaries, for an undisclosed amount, to expand its appeal to the large Java developer community.[33][41] This strategic move enhanced Xamarin's iOS development support by enabling Java-based apps to achieve native performance and full access to iOS APIs, attracting an estimated 5 to 7 million Java programmers to the platform.[33] RoboVM's technology was subsequently integrated into the broader Xamarin.iOS toolkit, bridging the Java ecosystem with native mobile development while improving overall app efficiency.[42] These acquisitions were facilitated by Xamarin's prior funding rounds, which provided the capital for expanding its product ecosystem in testing and cross-language support. Beyond these major deals, Xamarin incorporated smaller teams and technologies focused on analytics and deployment enhancements to further strengthen its mobile development offerings.[43]Acquisition by Microsoft
On February 24, 2016, Microsoft announced it had entered into a definitive agreement to acquire Xamarin, the company behind the popular cross-platform mobile app development platform. The financial terms of the deal were not publicly disclosed, though sources familiar with the matter reported the acquisition was valued at approximately $400 million. The transaction closed in March 2016, pending regulatory approvals.[1][44][45] The acquisition reflected Microsoft's evolving mobile strategy under CEO Satya Nadella, emphasizing a "mobile-first, cloud-first" vision and deeper integration of open-source .NET technologies to attract a broader developer community. Xamarin, with its tools for building native iOS, Android, and Windows apps using C# and shared codebases, served over 1.3 million unique developers and more than 15,000 customers across 120 countries, aligning closely with Microsoft's goal to expand its developer ecosystem beyond Windows. This move built on prior partnerships, such as Xamarin's integration with Visual Studio and Azure since 2013, to empower developers in creating apps for any device while leveraging Microsoft's cloud services.[1][1][1] Key leadership transitions followed the deal, with Xamarin co-founder and CEO Nat Friedman joining Microsoft as Corporate Vice President for Developer Productivity Tools and Innovation, and co-founder Miguel de Icaza assuming the role of Distinguished Engineer focused on mobile and .NET development. The Xamarin team integrated into Microsoft without any reported layoffs, maintaining operations from their existing locations to support ongoing innovation. In a pivotal post-acquisition announcement at Microsoft's Build conference on March 31, 2016, Xamarin tools were made available at no cost in all editions of Visual Studio—including the free Community edition for individual developers and small teams up to five users—and the Xamarin SDK, including its runtime, libraries, and command-line tools, was open-sourced under the permissive MIT license to accelerate community contributions.[46][47][48] Strategically, the acquisition strengthened Visual Studio's mobile capabilities, enabling seamless cross-platform development within Microsoft's IDE, while enhancing Azure integration for cloud services like app backend hosting, analytics, and deployment. This combination provided developers with a unified end-to-end solution for building, testing, and scaling mobile applications, positioning Microsoft more competitively in the cross-platform tools market.[1][1]Period as Microsoft Subsidiary
Following Microsoft's acquisition of Xamarin in 2016, the platform underwent significant integration into the company's broader development ecosystem, enabling seamless mobile app development within Visual Studio.[1] In March 2016, Microsoft announced that Xamarin would be available at no cost to all Visual Studio users across all editions, including Community, Professional, and Enterprise, thereby democratizing access to cross-platform tools previously limited to paid tiers.[49] This shift was complemented by the open-sourcing of the Xamarin SDK, fostering greater community contributions and alignment with Microsoft's open-source initiatives.[50] The integration deepened with the launch of Visual Studio 2017 in March 2017, which embedded Xamarin tooling directly into the IDE for streamlined iOS and Android development workflows, including project templates, debugging, and deployment features.[51] Concurrently, Xamarin.Forms 2.0 was released in late 2016, enhancing cross-platform UI capabilities with improved navigation controls, such as hierarchical navigation stacks, and advanced data binding mechanisms that supported one-way, two-way, and one-way-to-source modes for better synchronization between UI elements and data models.[52] In November 2017, Microsoft introduced Visual Studio App Center at the Connect() conference, evolving it from the existing Xamarin Test Cloud into a comprehensive DevOps platform for mobile apps.[53] App Center integrated continuous integration and continuous deployment (CI/CD) pipelines, automated testing on thousands of real devices, crash analytics, user analytics, and beta distribution, allowing developers to build, test, monitor, and release apps from a single dashboard while supporting frameworks like Xamarin.UITest and Appium.[53] Xamarin expanded its platform support during this period, with Xamarin.Essentials launching in May 2018 as a lightweight library providing cross-platform access to over 25 common device APIs, including geolocation, sensors, secure storage, and device information, without requiring platform-specific code.[54] By December 2018, Essentials 1.0 achieved general availability, further simplifying shared code implementation across iOS, Android, and other targets.[55] Additionally, Xamarin extended support to emerging platforms, incorporating bindings for Wear OS via Xamarin.Android and tvOS through Xamarin.iOS extensions, enabling developers to target smartwatches and connected TVs with native performance.[56] The Xamarin community experienced substantial growth, reaching over 1.4 million developers by 2019, reflecting widespread adoption for cross-platform mobile projects in more than 120 countries.[57] The team's efforts also contributed to the broader unification of the .NET ecosystem, integrating Xamarin's Mono runtime with .NET Core to enable a single development stack for mobile, web, and desktop applications.[58] Internally, the Xamarin engineers focused on aligning mobile development with ASP.NET Core for web-mobile hybrids and desktop .NET for unified application models, paving the way for cross-platform consistency across Microsoft's platforms.[59]End of Support and Deprecation
In 2022, Microsoft announced that support for Xamarin would end on May 1, 2024, as part of its strategy to consolidate cross-platform mobile development under a unified .NET ecosystem.[60] This decision was reiterated in official documentation throughout 2023, emphasizing the transition away from the classic Xamarin SDKs, including Xamarin.Forms.[61] The deprecation stemmed from the redundancy of maintaining separate Xamarin tools alongside the evolving .NET Multi-platform App UI (MAUI) framework, allowing Microsoft to redirect resources toward a single, integrated cross-platform solution.[7] The final updates for Xamarin were released in late 2023, supporting Android API level 34 (via Xamarin.Android 13.2.2.0) and Xcode 15 SDKs for iOS, iPadOS 17, and macOS 14 (via Xamarin.iOS/macOS 16.0.523), along with Xamarin.Forms version 5.0.0.2612 as the last patch release.[7] After May 1, 2024, Microsoft ceased all security patches, feature enhancements, and technical assistance for Xamarin products, with no plans for compatibility with newer platform APIs or third-party dependencies.[7] Existing Xamarin applications continue to function on supported devices without intervention, though developers face risks from unpatched vulnerabilities and evolving OS requirements.[62] As of mid-2025, new submissions of iOS and Android apps built with Xamarin tools are no longer accepted by the Apple App Store and Google Play Store due to SDK and API level requirements exceeding Xamarin's final supported versions (Xcode 15 for iOS 17 and Android API 34).[63][8] Microsoft has committed to preserving Xamarin workloads within Visual Studio 2022, which follows the product's Long Term Servicing Channel (LTSC) lifecycle extending support through at least 2029, ensuring developers can build and maintain legacy projects during the transition period.[64] In August 2024, Microsoft transferred stewardship of the Mono Project to the .NET Foundation to ensure continued open-source maintenance of the runtime underlying Xamarin.Products and Tools
Core Xamarin Platform
The core Xamarin platform consists of software development kits (SDKs) that enable developers to build native mobile applications for iOS and Android using C# and the .NET framework, leveraging bindings to platform-specific APIs for full access to native capabilities. The architecture relies on generated C# wrappers that expose native iOS APIs (such as those in UIKit and Foundation, originally written in Objective-C or Swift) and Android APIs (such as those in the Java-based Android SDK) directly to .NET code, allowing shared business logic and non-UI components to be written once and reused across platforms while maintaining platform-specific user interfaces. This binding mechanism ensures that C# calls are translated to native function calls at runtime, providing seamless integration without requiring developers to write code in platform-native languages.[65] Xamarin.iOS, a key component of the platform, compiles C# code ahead-of-time (AOT) into native ARM assembly suitable for iOS devices, producing fully static binaries that adhere to Apple's App Store requirements and avoid just-in-time (JIT) compilation restrictions on iOS. In contrast, Xamarin.Android utilizes the Mono runtime for JIT compilation of C# to native code during app execution, with optional AOT support for specific scenarios to reduce startup time, and includes a garbage collector optimized for mobile constraints, such as low-latency collection cycles to minimize pauses on battery-powered devices. These components allow for high-fidelity native performance, including direct rendering of platform UI elements and hardware acceleration, while enabling access to device features like sensors, cameras, and GPS through familiar .NET APIs without performance overhead from bridging layers.[66][67] The development workflow centers on integrated development environments like Visual Studio, where developers create a single solution containing shared code projects alongside platform-specific projects using built-in templates for iOS and Android applications. These templates automatically configure references to platform APIs distributed as NuGet packages, facilitating dependency management, code compilation, and deployment in a unified manner. For instance, developers can share up to 90% of non-UI codebases, such as data models and logic, across iOS and Android while customizing UI in each project's native toolchain.[68] The platform originated with version 1.0 releases in 2011—Xamarin.iOS in May and Mono for Android (later rebranded Xamarin.Android) shortly thereafter—and evolved through iterative updates, reaching version 17.x by 2023, which introduced support for .NET 6 and later, along with compatibility for the latest iOS and Android SDKs at the time. This progression included enhancements to binding generators, runtime optimizations, and integration with modern .NET features, culminating in full support for Android API level 34 and iOS 17 before the platform's deprecation in 2024.[7]Xamarin.Forms
Xamarin.Forms is a UI framework introduced by Xamarin in May 2014, enabling developers to create native user interfaces for iOS, Android, and Windows Phone using a single shared C# codebase and declarative XAML syntax.[69] It abstracts common UI elements into cross-platform controls that map to native platform widgets at runtime, ensuring applications render with a native look and feel while maximizing code reuse.[70] At its core, Xamarin.Forms provides foundational building blocks such as pages for defining screens, layouts like StackLayout for linear arrangements and Grid for tabular positioning, and standard controls including Button for user interactions and Label for displaying text.[71] Navigation is handled through patterns like MasterDetailPage, which supports hierarchical or split-view experiences across devices. The framework also integrates data binding capabilities, facilitating the Model-View-ViewModel (MVVM) pattern to separate business logic from UI presentation and enable reactive updates.[72] Over time, Xamarin.Forms evolved to address developer needs, with version 4.0 released in May 2019 introducing Shell navigation as a streamlined container for organizing app structure, URI-based routing, and built-in flyout and tab support to simplify complex navigation flows.[73] This version also enhanced performance through default fast renderers on Android and maintained support for custom renderers, allowing platform-specific overrides to fine-tune control behavior or appearance without altering shared code.[74] Despite its abstractions, Xamarin.Forms does not always achieve pixel-perfect consistency across platforms due to inherent differences in native rendering engines, often necessitating custom renderers for advanced customizations or to resolve layout discrepancies.[75] Developers could extend controls via custom renderers to implement platform tweaks, such as adjusting font styles or colors in specific contexts.[76] Xamarin.Forms facilitated rapid prototyping by allowing quick iteration on shared UIs that deploy natively, reducing development time for cross-platform apps.[77] It was deprecated alongside the broader Xamarin platform, with official support ending on May 1, 2024, as Microsoft shifted focus to .NET MAUI.[7]Xamarin Test Cloud
Xamarin Test Cloud was launched in April 2013 following Xamarin's acquisition of LessPainful Software, the developers of the Calabash automated testing framework.[38][78] This cloud-based service enabled automated UI testing for mobile applications on hundreds of real, non-jailbroken iOS and Android devices hosted in the cloud, allowing developers to validate app behavior across diverse hardware and OS configurations without maintaining physical device labs.[79] At launch, it supported test scripts written in Ruby via Calabash, with subsequent expansions to include C# through the Xamarin.UITest framework and Appium for broader language compatibility such as Java and JavaScript.[78] Key features included parallel execution of tests across multiple devices to accelerate feedback cycles, detailed reporting with video recordings and screenshots for each test step to aid debugging, and simulation of real-user interactions such as device rotations, gestures, and network conditions.[80][78] The service integrated seamlessly with continuous integration (CI) pipelines, offering plugins for tools like Jenkins, Team Foundation Server (TFS), and TeamCity to automate test runs as part of build processes.[78] By 2016, it supported over 400 unique device configurations, enabling comprehensive coverage of market fragmentation.[80] In November 2017, Xamarin Test Cloud was rebranded and evolved into App Center Test as part of the broader Visual Studio App Center platform, which incorporated crash reporting and beta distribution capabilities from the acquired HockeyApp service.[53] All existing subscribers were automatically upgraded to the new service within six months, expanding its scope to include analytics and monitoring for full mobile DevOps workflows.[53] By 2020, the device lab had grown significantly, offering access to thousands of configurations to reflect evolving mobile ecosystems.[81] Pricing followed a pay-per-minute model, typically at $0.17 per device minute after an initial free allowance, with subscription plans starting at $99 per month for unlimited testing tiers and 60 free minutes monthly for qualifying users.[82][83] A free tier was available for open-source projects, making the service accessible to independent developers and community contributors.[84] Xamarin-specific support for Test Cloud ended on May 1, 2024, coinciding with the broader deprecation of Xamarin SDKs, though the underlying App Center platform continued until its full retirement on March 31, 2025.[7][85] Users were directed to transition testing workflows to Azure DevOps services, including Azure Test Plans for manual and exploratory testing, while automated capabilities shifted toward alternatives like Azure Pipelines integrated with third-party device farms.[86][85]IDE Integrations
Xamarin's primary integration with integrated development environments (IDEs) centers on Microsoft Visual Studio, where it has been available as an extension since the release of Xamarin 3 in May 2014, enabling cross-platform mobile development directly within the IDE.[87] This integration allowed developers to create, build, and deploy iOS and Android applications using C# and .NET, leveraging Visual Studio's familiar tools for code editing and project management. Full native support for Xamarin arrived with Visual Studio 2015 in July 2015, including seamless installation via the Visual Studio Installer as part of the "Mobile development with .NET" workload.[88] Key features of the Xamarin for Visual Studio integration include built-in support for iOS and Android emulators, comprehensive debugging capabilities such as breakpoints and variable inspection, and streamlined deployment to physical devices or simulators.[89] For iOS development on Windows, it requires a connected Mac as a build host, while Android projects utilize the integrated Android SDK Manager for API level management and emulator configuration. These tools facilitate rapid iteration on shared codebases that compile to native applications, maintaining performance without compromising on platform-specific UI elements.[90][91] In March 2016, following Microsoft's acquisition of Xamarin, the platform became freely available in all editions of Visual Studio, including the Community edition for individual developers and open-source projects, eliminating previous licensing costs for Business or Enterprise editions.[48] This move democratized access to professional-grade mobile development tools. Enhancements continued with the introduction of XAML Hot Reload in 2019, allowing developers to modify UI elements in Xamarin.Forms projects and see live updates in the running app without full rebuilds or redeploys, significantly accelerating UI prototyping and testing.[92] Visual Studio 2019 further refined cross-platform tooling with improved support for shared projects, enabling a unified structure where common code is maintained in a single shared project referenced by platform-specific implementations, reducing redundancy and easing maintenance.[93] This project system integrates tightly with NuGet package management and MSBuild for consistent builds across iOS, Android, and other targets. Beyond Visual Studio, Xamarin offered limited support in alternative IDEs, such as JetBrains Rider, which provides code analysis, debugging, and build capabilities for Xamarin projects through dedicated plugins like Xamarin Android Support.[94] Prior to 2016, developers could use the older Xamarin Studio IDE for basic editing and building, though it lacked the depth of Visual Studio's ecosystem.[95] These integrations collectively empowered developers to leverage Xamarin's core platform for efficient, native mobile app creation across multiple environments.Platform-Specific Extensions
Xamarin.Mac, first released on December 12, 2012, and updated in 2015 with Xamarin 4, enabled developers to build native macOS applications using C# and access Cocoa APIs through .NET bindings.[96][83] This extension leveraged the Xamarin platform's cross-platform capabilities to target desktop macOS environments, allowing for the creation of full-featured Cocoa apps with shared business logic across mobile and desktop targets. In the same year, Xamarin introduced the Unified API, which unified the APIs for Xamarin.iOS and Xamarin.Mac, facilitating code sharing between iOS and macOS projects by aligning namespaces, types, and 64-bit support requirements.[97] Support for Windows platforms expanded in 2015 with integration into the Universal Windows Platform (UWP), enabling developers to create Windows 10 applications using Xamarin. This allowed shared projects to target UWP, where C# code could interface with native WinRT APIs, supporting deployment across Windows 10 devices including desktops, tablets, and phones.[83] Beyond core mobile development, Xamarin provided extensions for wearables, notably support for Android Wear starting in 2014, which permitted the creation of native wearable apps using C# and access to Android's wearable-specific APIs for notifications, sensors, and voice interactions.[98] Additionally, through its underlying Mono runtime, Xamarin facilitated development for embedded Linux and IoT scenarios, enabling .NET applications to run on resource-constrained devices like Raspberry Pi by compiling C# code to native binaries via Mono's ahead-of-time (AOT) compilation. The .NET Mobility Scanner, launched by Xamarin in 2013 and active through 2020, was a tool designed to analyze existing .NET codebases for compatibility and reusability in mobile applications, providing reports on code portability, API usage, and potential performance issues across target devices.[99] Despite these extensions, Xamarin development for iOS and macOS required a macOS machine for building and signing apps due to Apple's licensing restrictions on iOS SDK usage. All platform-specific extensions, including Xamarin.Mac and UWP support, were deprecated alongside the broader Xamarin platform, with Microsoft ending support on May 1, 2024.[7]Discontinued Components
Xamarin Studio, originally a standalone integrated development environment forked from the open-source MonoDevelop project, was phased out shortly after Microsoft's acquisition of Xamarin in February 2016. The Windows version of Xamarin Studio was discontinued in favor of integrating Xamarin tools directly into Visual Studio, allowing developers to leverage a single, unified IDE for cross-platform mobile development. On macOS, Xamarin Studio was rebranded and evolved into Visual Studio for Mac, which became generally available in May 2017 and provided enhanced support for Xamarin workloads alongside .NET Core projects.[100][101] Another key discontinuation was RoboVM, a tool acquired by Xamarin in October 2015 that enabled Java-based development for iOS by compiling Java code to native ARM binaries. In April 2016, Microsoft announced the end of RoboVM support, citing its misalignment with the strategic emphasis on C# and .NET for mobile app development following the acquisition. The RoboVM service was fully terminated in April 2017, prompting Java developers to transition to C#-centric alternatives within the Xamarin ecosystem.[102][103] The Xamarin Component Store, launched in 2014 as a marketplace for reusable UI controls, libraries, and code snippets tailored to Xamarin projects, was sunset around 2018 to reduce fragmentation in the development toolchain. Microsoft migrated its functionality to the NuGet package manager, enabling seamless integration with Visual Studio and broader .NET package distribution while eliminating the need for a separate store. This shift addressed redundancies in the Microsoft ecosystem and redirected resources toward unified tooling.[104] These discontinuations stemmed primarily from efforts to streamline Xamarin's offerings post-acquisition, eliminating overlaps with Microsoft's Visual Studio suite and prioritizing a cohesive C#-focused platform over diverse language support or siloed tools. As a result, developers migrated to integrated Visual Studio extensions or VS Code with Xamarin workloads, which provided equivalent or enhanced capabilities without the maintenance burden of legacy components.[105]Technology Overview
Cross-Platform Development Model
Xamarin's cross-platform development model enables developers to build mobile applications for multiple platforms using a shared codebase while maintaining native performance and access to platform-specific features. The core strategy revolves around separating shared logic from platform-specific implementations, allowing for efficient code reuse across iOS, Android, and other targets. This approach contrasts with fully native development, which requires separate codebases for each platform, and hybrid frameworks like Cordova, which embed web technologies within a native shell but often suffer from reduced performance due to JavaScript bridging.[106] The shared code strategy primarily utilizes Portable Class Libraries (PCLs) to encapsulate business logic, data models, and non-UI components that can be referenced across projects, while platform-specific code handles user interfaces, device APIs, and lifecycle management tailored to each operating system. In shared projects, developers can achieve 70-90% code reuse by placing common functionality in a single location and employing conditional compilation directives such as#if __IOS__ or #if __ANDROID__ to include platform-variant code within the same files, ensuring compilation only for the targeted environment. This model leverages C# as the primary language, enabling developers to use familiar .NET tools like Visual Studio for debugging, testing, and deployment, which streamlines workflows compared to managing multiple languages like Swift for iOS and Java for Android. The underlying Mono runtime facilitates this by providing a consistent execution environment for shared .NET code on non-Windows platforms.[107][57]
Key benefits include accelerated development cycles through code sharing and the delivery of native user experiences without the overhead of hybrid interpreters, resulting in applications that perform comparably to those written in native languages. However, challenges arise in managing discrepancies between platform APIs, such as varying gesture handling or notification systems, and app lifecycle events, which require careful abstraction or dependency injection to avoid tight coupling. In 2017, Xamarin evolved this model by adopting .NET Standard 2.0 support, replacing older PCL profiles with a unified API surface that enhanced multi-targeting compatibility and reduced fragmentation across .NET ecosystems.[26][107]