Call Us: +32 2 466 00 16
Follow Us:

Building apps for iOS, Android and Windows with Xamarin

5 days
5 days

Upcoming Sessions





Book now





Book now

Interested in a private company training? Request it here.

Introduction to Xamarin

If you have all the time and money in the world, you can build an Android app and an iOS app and a Windows app in their native environment. But what if you don't have all the time in the world? How can you write an app that works everywhere without having to re-write code multiple times? This is where Xamarin comes in. In this module you'll learn how to use C# to conquer all platforms.

  • Mobile development
  • Architecture
  • Deployment Environments
  • Cross-Platform Development
  • Core and Platform-Specific Projects
  • Sharing Code across projects
  • LAB: Festival - Setting up the Project

Android in a Nutshell

This module covers the fundamental building blocks for Android, independent of Xamarin. We'll talk about the platform, the apps and what it means to be an Android developer.

  • The Android Platform
  • Building Blocks of an Android Application
  • Activities, Services, Content Providers, Broadcast Receivers, Intents
  • Views and ViewGroups
  • Resources
  • Android Package

Xamarin for Android

In this module you'll apply what you learned in the previous module with C# and Xamarin. You will build your first project and run it in an emulator.

  • Xamarin.Android Architecture
  • Xamarin.Android Project
  • Working with Emulators
  • Designing a View
  • Resources
  • Navigation
  • Deploy Android applications

Android Views

In this module you will build an Android-specific view with all normal Android constructs like layout XML and resources while still using C#. This approach however does not allow you to re-use your view for iOS and Windows.

  • Views and ViewGroups
  • Common Views
  • Layouts
  • Adapters and ListViews
  • Styles
  • LAB: Festival - Android Views

iOS in a nutshell

In this module, you will get acquainted with iOS. You'll learn about the building blocks of an app and characteristics of the OS itself. This is independent of C# and Xamarin.

  • The iOS Platform
  • Version Management
  • Building Blocks of an iOS Application
  • Protocols and Delegates
  • iOS Package

Xamarin for iOS

You will learn how to apply the knowledge acquired in the previous module here. You will use Xamarin, C#, a Mac, Visual Studio, Xcode and Windows all together.

  • Xamarin.iOS Architecture
  • Xamarin.iOS Project
  • Designing a View with Interface Builder
  • Building iOS applications
  • Working with the Simulator
  • Debugging iOS applications
  • Deploy iOS applications

iOS Views

In this module you will build an iOS-specific view with all normal iOS constructs like Storyboards and Constraints while still using C#. This approach however does not allow you to re-use your view for Android and Windows.

  • Interface Builder
  • Outlets and Actions
  • Layouts
  • Storyboards
  • Styles
  • LAB: Festival - iOS Views

Windows in a nutshell

In this module you will learn about the fundamental building blocks to build Windows Apps. You'll immediately apply our newly acquired skills with C#. Xamarin is hardly involved at this stage since C# and Windows naturally love each other.

  • The Windows Platform
  • Windows Project
  • Process Life Cycle
  • Creating a view with XAML
  • Navigation
  • The Windows Package
  • Build and Deploy

Windows Views

In this module you will build a Windows-specific view with all normal Windows constructs like XAML. This approach however does not allow you to re-use your view for Android and iOS.

  • XAML Basics
  • Common Controls
  • Layout
  • Resources
  • Styles and Templates
  • Data Binding
  • LAB: Festival - Windows Views

Cross-Domain Code Patterns

Xamarin is all about writing code once instead of three times. But how do you maximize code re-use? In this module we'll see some of the most powerful techniques to keep platform-specific code to a minimum.

  • MVVM
  • Dependency Injection
  • Using Shared Projects


Xamarin.Forms attempts to overcome the final frontier when it comes to sharing code: the views. Instead of writing three platform-specific views, you'll write just one for all. How all of that is supposed to work is the topic of this module.

  • Hello Forms
  • Controls Overview
  • Data Binding
  • Navigation
  • Dependency Service
  • Platform Tweaks
  • Custom Renderers and Effects
  • App Life Cycle
  • LAB: Xamarin.Forms Weather App

Local Data

This module is all about storing data on the device itself. By using SQLite, you can easily store structured data on any of the three platforms. Best part is that you only have to write it once.

  • Platform-specific storage options
  • SQLite database
  • Entity Framework Core
  • LAB: Festival - Storing Data

Web Services

Consuming web services is indispensable in modern web development. This module will show you how you can retrieve your data in a platform-independent way.

  • Consuming a REST Service
  • Serialization and Deserialization
  • Consuming a SOAP Service
  • Using proxies for WCF
  • LAB: Festival - Saving Favorites using REST

Running in the background

Often one of the more challenging parts of writing an app, is how to run things in the background. Unfortunately, it's currently impossible to have a completely uniform approach for this. We'll take a look at how the three platforms behave, and how to deal with that.

  • Application Lifecycle
  • Platform-specific considerations
  • Android's activity life cycle and Services
  • iOS backgrounding techniques
  • Backgrounding in Windows

Library Bindings

"You can do anything with C# that you can do with Java". But what if the code is already written in Java can I still use it in my Xamarin.Android app? Yes, you can. And you can do the same for iOS and Objective-C/Swift by using library bindings.

  • Integrating with third-party native libraries
  • Java Library Binding
  • Objective-C/Swift Library Binding


Everybody hates those constant on-screen notifications. Learn how to be annoying in this module!

  • Platform-specific notification mechanisms
  • Local notifications
  • Push notifications

Azure Notification Hub

Sending push messages to a device that is constantly moving is not a trivial task. Fortunately, Google, Apple and Microsoft provide their own solution for that. Once again you want to avoid doing things three times. That's where Notification Hubs come in.

  • Setting Up Platform Agnostic Push Notifications
  • Setting Up the App
  • Setting Up the Backend
  • Templates and Tags

Visual Studio App Center

Building an app is more than writing code. You want to test, deploy and distribute, ... Visual Studio App Center is the central place to arrange all of that.

  • Build and Test your App
  • Collection Diagnostics and Usage Analysis
  • Send Push Notifications
  • Distribute to the Store or within your Enterprise

Building a mobile app is never building one app. It's building one app for Android, one for Windows and one for iOS. Learning three platforms is time consuming, but the real problem is having to write the same code three times. Xamarin allows us to do this in a much more efficient way. One language to rule them all: C#, while staying true to the platform. Xamarin is based upon Mono, the open-source implementation of the .NET runtime. By combining reusable C# code and platform-specific views, Xamarin is able to create cross-platform native apps with all features and the power the native platform has to offer.

Participants of this course need to have a good understanding of C# and a notion of mobile app development.

© 2021 U2U All rights reserved.