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 and macOS. According to Xamarin, over 1.4 million developers were using Xamarin's products in 120 countries around the world as of April 2017.
|Subsidiary of Microsoft|
|Founded||May 16, 2011|
|Headquarters||San Francisco, California|
|Miguel de Icaza, Nat Friedman|
|Footnotes / references|
In 1999 Miguel de Icaza and Nat Friedman launched what would eventually be 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.
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.
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 for Mono, MonoTouch and Mono for Android to Xamarin, which formally and legally took official stewardship of the project.
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 and iOS, as well as for Windows.
On July 17, 2013 Xamarin announced that they had closed $16 million 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 Series C funding, which is one of the largest rounds of funding ever raised by a mobile app development platform. Total funding for the company to date is $82 million.
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.
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 2.0 was released in February 2013 Xamarin.Android and Xamarin.iOS that make it possible to do native Android, iOS, and Windows development in C#, with either Visual Studio or Xamarin Studio. Developers re-use their existing C# code, and share significant code across device platforms. The product was used to make apps for several well-known companies including 3M, AT&T, and HP. Xamarin integrates with Visual Studio, Microsoft's IDE for the .NET Framework, extending Visual Studio for Android and iOS development. Xamarin also released a component store to integrate backend systems, 3rd party libraries, cloud services and UI controls directly into mobile apps.
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.
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 claims to be the only IDE that allows for native Android, iOS and Windows app development within Microsoft Visual Studio. 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 within Microsoft Visual Studio 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.
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.
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.
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.
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.
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 would develop a Java-based platform from the ground up that 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.
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.
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.
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.
Xamarin 2.0 bundles the company's Android, iOS and Mac development tools in a single affordable package
The .NET Foundation is an organization incorporated on March 31, 2014, by Microsoft to improve open-source software development and collaboration around the .NET Framework. It was launched at the annual Build 2014 conference held by Microsoft. The foundation is license-agnostic, and projects that come to the foundation are free to choose any open-source license, as defined by the Open Source Initiative (OSI). The foundation uses GitHub to host the open-source projects it manages.Anyone who has contributed to .NET Foundation projects can apply to be a .NET Foundation member. Members can vote in elections for the board of the directors and will preserve the health of the organization.The foundation began with twenty-four projects under its stewardship including .NET Compiler Platform ("Roslyn") and the ASP.NET family of open-source projects, both open-sourced by Microsoft Open Technologies, Inc. (MS Open Tech). Xamarin contributed six of its projects including the open source email libraries MimeKit and MailKit. As of April 2019, it is the steward of 556 projects, including: .NET Core, Entity Framework (EF), Managed Extensibility Framework (MEF), Umbraco, MSBuild, NuGet, Orchard CMS and WorldWide Telescope. Many of these projects are also listed under Outercurve Foundation project galleries.
Its board of directors consists of Scott Hunter (Microsoft), Miguel de Icaza (Microsoft-owned Xamarin), and Oren Novotny..NET Framework
.NET Framework (pronounced as "dot net") is a software framework developed by Microsoft that runs primarily on Microsoft Windows. It includes a large class library named as Framework Class Library (FCL) and provides language interoperability (each language can use code written in other languages) across several programming languages. Programs written for .NET Framework execute in a software environment (in contrast to a hardware environment) named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.
FCL provides user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. Programmers produce software by combining their source code with .NET Framework and other libraries. The framework is intended to be used by most new applications created for the Windows platform. Microsoft also produces an integrated development environment largely for .NET software called Visual Studio.
.NET Framework began as proprietary software, although the firm worked to standardize the software stack almost immediately, even before its first release. Despite the standardization efforts, developers, mainly those in the free and open-source software communities, expressed their unease with the selected terms and the prospects of any free and open-source implementation, especially regarding software patents. Since then, Microsoft has changed .NET development to more closely follow a contemporary model of a community-developed software project, including issuing an update to its patent promising to address the concerns.
.NET Framework led to a family of .NET platforms targeting mobile computing, embedded devices, alternative operating systems, and web browser plug-ins. A reduced version of the framework, .NET Compact Framework, is available on Windows CE platforms, including Windows Mobile devices such as smartphones. .NET Micro Framework is targeted at very resource-constrained embedded devices. Silverlight was available as a web browser plugin. Mono is available for many operating systems and is customized into popular smartphone operating systems (Android and iOS) and game engines. .NET Core targets the Universal Windows Platform (UWP), and cross-platform and cloud computing workloads.Build (developer conference)
Microsoft Build (often stylised as //build/) is an annual conference event held by Microsoft, aimed towards software engineers and web developers using Windows, Windows Phone, Microsoft Azure and other Microsoft technologies. First held in 2011, it serves as a successor for Microsoft's previous developer events, the Professional Developers Conference (an infrequent event which covered development of software for the Windows operating system) and MIX (which covered web development centering on Microsoft technology such as Silverlight and ASP.net). The attendee price was (US)$2,195 in 2016, up from $2,095 in 2015. It has sold out quickly, within one minute of the registration site opening in 2016.CloudKit
CloudKit is an integrated macOS and iOS API that functions as a backend as a service (BaaS). CloudKit is the framework that powers iCloud on iOS, macOS and on the web.Cross-platform software
In computing, cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms. Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.For example, a cross-platform application may run on Microsoft Windows, Linux, and macOS. Cross-platform programs may run on as many as all existing platforms, or on as few as two platforms. Cross-platform frameworks (such as Qt, Flutter, NativeScript, Xamarin, Phonegap, Ionic, and React Native) exist to aid cross-platform development.Dotfuscator
Dotfuscator is a tool performs a combination of code obfuscation, optimization, shrinking, and hardening on .NET, Xamarin and Universal Windows Platform apps. Ordinarily, .NET executables can easily be reverse engineered by free tools (such as dotPeek and JustDecompile), potentially exposing algorithms and intellectual property (trade secrets), licensing and security mechanisms. Also, code can be run through a debugger and its data inspected. Dotfuscator can make all of these things more difficult.
Dotfuscator was developed by PreEmptive Solutions. A free version of the .NET Obfuscator, called the Dotfuscator Community Edition, is distributed as part of Microsoft's Visual Studio. However, the current version is free for personal, non-commercial use only.F Sharp (programming language)
F# is a member of the ML language family and originated as a .NET Framework implementation of a core of the programming language OCaml. It has also been influenced by C#,
Python, Haskell,Scala, and Erlang.Frozen Mountain
Frozen Mountain Software is a Canadian software company known for various real-time communication SDKS and server components:
LiveSwitch, a WebRTC-based on-premise hybrid media server that is capable of operating as a Selective Forwarding Unit (SFU) and/or Multipoint Control Unit (MCU) simultaneously within the same session. LiveSwitch extends basic WebRTC capabilities by including a SIP Connector for integration with traditional VOIP and PSTN telephony architectures. Large scale low latency audio/video broadcasting is supported via automatic media server scaling.
Frozen Mountain's goal is to simplify the development of real-time web and mobile applications for business owners as well as develop consumer products that enhance collaboration.IOS SDK
The iOS SDK (Software Development Kit) (formerly iPhone SDK) is a software development kit developed by Apple Inc. The kit allows for the development of mobile apps on Apple's iOS operating system.
While originally developing iPhone prior to its unveiling in 2007, Apple's then-CEO Steve Jobs did not intend to let third-party developers build native apps for iOS, instead directing them to make web applications for the Safari web browser. However, backlash from developers prompted the company to reconsider, with Jobs announcing in October 2007 that Apple would have a software development kit available for developers by February 2008. The SDK was released on March 6, 2008.
The SDK is a free download for users of Mac personal computers. It is not available for Microsoft Windows PCs. The SDK contains sets giving developers access to various functions and services of iOS devices, such as hardware and software attributes. It also contains an iPhone simulator to mimic the look and feel of the device on the computer while developing. New versions of the SDK accompany new versions of iOS. In order to test applications, get technical support, and distribute apps through App Store, developers are required to subscribe to the Apple Developer Program.
Combined with Xcode, the iOS SDK helps developers write iOS apps using officially supported programming languages, including Swift and Objective-C. Other companies have also created tools that allow for the development of native iOS apps using their respective programming languages.List of .NET libraries and frameworks
This article contains a list of notable libraries that can be used in .NET languages. While the .NET framework provides a basis for application development, which provides platform independence, language interoperability and extensive framework libraries, the development ecosystem around .NET is dependent on user libraries that are developed independently of the framework.
Standard Libraries (CLI) (including the Base Class Library (BCL)) are not included in this article because they have a separate article.Miguel de Icaza
Miguel de Icaza (born November 23, 1972) is a Mexican-American programmer, best known for starting the GNOME, Mono, and Xamarin projects.MonoDevelop
MonoDevelop (also known as Xamarin Studio) is an open-source integrated development environment for Linux, macOS, and Windows. Its primary focus is development of projects that use Mono and .NET frameworks. MonoDevelop integrates features similar to those of NetBeans and Microsoft Visual Studio, such as automatic code completion, source control, a graphical user interface (GUI) and Web designer. MonoDevelop integrates a Gtk# GUI designer called Stetic. It supports
and Visual Basic.NET.MonoDevelop can be used on Windows, macOS and Linux. Officially supported Linux distributions include CentOS, Debian, Fedora, openSUSE, SUSE Linux Enterprise, Red Hat Enterprise Linux and Ubuntu, with many other distributions providing their own unofficial builds of MonoDevelop in their repositories. macOS and Windows have been officially supported since version 2.2.MonoDevelop has included a C# compiler (an alternative to MSBuild and CSC) since its earliest versions. It currently includes a compiler that supports C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0 and C# 6.0.A customized version of MonoDevelop formerly shipped with Windows and Mac versions of Unity, the game engine by Unity Technologies. It enabled advanced C# scripting, which was used to compile cross-platform video games by the Unity compiler. It has since been replaced by Visual Studio Community, except on Linux versions.Mono (software)
Mono is a free and open-source project to create an Ecma standard-compliant .NET Framework-compatible software framework, including a C# compiler and a Common Language Runtime. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. The stated purpose of Mono is not only to be able to run Microsoft .NET applications cross-platform, but also to bring better development tools to Linux developers. Mono can be run on many software systems including Android, most Linux distributions, BSD, macOS, Windows, Solaris, and even some game consoles such as PlayStation 3, Wii, and Xbox 360.
The Mono project has been controversial within the open-source community, as it implements portions of .NET Framework that may be covered by Microsoft patents. Although standardized portions of .NET Framework are covered under Microsoft Open Specification Promise—a covenant stating that Microsoft will not assert its patents against implementations of its specifications under certain conditions—other portions are not, which led to concerns that the Mono project could become the target of patent infringement lawsuits. Following Microsoft's open-sourcing of several core .NET technologies since 2014 and its acquisition of Xamarin in the beginning of 2016, an updated patent promise has been issued for the Mono project (§ Mono and Microsoft's patents).
The logo of Mono is a stylized monkey's face, mono being Spanish for monkey.Nat Friedman
Nathaniel Dourif Friedman (born August 6, 1977) is an American technology executive.Netduino
Netduino is an open-source electronics prototyping platform based on the .NET Micro Framework. It uses the ARM Cortex-M 32-bit RISC ARM processor core as a 32-bit ARM-microcontroller. The Netduino boards (except the discontinued Mini and Go models) are designed to be pin-compatible with most Arduino shields. Applications can be built on Windows (with Visual Studio), or on Mac OS (with Xamarin Studio). The platform is similar in concept to the Arduino platform, but is generally more powerful and instead of writing applications in C/C++ or Wiring (essentially, C++ without header files), applications are written in C#, which brings powerful, high-level language constructs to the toolbox such as threading, event handling, automatic garbage collection, and more.Realm (database)
Realm is an open source object database management system, initially for mobile (Android/iOS), also available for platforms such as Xamarin or React Native, and others, including desktop applications (Windows), and is licensed under the Apache License.
In 2016 September, the Realm Mobile Platform was announced, followed by the first stable release in January 2017. It allows two-way synchronization between the Realm Object Server, and the client side databases that belong to the given logged-in user. Both a developer, and a commercial edition was released, along with a business license for integrating with other database management systems such as PostgreSQL.On April 24th 2019 Realm announced that they have entered into a definitive agreement to be acquired by MongoDB.Universal Windows Platform
Ximian, Inc. (previously called Helix Code and originally named International Gnome Support) was a company that developed, sold and supported application software for Linux and Unix based on the GNOME platform. It was founded by Miguel de Icaza and Nat Friedman in 1999 and was bought by Novell in 2003. Novell continued to develop Ximian's original products, while adding support for its own GroupWise and ZENworks software.XobotOS
XobotOS is a Xamarin research project that explored porting Android 4.0 from Java/Dalvik to C# to explore the performance and memory footprint benefits of C#.
XobotOS is a semi-automated port of the Android 4.0 source code from Java to C#. The automated parts were ported using an improved version of Sharpen that can compile more advanced Java constructs and supports generics. Most of the manual bits of code fall in two categories (a) code to integrate with the host operating system and (b) replace the Java JNI code used to call into C, with the ECMA CLI P/Invoke functionality.