Xamarin & Firebase: Authentication and Firestore for Xamarin
4.5 (42 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
277 students enrolled

Xamarin & Firebase: Authentication and Firestore for Xamarin

Create Android and iOS Apps that use Firebase Authentication and Cloud Firestore Services, and use Mobile DevOps (CI/CD)
4.5 (42 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
277 students enrolled
Created by Eduardo Rosas
Last updated 2/2020
English
English [Auto]
Current price: $41.99 Original price: $59.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 7 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Source Control Basics with Git and GitHub
  • Xamarin Forms Basics (XAML for UI Definition and C# for Code Behind Logic
  • Using the MVVM Pattern in Xamarin Forms Apps
  • Using Dependency Services in Xamarin Forms Apps
  • Implement Firebase Authentication through Dependency Services
  • Use Cloud Firestore databases in Xamarin Forms
  • Mobile DevOps with App Center (Continous Integration and Continuous Delivery)
Course content
Expand all 41 lectures 07:08:53
+ Source Control with Git & Github Basics
5 lectures 36:09

Install Git and initialize a Git repository for a new folder that you create from the terminal on Mac or Git Bash on Windows.

Initializing a Local Repository
06:23

Make changes to files inside the local repository and learn to stage and commit them with Git so that there is a new version of your source code available.

Commiting Changes to the Local Repository
08:29

Learn to create new branches within your Git repository, switch between them (using git checkout) commit to different branches and eventually merge them together using git merge.

Working with Branches: Adding, Switching and Merging
09:22

Create a new repository hosted by Github and push your local repository (with commits, branches and all) to that remote repository by adding a new remote to the local git repo, and enabling upstream branches for easy pulls and pushes.

Remote Repositories with GitHub
08:11
+ Xamarin Basics and the MVVM Pattern
11 lectures 01:28:53

Introduction to Xamarin in which I talk about the tools that you will need for developing Android and iOS apps as well as where to get the installer for Visual Studio 2019 on Mac or Windows.

Preview 04:27

In this lecture we go through the process of getting all the tools needed for Xamarin development on a Mac computer, from Xcode for the iOS SDK, to Visual Studio for Mac and its tools.

Preview 04:42

In this lecture we go through the process of installing Visual Studio 2019 on Windows, along with the tools that we will need for Xamarin development.

Preview 04:40

Where to get the source code for this Xamarin basics section, over on a Github repository.

The Source code for this Section (available on Github)
01:59

Let's go through the process of creating a new Xamarin project on either Visual Studio 2019 for Mac or on Windows, and take a look at the project structure.

Creating a New Xamarin Project on Visual Studio 2019 (Windows & Mac)
12:36

XAML, the markup language used by Xamarin to define the UI for the application, lets start using it.

Introduction to XAML: The Language to Define the UI
08:47

Using C# in the code behind for the UI to react to user interaction and create the logic.

Code Behind: Using C# to Code the Logic for the Application
10:00

Let's familiarize ourselves with Data Binding on XAML, its syntax, and how it works so that it is easier to get an introduction to the MVVM architectural pattern.

Data Binding: Powerful XAML Feature to Enable MVVM
11:44

Here you will implement the INotifyPropertyChanged interface so that we can communicate changes in property values from the View Model to the View and vice versa.

The INotifyPropertyChanged Interface: Enabling View-ViewModel Communication
14:14

We will use the ObservableCollection<T> class —which implements the INotifyCollectionChanged interface— to have a list of objects in the view model that can easily be bound back to a ListView in the UI.

The ObservableCollection<T> Class: The Ideal List for MVVM
05:45

ICommand will enable us to react to user interaction in the MVVM pattern, from the View Model, by binding an ICommand property to the command of buttons and a bindable property to the command parameter as well, using Execute and CanExecute methods for each command.

Preview 09:59
+ Authentication with Firebase
7 lectures 01:33:57

Before implementing the authentication functionality with the help of Firebase, we need to define the UI for our Xamarin application.

The Register & Login User Interface
13:12

In this lecture, we configure our Xamarin Forms (iOS) application to use Firebase, directly from the Firebase console and by adding some files and libraries to the iOS project.

Configuring our iOS App to use Firebase
10:55

In this lecture, we configure our Xamarin Forms (Android) application to use Firebase, directly from the Firebase console and by adding some json files and libraries to the Android project.

Configuring our Android App to use Firebase
05:19

Our Android and iOS projects both have different libraries being referenced, for us to use these two libraries in one single Xamarin Forms project we need a powerful Xamarin feature called Dependency Services, which will require first of all an interface that defines the "shell" of the functionality.

An Interface to Enable Dependency Services for Multiplatform Firebase Code
11:32

Implementing the interface previously created in an Android-specific class so we add the actual Firebase authentication functionality for the methods (members of the interface)

The Android-Specific Implementation of Firebase Authentication
14:16

Implementing the interface previously created in an iOS-specific class so we add the actual Firebase authentication functionality for the methods (members of the interface)

The iOS-Specific Implementation of Firebase Authentication
12:45
Using the Platform-Specific Implementation in Shared Code
25:58
+ Cloud Firestore Databases
10 lectures 02:33:11

Using Navigation Page to enable navigation between our Xamarin Forms pages

The App's Navigation: Adding the List and the "Add New" Page
16:11

Configuring the Cloud Firestore Database in the Firebase Console and creating the Interface what will enable Dependency Services in our Xamarin Forms project.

Cloud Firestore Setup & Dependency Services Interface
11:21

Implementing the Android and iOS functionality for inserting new documents to a Cloud Firestore collection

Inserting to the Cloud Firestore Database (Adding Documents to the Collection)
16:42

Connecting the Dependency Service to the View and testing the functionality on Android and iOS

Testing the Insert Functionality on Android and iOS Devices
17:26

Creating a ListView and its ObservableCollection<T> so that we can list the subscriptions that will be read from the Cloud Firestore database.

Creating a ListView to List the Subscriptions
13:52

Implement the Read functionality for iOS, so that the documents from a specific collection can be read using a where query so that only the documents that belong to the authenticated user are returned.

The iOS Implementation for Reading Cloud Firestore Documents
17:29

Implement the Read functionality for iOS, so that the documents from a specific collection can be read using a where query so that only the documents that belong to the authenticated user are returned.

The Android Implementation for Reading Cloud Firestore Documents
18:12

Create and navigate to a subscription details page where users will be able to edit and delete elements. Use ListView's selected item property to navigate to the details for the selected cell.

Creating and Navigating to a Details Page
22:01

Add the iOS & Android functionality to update Cloud Firestore documents with new information.

Updating Cloud Firestore Documents
13:59

Add the delete functionality for iOS and Android so that we can delete documents from the Cloud Firestore collection.

Deleting Cloud Firestore Documents
05:58
+ Mobile DevOps with App Center: Continuous Integration and Continuous Delivery
8 lectures 56:43

Let's talk about App Center as a tool for Mobile DevOps and Continuous Integration and Continuous Delivery, create our accounts

Introduction to App Center: A Tool for Mobile DevOps
03:42

Automatically create the iOS and Android App Center Apps from the GitHub repository that contains a Xamarin Forms project.

Creating Android and iOS App Center Apps from Github
08:43

Trigger Automatic builds for both Android and iOS when we push to a remote Github repository so that Continuous Integration is ready.

Enabling Automatic Builds (Continuous Integration) in App Center
08:54

Sign Android builds directly from App Center by uploading the keystore file that it will use to sign the automatic builds.

Sign Android Builds to Enable Distribution
06:40

Sign iOS builds directly from App Center by uploading an AdHoc distribution provisioning profile and a p12 certificate from our Mac so that App Center can automatically sign all builds.

Sign iOS Builds to Enable Distribution
09:39

Creating the distribution groups that will receive all the new versions of our code on both the Android and iOS App Center Apps, and configuring automatic device registration for iOS devices through a p12 certificate.

Continuous Delivery to Distribution Groups
09:08

By now our users have received a notification that a new version of the application has been made available, now we install that version on both Android and iOS devices.

Preview 08:45

You now know about Source Control, Xamarin, Firebase, and App Center! Congratulations!

Congratulations!
01:12
Requirements
  • Some experience with Xamarin Forms is recommended, but the course also covers the basics.
  • Some experience with Git & Github is recommended, but the course also covers the basics.
  • A Mac will be necessary to build, test and deploy iOS apps, but alternatives are presented in the course.
Description

Welcome to the Xamarin & Firebase: Authentication and Firestore for Xamarin course, in which you will learn to Create Android and iOS Apps that use Firebase Authentication and Cloud Firestore Services, and use Mobile DevOps (CI/CD)

I created this course because Mobile App Development is about so much more than just learning a language or a tool such as Xamarin.

  • It is about working in teams and have source control in your projects

  • Working with authentication services

  • Working with databases

  • It is also about delivering your app to your users, preferably automatically

Which is why I have created this course, which covers all of this and more. In this course, you will learn

  1. The basics of Git & Github for version control

  2. The basics of Xamarin Forms so you create native apps that share C# and XAML code

  3. Powerful Xamarin Forms features such as Data Binding and Dependency Services

    1. Data Binding so that you use the MVVM architectural pattern

    2. Dependency Services so that you implement platform-specific code and use it in the shared code

  4. Firebase authentication for registering and authenticating users with email and passwords

  5. Cloud Firestore for real-time databases in the cloud

  6. The basics of App Center so that you implement Continuous Integration and Continuous Delivery in your development process

    1. CI so that you create automatic —signed— builds of your code when you push new commits to Github

    2. CD so that you distribute the signed builds automatically to your users.

With 7+ hours of HD video, you will learn the step-by-step process of using each of these tools in your Xamarin development process.

By the end of this course, you will not only feel more comfortable using Xamarin to develop Android and iOS apps, but you will also have a complete arsenal of tools under your belt!


Don't waste your time

Don't waste your time looking through the entire internet for all the things you need to learn, spending weeks learning a tool just to figure out that there is another tool to learn. This course is designed to be self-contained so that everything that you need to know about developing Xamarin applications is here.


Why you should pick this course among many others?

This course is unique in the way that it covers so many tools individually. Sure if you watch the entire course you will learn all of them, but if right now you only want to learn one, you can do that too! And when you are ready to learn another tool, there is no need for you to go looking for another course, this one already covers it! Learn how to use Git and GitHub with your Xamarin apps, then how to create powerful Xamarin Forms apps with MVVM, then how to use Firebase Authentication, then how to use Cloud Firestore databases, and finally how to use Mobile DevOps with App Center, or one topic at the time! It is all in here.


By the way, I'm so confident that you'll learn so much in this course that I offer a FULL money-back guarantee for 30 days! So it's a complete no-brainer, sign up today with ZERO risks.


See you inside!

Who this course is for:
  • Xamarin Forms developers who want to implement Firebase authentication and Cloud Firestore in their apps
  • Mobile Developers who want to get started with Xamarin and learn about Github, Firebase and Mobile DevOps in the process
  • Anyone looking to start a Mobile Developer career and wants to learn the basics of it all (source control, databases, auth, and DevOps)