Visual Studio and Xamarin

Xamarin is a mobile app development platform for building native iOS, Android, and Windows apps from a common C#/.NET code base. Apps written with Xamarin can achieve 75% to nearly 100% code reuse between platforms. These apps have full access to underlying platform APIs and can incorporate native user interfaces. They compile to platform-specific packages with little impact on runtime performance. (Note: Xamarin also supports F#, but this documentation will focus on C# only. Visual Basic is not supported at this time.)

Developers familiar with C#, .NET, and Visual Studio will enjoy the same power and productivity when working with Xamarin for mobile apps. These benefits include remote debugging on Android, iOS, and Windows devices, without having to learn native coding languages like Objective-C or Java. It's little surprise, then, that many high-performance apps with beautiful user interfaces—such as NASCAR, Aviva, and MixRadio—have been built using Xamarin.

This documentation helps you evaluate the full power of Visual Studio with Xamarin to build these experiences.

You can work with all Xamarin features using any edition of Visual Studio 2017 (Community, Professional, and Enterprise). No separate license is required.

Note

These instructions describe the easiest and most straightforward computer configuration for developers who have a Windows and Visual Studio background. With this configuration, the overall development experience is simplified because you only need to interact with the Mac to use the iOS simulator and tethered devices. If you instead come from a Mac background, we recommend either running Visual Studio inside Parallels or VMWare, or using Visual Studio for Mac. Refer to Setup, install, and verifications for Mac users for instructions.

Note

If you're looking for a cross-platform development solution based on HTML and CSS, check out the Visual Studio Tools for Apache Cordova as described in Cross-platform development in Visual Studio.