Developing cross-platform apps with C# using Xamarin

Mobile Microsoft

Xamarin is quickly gaining a lot of traction within the Microsoft developer community. Using the same language – C# - we can now create apps which run on iOS and Android, next to only Windows Phone previously. Developers which have been developing using the .NET stack now get the ability to extend their reach onto other platforms, while still being able to use tools like Visual Studio.

In this 3-day course, you'll learn about the Xamarin environment. You'll learn about cross-platform development, Xamarin.Android and Xamarin.iOS. All this becomes possible using the knowledge you already have: C#

Students should have experience developing applications or websites using C#; the course assumes you are familiar with the language. XAML knowledge is a plus but is not required.

Course outline

Chapter 1: Introduction to cross-platform development with Xamarin

In the first chapter, we are looking at a complete, high-level overview of the Xamarin platform. We will look at the different development environments (Visual Studio and Xamarin Studio) and explore all the different building blocks that make up the Xamarin toolset. An overview of the setup when creating your own environment is also included.

  • Hello Xamarin!
  • C# everywhere
  • How Xamarin works
  • Xamarin components
  • Visual Studio integration
  • Xamarin Studio
  • Xamarin Forms and XAML
  • Xamarin Test Cloud
  • Preparing your environment for Xamarin
  • Labs: A guided tour of your development environment

Chapter 2: Cross-platform code-sharing approaches and architectural considerations

In chapter 2, we are exploring the different approaches which are possible to create cross-platform applications which share code between Windows Phone, iOS and Android (and even Windows 8.1). This chapter focuses mostly on the architectural considerations.

  • Code sharing options
  • Architecture of a Cross-platform Xamarin application
  • Shared Projects
  • Portable Class Libraries

Chapter 3: Building our first Xamarin.Android application

Starting with Chapter 3, we are going to focus on Xamarin.Android. In this chapter, we are introducing the most important aspects of Android development by means of a large instructor-led demonstration. Along the way, you'll learn about activities, intents and much more

  • Activities
  • Intents
  • Permissions
  • Resources
  • Labs: Creating your first Xamarin.Android application

Chapter 4: Xamarin.Android Application fundamentals

In this chapter, you'll learn the most important key concepts of Android development with Xamarin.

  • More on activities
  • Activity lifecycle
  • Services and backgrounding
  • Location awareness
  • Working with data on the device
  • Push notifications basics
  • Labs: Creating a master-detail app (optional)

Chapter 5: UI Development with Xamarin.Android

In Chapter 5, we are digging deeper in the UI aspects. We will see how Xamarin.Android makes it possible to create a good-looking UI. You'll learn about the most important views, the layout managers and fragments, a very important aspect when it comes to building Android apps. You'll also learn about the new additions in Android 6 and 7, including the new controls such as RecyclerView.

  • Working with the designer tools
  • Doing layout in Android
  • Views in Android
  • ListViews and Adapters
  • Working with Fragments
  • Navigation patterns in Android
  • Creating a Material-based app
  • Labs: Creating a Material app with fragments and a drawerlayout.

Chapter 6: Deploying your Xamarin.Android apps

In this final topic covering Android development, we will look at what it takes to deploy apps to the store. We will look at the different stores and see how we can make our app ready for deployment in Google Play.

  • Debugging and logging with your device and the emulator
  • Packaging and deploying to the store

Chapter 7: Building our first Xamarin.IOS application

Chapter 7 is the first one which covers iOS development using Xamarin.iOS. Similarly to what we have done with Android, we will look at the basic concepts in iOS development by means of a large instructor-led demonstration. Along the way, the most important iOS development concepts are explained.

  • Getting started in iOS
  • UIViewController
  • NavigationController
  • Storyboards
  • Labs: Creating your first Xamarin.iOS application

Chapter 8: UI Development with iOS

iOS development has a couple of very important concepts that you need to grasp. Controllers is one of them. In this chapter, we are digging into the specifics of controllers and will take a look at some of the built-in controllers in iOS. Next, we'll also look in more details at the UI elements that come with iOS

  • Working with Storyboards and XIB files
  • Controllers
    • NavigationController
    • Modal controller
    • Tab controller
  • Creating your screens with iOS views
  • Labs: Creating a more advanced UI for your iOS application

Chapter 9: Table and collection views

Using Table views is a very important aspect in almost every iOS application. This chapter digs deep into the use of table views and how they get their data.

  • TableViews
  • TableSource
  • Indexing
  • Headers and footers
  • Cell appearance
  • Labs: Creating a UI with Table views

Chapter 10: Deploying your Xamarin.iOS application

Once your app is ready, it needs to be deployed in the App Store. Making sure it passes certification requires following a number of steps. In this chapter, we will look at the different steps we need to follow.

  • Debugging
  • Deploying to the store

Chapter 11: Introduction to Xamarin.Forms

•Recently, Xamarin added Xamarin.Forms to the Xamarin product family. Using Forms, we can easily create apps using a single code-base, including the UI, targeting iOS, Android and Windows Phone, while still creating a native app. In this chapter, we will explore Xamarin.Forms.

  • Introduction to Xamarin Forms
  • Project structure
  • Pages
  • Views and layouts
  • Lists
  • Navigation
  • Platform features
  • Working with the DependencyService

Chapter 12: XAML and databinding in Xamarin.Forms

Xamarin.Forms lends itself to being used with XAML and even supports data binding.

  • What is XAML?
  • Building an app with XAML
  • XAML Syntax
  • XAML Markup Extensions
  • Data binding
  • Labs: Creating your first Xamarin.Forms app

Chapter 13: Creating a cross-platform application with MVVM

MVVM is a UI pattern that allows us to build more maintainable and testable applications. It turns out that this pattern also works great in combination with Xamarin and it allows us to reach a level of code reuse which is very high. In this chapter, we are going to learn how to create MVVM-based Xamarin applications. We will be looking at the MVVMCross framework for the architectural setup of the application.

  • MVVM & MVVMCross
  • Code sharing
  • View Models

Computer Setup

  • Visual Studio 2015 with Update 3
  • Xamarin for both iOS and Android: can be selected during the installation of Visual Studio.
  • Alternatively, go to and download the Community Edition there which also comes with Xamarin included in the box.
  • Emulator: it's best to install the Hyper-V emulator which can be downloaded from . For this, Hyper-V must be enabled on the PCs (virtualization must be enabled in the BIOS, but this is typically already enabled).
  • PDF/Word viewer for the labs


09:00 - 16:15


Introduction to cross-platform development with Xamarin

Cross-platform code-sharing approaches and architectural considerations

Building our first Xamarin.Android application

UI Development with Xamarin.Android

Programming Android

Deploying your Xamarin.Android apps

Building our first Xamarin.IOS application

Controllers in-depth

Views in-depth

Table and collection views

Programming Xamarin.iOS

Deploying your Xamarin.iOS applications

Introduction to Xamarin.Forms

XAML and databinding in Xamarin.Forms