Developing cross-platform apps with C# using Xamarin

5 Day Course
Hands On

Book Now - 3 Delivery Methods Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online


C# is one of the most popular development languages in the world but we write the majority of mobile apps in Java, Swift or Objective-C. While it was originally possible to build .NET apps running on Windows-based devices only, the game has changed. Dramatically.

Using Xamarin, we can now write apps, which run on Android and iOS devices natively using C#. This way, C# allows us to target billions of extra devices using the language we all love. The experiences, which users get from Xamarin-base apps, are fully native: the apps aren't web-based, trimmed-down versions of the apps. Instead, they offer the full functionality of the platform they target.

The impact in terms of re-using code is huge. We can build architecture with this cross-platform functionality in mind and construct it so that a lot (or maybe we should say: most) of our code can be re-used in Windows Phone, iOS and Android apps.

In this 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#!

Please note: Due to the nature of the delegate labs on this course it can only run on Apple Macs. The course cannot be delivered on Windows based machines.

Training Partners

We work with the following best of breed training partners using our bulk buying power to bring you a wider range of dates, locations and prices.


Hide all

C# Review (13 topics)

  • Value and Reference Types under the hood
  • Classes, Encapsulation and Properties
  • Inheritance and Polymorphism
  • Interfaces and Decoupling
  • Dependency Injection
  • Inversion of Control
  • Generics
  • Delegates
  • Anonymous Delegates and Lambdas
  • Tasks and async
  • Useful Design Patterns
  • Labs

Xamarin Introduction (8 topics)

  • What is Xamarin
  • Bit of History
  • Benefits and Disadvantages of using Xamarin
  • Mobile Development Challenges
  • Where does it fit in?
  • How does it work?
  • What you need to get started
  • Getting started with Xamarin Studio

Getting Started with (12 topics)

  • android Projects
  • API Versions
  • Resources and Images
  • Layouts
  • App Architecture
  • Creating Activities
  • Accessing Views
  • Working with Intents
  • Launching Activities
  • Passing data between activities
  • Working with an activities lifecycle
  • Labs

Designing your android UI with Layouts (13 topics)

  • Creating the UI with the Designer
  • Designing Layouts and working with
  • Linear
  • Relative
  • Table
  • Grid layouts
  • Working with some of the built in views including
  • Date and time picker
  • Standard Views
  • Spinner
  • CardView
  • ScrollView
  • Labs

Lists, Tabs and Fragments in android (10 topics)

  • ListViews and ListAdapters
  • Custom ListAdapters
  • Built in and Custom Row Layouts
  • Working with Fragments
  • Using fragments declaratively and programmatically
  • The FragmentManager
  • Fragment Lifecycle
  • State Management
  • Tabs and the Action Bar
  • Labs

Additional android Issues (5 topics)

  • Activity Lifecycle
  • State Management
  • Rotation and managing alternate layouts
  • Drawables and resolution
  • Labs

Cross Platform Code Sharing (13 topics)

  • Why Code Share
  • Code sharing Options
  • Shared Projects
  • Portable Class Libraries
  • Ramping up code reuse across platforms
  • Cross Platform Data Access
  • Abstracting device specificity
  • Dependency Injection
  • Inversion of Control Containers
  • MVVM Pattern
  • MVVM Light
  • MVVMCross
  • Labs

Getting Started With iOS Development in Xamarin (11 topics)

  • iOS Development in Xamarin
  • Solutions, Projects and Files
  • Intro to Storyboards, Scenes and Segues
  • MVC and View Controllers
  • Linking Scenes to View Controllers
  • Working with Multiple View Controllers
  • Modal Display
  • Navigation Controllers
  • Transferring Data between Scenes
  • Loading Storyboards from Code
  • Labs

Designing an iOS Layout (8 topics)

  • Xamarin iOS Designer Intro
  • Designing a View
  • Using Auto Layout
  • Working with Constraints
  • Understanding and Exploiting Size Classes
  • iOS UI Controls
  • Unwind Segues
  • Labs

Working with Table Views (11 topics)

  • Table Views
  • Types of Table View
  • Building a Table View
  • Static Table Views
  • Dynamic Table Views
  • Table View Controllers
  • Table View Cells
  • Headers and Footers
  • Editing Cells
  • Collection Views
  • Labs

Controlling iOS Navigation and Storage (9 topics)

  • Manual Storyboards
  • Navigation Controllers
  • Tab Bar Controllers
  • Modal View Controllers
  • Split View Controllers
  • Settings and plists
  • Working with files
  • User Defaults Database
  • Labs

App Deployment for android and iOS (4 topics)

  • Preparing and app for deployment
  • Configuration
  • Building
  • Deploying to the app store

Xamarin.Forms (12 topics)

  • What are Xamarin Forms
  • Getting started with...
  • How it works
  • Basic elements
  • Pages
  • Layouts
  • Sizing and Positioning
  • Views
  • Hooking up to Code
  • Alerts
  • Navigation
  • Labs

Forms, ListViews and Data Binding with Xamarin.Forms (8 topics)

  • Data Binding Overview
  • Page Binding
  • Change Notification
  • Field Binding
  • Field to Field Binding
  • Displaying Lists with the ListView
  • Making life easier with Resources and Styles
  • Labs


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

Scheduled Dates

Please select from the dates below to make an enquiry or booking.


Different pricing structures are available including special offers. These include early bird, late availability, multi-place, corporate volume and self-funding rates. Please arrange a discussion with a training advisor to discover your most cost effective option.

Code Location Duration Price Apr May Jun Jul Aug Sep
Later scheduled dates may be available for this course.

Course PDF


Share this Course


Recommend this Course