Building Cross-platform Apps with Xamarin Forms

Paths

Building Cross-platform Apps with Xamarin Forms

Authors: Jeff Hopper, Jim Wilson, Gill Cleeren, David Broadfoot, Christopher Miller , John Kuefler

At its simplest, Xamarin.Forms is a mobile application framework for building user interfaces.

What You Will Learn

  • How to use the Xamarin Essentials library to bring access to native features into Xamarin.Forms applications
  • The process of deploying Xamarin.Forms applications to a device or store
  • The different options to extend Xamarin.Forms UI
  • The different navigation types in Xamarin.Forms
  • How to integrate maps in a Xamarin.Forms application
  • The architecture for enterprise-grade Xamarin.Forms apps
  • The Xamarin.Forms framework
  • How to develop a data-bound interface in Xamarin.Forms
  • How to design a UI in Xamarin.Forms using XAML
  • How to create a Xamarin.Forms solution and project structure
  • How to create a responsive layout for Xamarin.Forms applications
  • How to create list-based screens in Xamarin.Forms applications
  • How to create applications using the Xamarin.Forms Shell
  • How to arrange your Xamarin.Forms projects to promote code reuse
  • How to apply the MVVM pattern in Xamarin.Forms
  • How to apply testing techniques to Xamarin.Forms applications
  • How to apply localization in a Xamarin.Forms application
  • How to apply data access from a REST service in a Xamarin.Forms application
  • How to apply automation to the build and deployment process for Xamarin.Forms apps
  • How to apply XAML code to create Xamarin.Forms applications
  • How to apply UI code reuse with Styles in Xamarin.Forms
  • How to access data from a local database in a Xamarin.Forms application
  • How to access native platform features in Xamarin.Forms applications

Pre-requisites

  • Xamarin
  • .NET, .NET Standard
  • Visual Studio

Beginner

Learn the use case for Xamarin.Forms and get started with your first app.

Xamarin.Forms: The Big Picture

by Jeff Hopper

Dec 24, 2019 / 59m

59m

Start Course
Description

Xamarin.Forms helps .NET developers quickly create user interfaces by extending the Xamarin framework with a shared abstraction of the common UI objects of each platform. In this course, Xamarin.Forms: The Big Picture, you'll learn foundational knowledge of Xamarin.Forms to help make an informed decision of whether Xamarin.Forms can help with your cross-platform development efforts. First, you'll learn where Xamarin.Forms fits within the Xamarin ecosystem. Next, you'll discover the core components that make up the Xamarin.Forms framework. Finally, you'll explore how you can quickly get up and running developing cross-platform applications using Xamarin.Forms. When you're finished with this course, you'll have the skills and knowledge of Xamarin.Forms needed to make an informed decision of whether Xamarin.Forms is a good fit for your particular project.

Table of contents
  1. Course Overview
  2. What Is Xamarin.Forms?
  3. Xamarin.Forms Core Concepts
  4. The Development Environment
  5. When to Use Xamarin.Forms

Introduction to Xamarin.Forms

by Jim Wilson

May 13, 2019 / 3h 38m

3h 38m

Start Course
Description

The key to success in developing cross-platform mobile apps is efficiency and that’s what Xamarin.Forms provides: coding efficiency. With Xamarin.Forms, you’re able to create apps that run natively across iOS, Android, and Universal Windows Platform (UWP) from a single C# code base. In this course, Introduction to Xamarin.Forms, you’ll learn everything you need to build your first cross-platform app using Xamarin.Forms. First, you’ll start by creating a new Xamarin.Forms app that targets and successfully runs on iOS, Android, and UWP. After that, you’ll explore how to use Xamarin.Forms views and layouts to create user experiences that leverage the native features of each platform and automatically adapt to the display differences of each. Next, you’ll see how to incorporate logic, features, and functionality into your app, and leverage data binding to simplify displaying data to and receiving data from your app’s users. Additionally, you’ll delve into how to utilize a Model-View-ViewModel (MVVM) architecture to maintain appropriate separation between your app’s data model and display features. Finally, you’ll be shown how to create a rich multi-page app experience that supports communicating between the app pages while maintaining proper separation between the layers of your MVVM architecture. By the end of the course, you'll have the skills and knowledge necessary to start creating cross-platform apps with Xamarin.Forms.

Table of contents
  1. Course Overview
  2. Building Your First App
  3. Working with Views and Layouts
  4. Adding Functionality and Interactivity
  5. Connecting UI and Data with Data Binding
  6. Managing Data Presentation with Model-View-ViewModel
  7. Creating a Multi-page App Experience

Intermediate

Take a deeper dive into Xamarin.Forms while you learn about data binding, responsive layouts, deployment and more advanced techniques.

Building Xamarin.Forms Applications with XAML

by Gill Cleeren

Jan 15, 2019 / 3h 44m

3h 44m

Start Course
Description

Xamarin.Forms, a technology from Microsoft, allows us to build cross-platform mobile applications that run on Android, iOS, and Windows where we write the code once, including the UI code. Writing these UIs is done using XAML. In this course, Building Xamarin.Forms Applications with XAML, you'll see how you can apply XAML to build mobile applications with Xamarin.Forms for the major mobile platforms. First, you'll learn the XAML language and its syntax. Next, you'll discover how you can build application UIs using pages, layouts, views and lists. Finally, you'll explore how to apply styles to simplify UI development. When you're finished with this course, you'll have the skills and knowledge of building UIs with XAML for real-world Xamarin.Forms applications.

Table of contents
  1. Course Overview
  2. Course Introduction
  3. Learning the XAML Syntax
  4. Building Pages and Layouts
  5. Using the Built-in Views in Xamarin.Forms
  6. Creating a List Screen
  7. Adding Styles to Your Application

Data Binding in Xamarin.Forms

by Gill Cleeren

May 3, 2019 / 2h 29m

2h 29m

Start Course
Description

Writing data-driven Xamarin.Forms mobile applications using a traditional code-behind approach can be tedious and error-prone. On top of that, this approach is hard to test and maintain. In this course, you will learn all there is to know about data binding in Xamarin.Forms, which allows us to link data in the view with data in the model. First, you will delve into data binding, its syntax, the BindingContext and binding modes. Next, you will discover how to use data binding in several real-life application screens. Finally, you will explore how to use data binding for list screens. When you are finished with this course, you will have the skills and knowledge of data binding needed to data-driven Xamarin.Forms applications. After watching this course, you’ll be on your way to create much cleaner code for your mobile line-of-business applications.

Table of contents
  1. Course Overview
  2. Course Introduction
  3. Overview of Data Binding in Xamarin.Forms
  4. Binding to a Single Object
  5. Binding to a Collection
  6. Advanced Data Binding Concepts
  7. Data Binding and MVVM

Getting Started with Xamarin.Essentials in Xamarin.Forms

by David Broadfoot

Oct 1, 2019 / 2h 23m

2h 23m

Start Course
Description

At the core of mobile app development is a thorough knowledge of native functionality offered on each platform. In this course, Getting Started with Xamarin.Essentials in Xamarin.Forms, you will gain an understanding of how to leverage these unique operating system and platform services through one common C# API. First, you will learn how to use device services such as geolocation, geocoding and text-to-speech. Next, you will explore device sensors such as the accelerometer, gyroscope, and compass. Finally, you will discover how to integrate with other apps including maps, phone and email. In total, you'll learn 33 native feature that Xamarin.Essentials unlocks on Android, iOS, and UWP devices. When you are finished with this course, you will be able to apply the different components of Xamarin.Essentials to bring native features into your own Xamarin.Forms project

Table of contents
  1. Course Overview
  2. Getting Started
  3. Using Device Services & Status
  4. Using Device Sensors
  5. Integrating with Other Apps
  6. Using Storage, System Info, and Other Helpers
  7. Keeping Code Testable

Using the Xamarin.Forms Shell

by Christopher Miller

Dec 5, 2019 / 1h 32m

1h 32m

Start Course
Description

Creating apps take time, and in the world of technology creating applications at speed is crucial. In this course, Using the Xamarin.Forms Shell, you will learn foundational knowledge of Shell and the ability to create a Xamarin.Forms app. First, you will learn how Shell compares to the master/detail template. Next, you will dive into the Shell navigation types. Finally, you will explore how to use an icon font for scalable images on the flyout menu. When you’re finished with this course, you will know the basics of how to use Shell to quickly create a new app with Xamarin.Forms Shell.

Table of contents
  1. Course Overview
  2. Course Introduction
  3. Introduction to Xamarin.Forms Shell
  4. Understanding the Navigation Types
  5. Working with URI Navigation
  6. Using the Search Handler
  7. Styling the Shell

Working with Local Data in Xamarin.Forms

by John Kuefler

Oct 15, 2019 / 1h 45m

1h 45m

Start Course
Description

Mobile apps that don't leverage local data storage for caching and offline access often present a less polished experience to the end user. In this course, Working with Local Data in Xamarin.Forms, you’ll learn how to use a variety of local data storage options to enhance your app’s performance and flexibility. First, you’ll explore the different storage options that are available, so you can make the best decision about which type of local storage to use. Next, you’ll discover how to create SQLite databases, the most robust option available. Then, you’ll learn how to create a model to map the database, with a code first/ORM style experience. Finally, you’ll get a better understanding on how to set up and access data in the SQLite database using the models you’ve created, enabling things like caching and offline access. When you’re finished with this course, you’ll have a foundational knowledge of local data storage in Xamarin.Forms that will help you as you move forward to high quality Xamarin.Forms app development.

Table of contents
  1. Course Overview
  2. Introduction
  3. Local Storage Options in Xamarin.Forms
  4. Setting up SQLite Databases
  5. Accessing Data in SQLite Databases

Integrating Google Maps into Xamarin.Forms Apps

by John Kuefler

Jan 28, 2019 / 1h 18m

1h 18m

Start Course
Description

Implementing customized maps into Xamarin.Forms apps isn't the most straightforward process. In this course, Integrating Google Maps into Xamarin.Forms Apps, you’ll learn foundational knowledge and gain the ability to integrate Google Maps into Xamarin Forms apps. First, you’ll explore when to use the built-in maps options, and when to look to Google Maps. Next, you’ll discover how to set up the API keys you need to make Google Maps work in Xamarin.Forms. Finally, you’ll learn how to set up and customize a Xamarin.Forms Google Map. When you’re finished with this course, you’ll have the skills and knowledge of Google Maps needed in Xamarin.Forms to integrate rich, interactive maps within your apps.

Table of contents
  1. Course Overview
  2. Introduction
  3. Obtaining a Google Maps API Key
  4. Implementing the Map
  5. Map Customization

Building an Enterprise Mobile Application with Xamarin.Forms

by Gill Cleeren

Jun 25, 2018 / 3h 1m

3h 1m

Start Course
Description

Xamarin.Forms is the preferred way for Microsoft developers to build applications that run on Android, iOS, and Windows. To use Xamarin.Forms for real applications that meet today’s requirements for flexibility and testability, you need to structure code according to industry-standard architecture guidelines. In this course, Building an Enterprise Mobile Application with Xamarin.Forms, you will learn how a real-life application is built with Xamarin.Forms. First, you will see a proposed architecture that promotes code-reuse as well as testability and maintainability. Next, you will learn how MVVM can be used in Xamarin.Forms. Then, you will create loose-coupling through messaging patterns and dependency injection, which are integrated in the proposed architecture. By the end of this course, you will have a good understanding of a real-life application architecture for Xamarin.Forms applications.

Table of contents
  1. Course Overview
  2. Introduction
  3. Creating a Layered Architecture
  4. Applying the MVVM Pattern
  5. Creating Loose Coupling Through Dependency Injection
  6. Communicating Components Through Messaging
  7. Setting up Navigation and Dialogs Within the Application
  8. Accessing Native Device Features and Controls
  9. Testing the Setup with Unit Tests

Xamarin.Forms: Localization

by Christopher Miller

Mar 19, 2019 / 1h 11m

1h 11m

Start Course
Description

How do you write an mobile app that supports multiple languages and cultures? What issues will you need to resolve? In this course, Xamarin.Forms: Localization, you will delve into the basics of localization and how to implement it with Xamarin.Forms. First, you will learn what localization is and why your app should be localized. Next, you will see how to implement localization with your app and how to use machine translation tools to provide a stepping stone to using professional translation services. Finally, you will explore how to test your app with multiple languages and regions. When you have completed this course, you will skills and knowledge of how localize your app so that it can be sold through the app stores through out the world.

Table of contents
  1. Course Overview
  2. What Is Localization and Why You Should Be Using It
  3. Preparing Your App for Localization
  4. Getting Your Resources Translated
  5. Building an App and Translating It
  6. Testing the App