Xamarin.Forms Cross-Platform App Development Training for iOS, Android, and UWP (40542)

Level: Intermediate

During this official Microsoft Xamarin.Forms (40542) course, developers will learn to use a variety of techniques, from beginner to advanced, to develop cross-platform apps with Xamarin.Forms. Topics begin with the basics of mobile application development with C# and .NET and then advance to include data storage with SQLite, using REST-based services, designing a shared UI with XAML, displaying data, and using effects and renderers to create enterprise quality cross-platform applications.

Key Features of this Xamarin.Forms Training:

  • Official Xamarin University content
  • After-course instructor coaching benefit

You Will Learn How To:

  • Build cross-platform mobile applications with C# using the Xamarin tools for Visual Studio
  • Build native UI for Android and iOS applications
  • Access REST services, store data locally using SQLite, customize data presentations and choose appropriate UI and design strategies that are best suited for a particular application

Choose the Training Solution That Best Fits Your Individual Needs or Organizational Goals

LIVE, INSTRUCTOR-LED

In Class Training

  • 5-day instructor-led training course
  • One-on-one after course instructor coaching
  • Pay later by invoice -OR- at the time of checkout by credit card
View Course Details & Schedule

Standard $3710

Government $3260

RESERVE SEAT

PRODUCT #8514

TRAINING AT YOUR SITE

Team Training

  • Bring this or any training to your organization
  • Full - scale program development
  • Delivered when, where, and how you want it
  • Blended learning models
  • Tailored content
  • Expert team coaching

Customize Your Team Training Experience

CONTACT US

Save More On Training with FlexVouchers – A Unique Training Savings Account

Our FlexVouchers help you lock in your training budgets without having to commit to a traditional 1 voucher = 1 course classroom-only attendance. FlexVouchers expand your purchasing power to modern blended solutions and services that are completely customizable. For details, please call 888-843-8733 or chat live.

In Class Training

Guaranteed to Run

When you see the "Guaranteed to Run" icon next to a course event, you can rest assured that your course event — date, time, location — will run. Guaranteed.

Xamarin.Forms Course Information

  • Software Requirements

    • 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).
    • iOS and Android devices for testing are highly recommended but not required. Students may use simulators/emulators to test their applications for learning purpospes.
  • Requirements

    • Basic knowledge of C# and six months of experience developing using .NET
  • Who should attend this course

    This course is for developers with at least 3+ months of C# experience and 6-12 months of .NET experience. Familiarity with the paradigms of Android, iOS, and Windows are helpful.

Xamarin.Forms Course Outline

  • 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

    • Define the state of mobile technology today
    • Discuss mobile app trends
    • Identify approaches to development
    • Discover the Xamarin Approach
    • Setup 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 ready

    After completing this module, 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)

    Maximize your ability to share code, 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

    • 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 this module, 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: Introduction to Cross-platform Development (XAM110)

    In this module, we will explore ways to structure your shared code using Portable Class Libraries, .NET Standard libraries, and Shared Asset Projects. We will look at the pros and cons of each approach and see how to access platform-specific features in each model.Lessons

    • Add shared components to your application
    • Share code using Shared Projects
    • Share code using Portable Class Libraries
    • Share code using .NET Standard Libraries

    Lab : Share code across Windows, Android and iOS

    • Display content from a shared JSON file onto Windows, Android and iOS
    • Use a portable library to display content on Windows, Android and iOS
    • Demonstration: Create a .NET Standard library and use .NET Standard APIs
    • Demonstration: Upgrade from PCL to .NET Standard Libraries

    After completing this module, students will be able to:

    • Share code across Windows, Android and iOS using a Shared Project.
    • Share code across Windows, Android and iOS using Portable Class Libraries.
    • Share code using .NET Standard Libraries.
  • Module 4: 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

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

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

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

    After completing this module, 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 5: 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

    • 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 this module, 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 6: Resources and Styles (XAM140)

    This module teaches you how to create a consistent and dynamic style for your application using Resources in XAML.Lessons

    • Avoid duplicate XAML with Resources
    • Create consistent UI with Styles
    • Make your Resources and Styles available across your entire app
    • Apply the user's Accessibility choices with built-in Styles

    Lab : Use resources to style an application

    • Group Exercise: Examine an app with repeated code
    • Use page-level resources
    • Dynamically update resources
    • Create an apply a style
    • Use style inheritance to refactor repeated code

    After completing this module, students will be able to:

    • Use page-level Resources.
    • Dynamically update Resources.
    • Create and apply a Style.
    • Use Style inheritance to avoid repeated Setters.
    • Create App.xaml.
    • Use application-wide resources.
    • Apply a built-in Style.
    • Customize a built-in Style.
  • Module 7: Data Binding in Xamarin.Forms (XAM270)

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

    • 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 this module, 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: Model-View-ViewModel (XAM320)

    In this module you will learn how to design your applications using MVVM. You will create View Models and use data binding and commanding to connect them to your UI. You will also use the Xamarin.Forms MessagingCenter to communicate between View Models.Lessons

    • Decide where to place code in Model-View-ViewModel
    • Define Visual Behavior
    • Use Commands
    • Test MVVM based apps

    Lab : Create an application using MVVM

    • Define a ViewModel
    • Create ViewModel Collections
    • Drive behavior through properties
    • Group Exercise: Use command to run behavior
    • Demonstration: Add unit tests for View

    After completing this module, students will be able to:

    • Define the layers in MVVM.
    • Create a View Model.
    • Control and activate events with selection.
    • Utilize properties to define Visual Behavior.
    • Employ Data Triggers.
    • Implement the ICommand interface.
    • Generalize a command.
  • Module 9: Patterns for Cross-Platform Development (XAM250)

    Use the Factory pattern, the Service Locator pattern, and Dependency Injection to access platform-specific APIs from shared code in a loosely-coupled manner.Lessons

    • Locate dependencies using the Factory Pattern
    • Use a Service Locator to register and retrieve dependencies
    • Use an IoC container to automatically inject dependencies

    Lab : Define, locate and use dependencies

    • Use the Factory Pattern to access a dependency from shared code
    • Group Exercise: Build a Service Locator
    • Use Dependency Injection

    After completing this module, students will be able to:

    • Define a Factory.
    • Assign a dependency to a Factory.
    • Access the Factory from shared code.
    • Define a Service Locator.
    • Register dependencies with a Service Locator.
    • Resolve dependencies from a Service Locator.
    • Register dependencies with an IoC container.
    • Inject dependencies.
    • Automate dependence injection.
  • Module 10: Consuming REST-based Web Services (XAM150)

    You will also learn some common strategies for dealing with the unique challenges that mobile devices face when communicating over the network.Lessons

    • 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 this module, 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.
    • 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 11: 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

    • 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 this module, 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 12: ListView in Xamarin.Forms (XAM280)

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

    •  
    • 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 this module, 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 13: Customizing ListViews (XAM312)

    During this module you will learn how to use and customize the ListView in Xamarin.Forms. You will be able to define a row template, add headers/footers, and display grouped data. You will also survey several performance-tuning strategies including cell caching.Lessons

    • Create custom cell definitions
    • Add headers and footers
    • Separate your data into Groups
    • Performance-tune your ListViews

    Lab : Customizing ListView in Xamarin.Forms

    • Provide a custom cell template for our ListView
    • Add a header and footer to the ListView
    • Group Exercise: Add Grouping support to our Character List
    • Add a quick index
    • Turn on recycle caching

    After completing this module, students will be able to:

    • Use ViewCells to define custom cells.
    • Create Data Templates in code.
    • Define unique Row Visuals.
    • Use ViewCells to define custom cells.
    • Create Data Templates in code.
    • Define unique Row Visuals.
    • Sort data in a ListView.
    • Filter data in a ListView.
    • Group data in a ListView.
    • Group header data.
    • Group Templates.
    • Implement performance optimizations for ListView(s).
  • Module 14: Xamarin.Forms Effects (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

    • 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 this module, 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.
  • Module 15: Xamarin.Forms Renderers (XAM335)

    In this module, you will see how to use a Renderer to implement the UI and behavior for a fully custom control. In addition, you will use a Renderer to modify the behavior of an existing control to meet your app’s specific needs.Lessons

    • Embed native controls into Xamarin.Forms
    • Customize a renderer for an existing control
    • Create a renderer for a custom control
    • Send notifications between renderer and element

    Lab : Implementing Automation

    • Add a native control to a Xamarin.Forms layout
    • Create a hyperlink label renderer
    • Create a custom control
    • Create a renderer for a custom control
    • Interact with the renderer

    After completing this module, students will be able to:

    • Define a native control.
    • Add a native control to a Xamarin.Forms layout.
    • Extend an existing renderer.
    • Apply a customized renderer.
    • Create a custom element.
    • Create a renderer for a custom element.
    • Send from renderer to element.
    • Send from element to renderer.    

Team Training

Xamarin.Forms Training FAQs

  • What is Xamarin?

    Xamarin tools are used to write native Android, iOS and Windows apps with native user interfaces which can share code across platforms, including Windows and iOS.
  • Can I learn to create cross platform mobile apps with Xamarin.Forms online?

    Yes! We know your busy work schedule may prevent you from getting to one of our classrooms which is why we offer convenient online training to meet your needs.
  • What are the programming languages that support Xamarin development?

    C# programing is the language that supports Xamarin development.
  • What is the major advantage of Xamarin development?

    You can deliver native iOS, Android and Windows apps using existing Skills, teams and code. It has the added advantage over native apps of speeding up the process without compromising on cost

Questions about which training is right for you?

call 888-843-8733
chat Live Chat




100% Satisfaction Guaranteed

Your Training Comes with a 100% Satisfaction Guarantee!*

  • If you are not 100 % satisfied, you pay no tuition!
  • No advance payment required for most products.
  • Tuition can be paid later by invoice - OR - at the time of checkout by credit card.

*Partner-delivered courses may have different terms that apply. Ask for details.

Herndon, VA
Ottawa
New York
Herndon, VA
Ottawa
New York
Herndon, VA
Ottawa
New York
Preferred method of contact:
Chat Now

Please Choose a Language

Canada - English

Canada - Français