Development Course

course overview

Click to View dates & book now


This course teaches C# .NET developers how to build cross-platform mobile applications with a shared UI for iOS, Android, and UWP using Xamarin. Topics include entry-level mobile development, leveraging platform-specific features, and storing and displaying data. Students will also learn advanced topics such as using effects and renderers.


This course teaches C# .NET developers how to build cross-platform mobile applications with a shared UI for iOS, Android, and UWP using Xamarin.This course is intended for developers with at least basic C# knowledge with 6-12 months of .NET experience.


- IOS development requires a Mac running the latest OS, with XCode and Visual Studio installed

- Windows development requires a Windows 10 PC with Visual Studio 2017 and the Mobile development with .NET workload installed

- Android development requires either a Mac or PC with Visual Studio installed (see requirements above)

- An iOS and an Android device are highly recommended

Skills Gained

  • Create cross-platform mobile applications that run on iOS, Android, and UWP using the Xamarin tools for Visual Studio.
  • Access REST services, store data locally in a SQLite database and visual data using a shared XAML UI definition.


  • Basic knowledge of C# and six months of experience developing using .NET.


Module 1: Getting Started with Xamarin (XAM101)

By the end of this module, you will be able to choose the Xamarin approach that is right for you. You will also set up your development machine and run an app on Windows, the iOS simulator, and an Android emulator.

Lessons for module 1

  • Define the state of mobile technology today
  • Discuss mobile app trends
  • Identify approaches to development
  • Discover the Xamarin Approach
  • Set up your development environment

Lab : Building Cross-Platform Applications with Xamarin

  • Demonstration - Cross-Platform Applications with Xamarin
  • Demonstration – View a Xamarin.Forms Project
  • Setup Validation – Validate your development environment is ready

After completing module 1, students will be able to:

  • Identify mobile development trends.
  • Identify the different approaches to mobile development.
  • Describe the Xamarin approach to development.
  • Set up and validate their development environment.

Module 2: Introduction to Xamarin.Forms (XAM120)

During this module, you will create a new Xamarin.Forms application and define your shared UI in code. You will also see how to access platform-specific features such as the phone dialer that do not have a shared-programming model integrated into Xamarin.Forms.

Lessons for module 2

  • Create a single screen cross-platform application
  • Cross-Platform Applications with Xamarin
  • Arrange the UI using Layouts
  • Use platform-specific features in shared code

Lab : Using Xamarin.Forms to build a single screen cross-platform application

  • Create your first Xamarin.Forms application (Group Exercise)
  • Create Xamarin.Forms Phoneword
  • Add support for dialing the phone

After completing module 2, students will be able to:

  • Create a single screen cross-platform application.
  • Cross Platform Applications with Xamarin.
  • Arrange the UI using Layouts.
  • Use platform-specific features in shared code.

Module 3: XAML in Xamarin.Forms (XAM130)

This module shows you how to define your UI in XAML. You will create pages and add controls, all in markup. You will also see how to access UI elements from code so you can subscribe to UI events and update UI properties as your data changes.

Lessons for module 3

  • Examine XAML Syntax
  • Add behavior to XAML-based pages
  • Explore XAML capabilities

Lab : Create a XAML-based calculator app with behavior and tailor the UI to each platform

  • Create a XAML-based version of a calculator
  • Add behavior to the app
  • Clean up the XAML code and tailor the UI to the platform

After completing module 3, students will be able to:

  • Identify the differences between Microsoft XAML and XAML for Xamarin.Forms.
  • Write XAML for Xamarin.Forms.
  • Access elements in code behind.
  • Handle events.
  • Use device-specific values.
  • Use markup extensions.
  • Use ContentView to share XAML.
  • Compile XAML.

Module 4: Layout in Xamarin.Forms (XAM135)

This module contains in-depth coverage of StackLayout and Grid, the two most popular layout containers in Xamarin.Forms. You will also learn how to add support for scrolling when your UI is too large for the available screen area.

Lessons for module 4

  • Specify the size of a view
  • Arrange views with StackLayout
  • Apply Attached Properties
  • Arrange views with Grid
  • Scroll a layout with ScrollView

Lab : Build user interfaces using stack and grid layouts

  • Use StackLayout to build a UI
  • Use a Grid Layout to build a UI

After completing module 4, students will be able to:

  • Size views.
  • Add views to a StackLayout in code and XAML.
  • Specify layout orientation.
  • Use Expands to request extra space.
  • Apply an Attached Property in code.
  • Apply an Attached Property in XAML.
  • Specify grid row and column sizes.
  • Add children to grid cells.
  • Use ScrollView to add scrolling.
  • Set the scroll direction.

Module 5: Consuming REST-based Web Services (XAM150)

In this module, you will learn some common strategies for dealing with the unique challenges that mobile devices face when communicating over the network.

Lessons for module 5

  • Obtain the device's network capabilities
  • Introduce REST
  • Consume REST services with Xamarin
  • Integrate with platform-specific network features

Lab : Use, consume, and communicate with REST services

  • Determine the network connectivity
  • Communicate with a Book Service
  • Demonstration: Leverage the native platform network stack

After completing module 5, students will be able to:

  • Determine if the device has a connection.
  • Obtain the device's connection type.
  • Determine when network availability changes.
  • Identify REST services.
  • Utilize URLs in REST.
  • Describe guidelines for using REST.
  • Customize the HttpClient handler.
  • Leverage platform network stacks.
  • Use App Transport Security on iOS.

Module 6: SQLite and Mobile Data (XAM160)

During this module, you will learn how to identify the proper location for your database file and how to insert, update, retrieve, and delete data efficiently using asynchronous I/O calls.

Lessons for module 6

  • Choose a data storage strategy
  • Store data locally with SQLite
  • Use SQLite asynchronously

Lab : Utilize SQLite to store and access data

  • Determine your database file path
  • Add SQLite.Net to your projects
  • Access a SQLite database with SQLite.Net
  • Access a SQLite database using asynchronous methods

After completing module 6, students will be able to:

  • Identify data storage options.
  • Select a storage location.
  • Get the storage path for each platform.
  • Add a SQLite Portable Class Library to the project.
  • Define SQLite table schema using attributes.
  • Create and connect to a SQLite database.
  • Perform basic CRUD operations.
  • Refactor database connection to use SQLiteAsyncConnection.
  • Refactor table creation to use Async counterpart.
  • Refactor CRUD operations to use Async counterparts.

Module 7: Data Binding in Xamarin.Forms (XAM270)

Use Data Binding in Xamarin.Forms to connect your application's data to your UI.

Lessons for module 7

  • Use data binding to decouple code-behind from UI
  • Use value converters to bind incompatible types

Lab : Use Data Binding in Xamarin.Forms

  • Group Exercise: Use Data Binding in a Xamarin.Forms Application
  • Keep the UI and data in sync using Bindings
  • Use Value Converters

After completing module 7, students will be able to:

  • Map data to visuals.
  • Create bindings in code.
  • Create bindings in XAML.
  • Work with binding context.
  • Change binding modes.
  • Implement property change notifications.
  • Perform textual conversions in XAML.
  • Create a value converter.
  • Apply a value converter in XAML.

Module 8: Using ListView in Xamarin.Forms (XAM280)

Use the Xamarin.Forms ListView control to display scrolling lists of interactive data.

Lessons for module 8

  • Display a collection with ListView
  • Add and remove items dynamically
  • Customize ListView rows

Lab : Use ListView in Xamarin.Forms

  • Display a list of items with a ListView
  • Select a row
  • Work with mutable lists
  • Add Pull to Refresh support

After completing module 8, students will be able to:

  • Provide data to a ListView.
  • Manage selection in a ListView.
  • Add, remove, and update data in the ListView.
  • Make UI-safe collection changes.
  • Modify collections in the background.
  • Alter the row visuals.
  • Use Data Templates.
  • Change the ListView separator.
  • Use built-in cell templates.

Module 9: Using Effects in Xamarin.Forms (XAM330)

This module teaches you how to use Effects to access and customize the native peer controls. This gives you the same power to modify the appearance of your UI as a native developer.

Lessons for module 9

  • Customize control appearance
  • Apply effects to controls
  • Create an effect

Lab : Implement Effects in Xamarin.Forms

  • Use platform-specific themes
  • Add and use an existing effect
  • Create a RoutingEffect
  • Create a custom Effect
  • Add an attached property

After completing module 9, students will be able to:

  • Change element properties.
  • Use platform themes to update native control appearance.
  • Resolve an effect.
  • Apply an effect programmatically.
  • Wrap an effect with RoutingEffect.
  • Apply an effect in XAML.
  • Create an effect.
  • Update platform specific UI.
  • Respond to UI changes and notifications.
  • Export an effect.
  • Add attached properties to an effect.
  • Use and update attached properties.

Talk to an expert

Thinking about Onsite?

If you need training for 3 or more people, you should ask us about onsite training. Putting aside the obvious location benefit, content can be customised to better meet your business objectives and more can be covered than in a public classroom. Its a cost effective option. One on one training can be delivered too, at reasonable rates.

Submit an enquiry from any page on this site, and let us know you are interested in the requirements box, or simply mention it when we contact you.

All $ prices are in USD unless it’s a NZ or AU date

SPVC = Self Paced Virtual Class

LVC = Live Virtual Class

Please Note: All courses are availaible as Live Virtual Classes

Trusted by over 1/2 million students in 15 countries

Our clients have included prestigious national organisations such as Oxford University Press, multi-national private corporations such as JP Morgan and HSBC, as well as public sector institutions such as the Department of Defence and the Department of Health.