Frequently Asked Questions
At Xamarin, we believe that great, native mobile user experiences have the power to transform customer relationships and employee productivity. Unlike other cross-platform mobile frameworks that only offer lowest common denominator experiences through UI abstraction libraries, we make 100% of the iOS and Android APIs available through our native bindings. Xamarin developers deliver high performance, fully native experiences and also share between 60 and 100% of their source code across platforms.
Xamarin is the only platform with complete API coverage and deep code-sharing capabilities across iOS, Android and Windows apps, for a total of 2.6 billion devices you can reach in C#. Anything you can do in Objective-C and Java can be done in C# with Xamarin.
To develop cross-platform apps with Xamarin, simply create a single Xamarin Studio or Visual Studio solution with multiple projects. Developers will typically have one project per target platform, as well as abstracted business logic referenced from a shared project or portable class library. Visual Studio's solution architecture was designed with this in mind, so if you've developed Windows applications for multiple Microsoft frameworks (such as WPF, Windows Phone, ASP.NET, Silverlight, or Windows.Forms), this approach will be familiar to you.
You can see examples of these techniques in our pre-built apps.
Yes! Unlike other cross-platform frameworks, your Xamarin app is compiled to a native binary, not interpreted. Native compilation gives users brilliant app performance for even the most demanding scenarios like high frame rate gaming and complex data visualizations. With a small footprint (2.5 MB added to your application code), and negligible impact to app startup time, you can build apps that run fast on any device.
Sound too good to be true? Watch this short video of some high-performance Xamarin apps.
On Android, Xamarin ships a fully functional implementation of the .NET runtime, called Mono, bundled with your app so that your code executes with all of the power of C# and .NET, including JIT-compilation, memory management, reflection, and the .NET base class libraries. Developers can use any native features by interacting with .NET class libraries that provide one-to-one mappings to all of the native APIs on Android.
On iOS, Xamarin uses Mono, a fully functional implementation of the .NET runtime, to fully compile your app into a native ARM executable ahead of time (AOT) so that your code executes with all of the power of C# and .NET, including memory management, reflection, and the .NET base class libraries. Developers can use any native features by interacting with .NET class libraries that provide one-to-one mappings to all of the native APIs on iOS, while complying with Apple's security restrictions which prevent execution of dynamically generated code on device.
Exactly! Xamarin's native bindings provide a complete one-to-one mapping of 100% of the native APIs on each target platform, ensuring that developers have the full power of the underlying platform at their fingertips. Anything that can be done in Objective-C and Java can be done with Xamarin.
Yes! Xamarin ships native binding project templates that make it easy to consume Objective-C and Java libraries on iOS and Android respectively, and many .NET library vendors (including Microsoft) are shipping Xamarin-compatible libraries today. The Xamarin Component Store has a growing portfolio of popular libraries ready for you to integrate into your apps with just a few lines of code, and more and more NuGet developers are shipping Xamarin-compatible packages every day.
You can write 100% of your app in C#. UI, business logic. Everything.
Yes! Xamarin ships native binding project templates that make it easy to consume Objective-C and Java libraries on iOS and Android respectively. Xamarin also has full support for building hybrid applications if you're moving from a mobile web application or other hybrid mobile app solution.
Yes! C# code that is not platform-specific (e.g., code that does not call Windows-specific functionality directly) can be easily ported to iOS and Android with little to no code changes. User our .NET Mobility Scanner to find out how much of your existing code is mobile-ready right now.
Xamarin is for all mobile developers who want to reach users on major device platforms with great, native apps. Increasingly, app publishers and companies who initially built apps in Objective-C and Java are standardizing on Xamarin to share code across platforms, to go faster, and to spend more time on features and user experience, and less time maintaining disparate, duplicate code bases. Popular music streaming service Rdio, is a great example of this.
Yes! Xamarin has full support for building hybrid applications. We recommend restricting HTML use to non-interactive web views and using native functionality for the interactive parts of your application.
Yes! Through code re-use and sharing, and by unifying mobile app development in C#, Xamarin makes it possible to deliver gorgeous, performant, native apps for all major device platforms quickly. Because Windows Phone and Windows 8 apps can be built in C#, Xamarin developers are already empowered to share code between iOS, Android, Windows Phone and Windows 8 apps for 2.6 billion devices, and Xamarin ships many Windows-compatible C# libraries, including our Xamarin.Forms API, which enables developers to quickly build shared screens for iOS, Android and Windows Phone.
Xamarin requires the platform SDKs from Apple and Google to target iOS or Android, and our system requirements match theirs. To build for iOS, you'll need the latest iOS SDK (currently iOS 7), which requires an Intel-based Mac running OS X 10.8 (Mountain Lion). Our Visual Studio Extensions for iOS and Android support any non-Express editions of Visual Studio 2010, Visual Studio 2012 and Visual Studio 2013.
Xamarin is used by over 600,000 developers to build consumer, gaming, and enterprise apps, and has more than 15,000 paying customers in 120 countries including Kimberly Clark, Rdio, Bosch, Cognizant, GitHub, Microsoft, Dow Jones, BCBS, McKesson, Nielsen, Honeywell, Kelloggs and Johnson Controls. We’re growing extremely fast, adding an additional 30,000 users to our developer community every month. We were named a Visionary in Gartner’s 2013 Magic Quadrant for Mobile Application Development Platforms.
With offices in San Francisco, Boston, Buenos Aires and Denmark, we have 170 employees in 14 countries. Financially, the company bootstrapped it's first year, funding operations from revenue. In July, 2012 we raised a $12M Series A round from three top tier venture capitalists to accelerate the growth of our developer community and expand our product portfolio. We raised a $16M Series B round of funding in July of 2013
When you begin a Xamarin Trial, you get access to the full Xamarin Enterprise feature set, including the ability to run your app on actual device hardware, for 30 days. Apps built in trial mode can only be run within a 24 hour window after they are built, and bear a splash screen that indicates they were built using the Trial SDK. The Xamarin Trial is licensed for evaluation purposes only.
Xamarin Starter allows developers to build and publish simple apps, which contain no more than 64k of compiled user code (IL), and which do not call out to native third party libraries (i.e., developers may not P/Invoke into C/C++/Objective-C/Java. See the full product comparison chart.
Xamarin Business includes all the features of Xamarin Indie, as well as email support and business features, including support for WCF and System.Data.SqlClient. Additionally, Xamarin Business supports developing, deploying, and debugging apps from within Visual Studio. See the full product comparison chart. Xamarin Business may be used by companies of any size. Companies or incorporated entities with more than five employees must purchase a Business or Enterprise plan.
Xamarin Indie may be purchased as a monthly or annual subscription, and Xamarin Business may only be purchased as an annual subscription. Software included with an annual subscription does not expire - customers can continue to run Xamarin products after subscription expiration even if their annual subscription is not renewed. If a monthly subscription is not renewed, software included with the monthly subscription can no longer be run once the subscription has expired.
Can I buy a monthly subscription of Indie for one platform and an annual subscription of another plan?
No, you must purchase the same type of subscription for all platforms.
Xamarin Enterprise includes all of the features of Xamarin Business, as well as a technical kickoff session and technical account manager, one-day response time Service Level Agreement (SLA), access to hotfix releases, and over $500 in pre-built app components including local data encryption with SQLCipher and the SAP Mobile .NET SDK, and the ability to protect managed assemblies by embedding them in native binaries. See the full product comparison chart.
You can upgrade to a higher edition by paying the difference. If you are a Xamarin Indie monthly subscriber, you may cancel that subscription at any time, and then purchase an annual subscription at the regular price. Simply send an email to firstname.lastname@example.org to handle any upgrade request.
Xamarin's one business day service level agreement ensures that issues submitted via email to Xamarin's support team will be given highest priority in our support queue, and will be responded to by the same time on the next business day. Xamarin's business hours are 9a-5p EST.
Xamarin Enterprise customers that are blocked by verified bugs that do not have a reasonable workaround have access to patched builds of our current stable releases once a fix is available.
Subscription plan mixing in the same company is not allowed. Because many of the features of each product tier apply to the organization, organizations should purchase the same plan for all developers in the organization.
Yes. Instructors leading courses on mobile development and Students currently enrolled at an accredited institution can purchase a business edition (without email support) of Xamarin.iOS, Xamarin.Android, and/or Xamarin.Mac for $99 each. Use the license to develop apps and games for iOS, Android, and/or Mac, and deploy them to devices, or publish to the Apple App Store, Google Play, or other public app stores.
To apply for either of these educational discount programs, send proof of enrollment or course and lab details to email@example.com.
In order to ensure that all open source projects that want to add or maintain compatibility with Xamarin have access to the tools they need, we offer open source projects with app store compatible licenses non-commercial subscriptions to our products for the purposes of developing, testing, and maintaining compatibility with Xamarin. Active developers on established open source projects can fill out this form to apply.
I want to use Xamarin to create an "app builder" tool or online service that generates apps for my customers using a wizard, configurator, or by uploading their own code. Does the Xamarin subscription allow this?
The standard Xamarin subscription does not allow you to share or sublicense your subscription to other parties, and explicitly disallows "app builders" and other mechanisms of enabling unlicensed third parties to build apps with the Xamarin toolchain or which include the Xamarin redistributables. Companies that wish to build such tools or services can contact firstname.lastname@example.org to discuss OEM licensing options.
If your Xamarin subscription expires, your apps will continue to run even after your subscription has expired, regardless of which product subscription you purchased.
If you choose not to continue your monthly Xamarin Indie subscription, your apps built with Xamarin will continue to run; however, you will no longer be able to run the Xamarin software provided with your Xamarin subscription.
Your Xamarin license acquired with an annual subscription is perpetual. If you choose not to renew your annual subscription, you will no longer have access to new releases or support, and we will be very sad.