Frequently Asked Questions
How is Xamarin's mobile platform unique?
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 deliver 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 on average 75% 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#.
How do I share code across platforms 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 shared library projects with abstracted business logic. 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 this in our full-featured prebuilt Employee Directory and Field Service apps or read our Building Cross-Platform Applications Guide.
Can I use Xamarin to develop high performance 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.
How does Xamarin run my C# code on Android?
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.
How does Xamarin run my C# code on iOS?
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.
Does this mean there is no limit to what my Xamarin app can do?
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.
Can I use third-party .NET libraries in my app?
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.
When I use Xamarin, how much of my app is written in C#?
You can write 100% of your app in C#. UI, business logic. Everything.
Can I reuse existing Objective-C, Java, HTML or Javascript in my Xamarin app?
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.
Can I reuse my existing C# in my Xamarin app?
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.
How do non-C# developers benefit from using Xamarin?
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.
The transition to C# is easy, and the language offers many advantages for mobile development.
Can I use Xamarin to develop hybrid apps?
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.
Does Xamarin support Windows App development?
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.
What are the minimum system requirements?
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 6), 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 and Visual Studio 2012.
What can you tell me about Xamarin as a company?
After less than two years in business, Xamarin is used by 230,000 developers to build consumer, gaming, and enterprise apps, and has more than 12,000 paying customers including Clear Channel, Rdio, Portland Trailblazers, National Instruments, and McKesson. Growing extrememly fast, we are adding an additional 18,000 users to our developer community every month.
With offices in San Francisco and Boston, we have 62 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.
Pricing
What is the difference between the Trial and Starter?
When you begin a Xamarin Trial, you get access to the full Xamarin Business 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.
What is the difference between Starter and Indie?
Xamarin Starter allows developer to build and publish simple apps, which contain no more than 32k 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.
What is the difference between Indie and Business?
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.
What is the difference between Business and Enterprise?
Xamarin Enterprise includes all of the features of Xamarin Business, as well as a 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. See the product comparison chart.
If I purchase one edition, can I upgrade later?
You can upgrade to a higher edition by paying the difference. Simply send an email to handle all upgrade situations.
What is meant by the �gone business day SLA�h that is included with Xamarin Enterprise?
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.
What kinds of hotfixes are included with Xamarin Enterprise?
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.
Can our organization use both Xamarin Indie or Xamarin Business for some of our developers?
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.
Xamarin 2.0 Changes for Existing Customers
What changes has Xamarin made in its product names?
We've standardized our product branding on Xamarin. Our new product brands are:
- Xamarin.iOS (replaces MonoTouch)
- Xamarin.Android (replaces Mono for Android)
- Xamarin Studio, our new IDE (replaces MonoDevelop)
We've also restructured our pricing options so developers can better identify the plan that best fits their needs. Our new product plans are:
- Xamarin Starter Edition
- Xamarin Indie Edition
- Xamarin Business Edition
- Xamarin Enterprise Edition
What changes has Xamarin made in its product pricing?
To suit the diverse needs of our fast-growing developer community, we have created an improved pricing structure that is tailor-made for the needs of each developer.
- For developers just getting started with Xamarin, we're introducing Starter edition, a freely-available version that supports device deployment and app store publishing for small apps with no third-party native library dependencies and less than 32k of compiled C# code.
- For hobbyist and individual developers, we've introduced Indie edition, the lowest-cost product Xamarin has ever offered, at just $299 per developer. This product is licensed for use by individuals or companies with five or fewer employees who want to build app store apps or games, and includes Xamarin Studio and the ability to create apps of any size. Commercial or free apps can be built with this license.
- For professional developers working in companies, our Business edition, at $999, adds an array of features including Visual Studio integration, support for in-house deployment, support for business-oriented classes like WCF and System.Data.SqlClient, and email-based technical support.
- And finally, for our larger customers, our new Enterprise edition adds a one-day support SLA, access to hotfixes when available, over $500 in premium pre-built components, and a one-hour technical kick-off session with a Xamarin mobile engineer to get your app started on the right foot.
We are also grandfathering all existing customers into their current renewal pricing plans and adding features to their current products.
Starter and Indie developers that want to try out all of the features of Xamarin Business can begin a 30-day trial of Xamarin Business at any time from directly within Xamarin Studio or Visual Studio.
I purchased MonoTouch Professional or Mono for Android Professional. What do I have now?
Professional customers with active subscriptions now have Xamarin.iOS Business or Xamarin.Android Business. You will receive full access to all of the new features we just introduced for Xamarin Business customers, and your update subscription will continue to provide you with support and updates through the end of your original upgrade subscription.
I purchased MonoTouch Enterprise or Mono for Android Enterprise. What do I have now?
MonoTouch Enterprise and Mono for Android Enterprise customers with active subscriptions now have Xamarin.iOS Business or Xamarin.Android Business. You will receive full access to all of the new features we just introduced for Xamarin Business customers, and your subscription will continue to provide you with support and updates through the end of your original upgrade subscription. We are also offering MonoTouch Enterprise and Mono for Android Enterprise customers the ability to upgrade to our new Xamarin Enterprise edition for $450, a 50% savings over the standard $900 upgrade price, if the upgrade is purchased by May 1st, 2013.
I purchased MonoTouch Enterprise Priority or Mono for Android Enterprise Priority. What do I have now?
Enterprise Priority customers with active subscriptions are now subscribed to Xamarin Enterprise. You will receive full access to all of the new features we just introduced for our Business and Enterprise customers, including access to hotfix releases, and over $500 in pre-built app components, and your subscription will continue to provide you with support and updates through the end of your original upgrade subscription.
I purchased MonoTouch or Mono for Android. What is my renewal price?
You may renew MonoTouch/Mono for Android at your original renewal pricing for existing developer subscriptions. New seats for Business developers may be purchased for $999/developer, and include a one year support and update subscription. New seats for Enterprise developers may be purchased for $1899/developer, and include a one year support and update subscription.
I purchased MonoTouch Professional or Mono for Android Professional. Can I downgrade to Indie?
Customers that purchased within the past 90 days may request a partial refund for the price difference between their purchase price and Indie. If you choose to make this downgrade, you will lose access to many great Xamarin Business features you already enjoy, including Visual Studio and email-based support.