Chapter 1. Xamarin Setup
If you are reading this book, you probably already have a deep love for C#, .NET, and tools like Microsoft Visual Studio. Mobile development with the native SDKs seems daunting when you think about the work of learning a new platform, a new IDE, new application models, and perhaps a programming language or two. Xamarin aims to delight .NET developers with the tools for developing native iOS, Android, and Mac applications in C#.
There are many advantages of choosing Xamarin to develop mobile applications instead of Java on Android and Objective-C/Swift on iOS. You can share code between both of these platforms and you can be more productive by taking advantage of the advanced language features of C# and the .NET base class libraries. Alternatively, you would have to write an entire application, twice, for both Android and iOS.
In comparison with other techniques for developing cross-platform applications with JavaScript and HTML, Xamarin has some distinct advantages. C# is generally more performant than JavaScript, and Xamarin gives developers direct access to the native APIs on each platform. This allows Xamarin applications to have a native look and perform in a manner similar to their Java or Objective-C counterparts. Xamarin's tooling works by compiling your C# into a native ARM executable that can be packaged as an iOS or Android application. It bundles a stripped-down version of the Mono runtime with your application that only includes the features of the base class libraries your app uses.
In this chapter, we'll set up everything you need to get started on developing with Xamarin. By the end of this chapter, we'll have all the proper SDKs and tools installed, and all the developer accounts needed for app-store submission.
In this chapter, we will cover:
- An introduction to Xamarin tools and technology
- Installing Xcode, Apple's IDE
- Setting up all Xamarin tools and software
- Connecting Visual Studio to a Mac
- Setting up the Android emulator
- Enrolling in the iOS developer program
- Registering for Google Play