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

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
  • Cross platform solutions
  • Dealing with platform specific items
  • Demo
  • Shared Projects
  • Portable Class
  • Libraries
  • Labs

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
  • Services
  • Permissions
  • Resources
  • Labs

Chapter 4: UI Development with Xamarin.Android

In Chapter 3, we've seen the basic concepts of Android development. In Chapter 4, 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.

  • Introduction to UI layout
  • Working with the designer tools
  • Layout in Android
  • Views in Android
  • ListViews and Adapters
  • Working with Fragments
  • Labs

Chapter 5: Programming Android

Chapter 5 covers more advanced concepts in Android development. This topic contains a collection of topics which are vital to understanding more advanced programming concepts in Android development.

  • More on Activities
  • Rotation of the device
  • Resources
  • Graphics
  • Permissions
  • Navigation in Android apps
  • Working with services

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
  • 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

Chapter 8: Controllers in-depth

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.

  • Protocols and delegates
  • UIViewController
  • UINavigationController
  • UITabController
  • Modal controller
  • iPad controller
  • UI flow creation in Storyboards

Chapter 9: Views in-depth

Building a good-looking UI in iOS requires the use of views. In Chapter 9, we are exploring the different views we get by default in Xamarin.iOS. We can create our UIs with the designer in Visual Studio, we'll look at using this designer as well.

  • Working with the designer
  • Text input
  • Buttons
  • Images
  • Progress
  • Scrolling
  • Alerts
  • Labs

Chapter 10: 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
  • Editing data
  • Collection Views
  • Labs

Chapter 11: Programming Xamarin.iOS

Chapter 11 includes a number of more advanced topics in iOS development.

  • Using images
  • Using graphics
  • Resources
  • Permissions and plists
  • Working with local files on the device
  • Creating apps in code entirely

Chapter 12: Deploying your Xamarin.iOS applications

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 13: 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 14: XAML and databinding in Xamarin.Forms

Xamarin.Forms lends itself to being used with XAML and even supports data binding. This final chapter will look at how we can use these.

  • What is XAML?
  • Building an app with XAML
  • XAML Syntax
  • XAML Markup Extensions
  • Data binding
  • 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