Xamarin iOS App in C# & Firebase
4.7 (32 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.
2,145 students enrolled

Xamarin iOS App in C# & Firebase

Developing a complete iPhone application using C Sharp in Xamarin Studio with Firebase backend
4.7 (32 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.
2,145 students enrolled
Created by Amir J
Last updated 11/2017
English
Current price: $48.99 Original price: $69.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 5.5 hours on-demand video
  • 34 downloadable resources
  • 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
  • Full fledged iOS development of a grocery list app
  • Various outlets and dynamic interface development
  • Backend database using Firebase
Course content
Expand all 60 lectures 05:35:44
+ Introduction
2 lectures 15:14

In this lesson, we will look at the course ahead of us. We will explore the different aspects of the course and what we are about to develop.

Preview 10:41

In this lesson, we will start a new app in XCode and test our simulator.

Starting a New Project and Testing Simulator
04:33
+ Lists View Controller
12 lectures 51:30

In this lesson, we design our outlets and also name them as well the name for our table view cell

Preview 05:11

In this lesson, we will add a new view controller through storyboard called Lists View Controller. We'll also connect the data source and delegate for our table view in storyboard. We should make a button outlet for the profile button.

Preview 04:15

In this lesson, we will add the only two absolutely necessary methods of our data source. We will also add the protocols we need in our .H file.

Preview 05:10

In this lesson, we will do a quick test on our data source.

Preview 04:24

In this non-programming lesson, we will look at how our data is structured.

Understanding Our Data Structure
03:33

In this lesson, we will add our Item Class.

Adding Item Class
01:37

In this lesson, we will add our List Class.

Adding Grocery List Class
00:54

In this lesson, we will add our User Class.

Adding User Class
01:38

In this lesson, we will add our App Data class's starting elements. We would need to introduce and initialize our Current Lists as well as a dummy current user.

Adding App Data Class
06:11

In this lesson, we will add our first list, we will not however write it to disk as we still don't have that function.

Preparing First List
04:45

In this lesson, we will add a modify our table view data_source to accurately represent our values in the app.

Testing Out the Initial List
05:20

By now, we have a list view interface where we can view our basic starter lists. Now let's try and add a new list. In here, once everything work, we will face a new issue and that is our app will not maintain its data between two sessions of the application. We will address that in our next section.

Adding a New List
08:32
+ Data Handling
4 lectures 29:39

In this lesson, we will have a quick look at why we have to record our data on the disk and what component we should add to do so.

Preview 01:45

In this lesson, we will add a new method to our app data where all of our lists get written to the disk using a json serialization. To write data, we will also introduce a new OfflineLst.

Write and Read Data and User Method
14:33

In this lesson, we will adjust our list view to properly read and write data to the disk. We will also make sure if we make a new list, it gets written to the disk.

Reading Data Method Part 1
08:47
In this lesson, we will learn how to delete a list by dragging it.
Deleting a List by Dragging
04:34
+ Items View
10 lectures 48:46

In this lesson, we head back to our storyboard and design our items interface.

Preview 06:22

In this lesson, we add a new view controller through storyboard, build our outlets and name all of them including the cell.

Items View Controller
03:00
In this lesson, we will code the navigation to and back from items view controller.
Navigating to Items View Controller
03:52
In this lesson, we will introduce our curList which is the list that we have clicked on in the Lists Activity. We will pass an argument through our PrepareForSgue.
Cur List
06:04

In this lesson, we will add a new data source to populate our items table view.

Items Table Data Source and Populating Items Table View
11:38

In this lesson, we change the status of an item by clicking on it, we also write our data to disk after doing that.

Clicking on an Item
03:04

In this lesson, we learn how to delete an item by dragging over it.

Dragging to Delete an Item
03:33
In the previous lesson, once we set everything correctly to delete and item, we realize that the Lists View Controller doesn't update its table view properly. That we will take care of in this lesson.
Reloading Table View in View Did Appear
02:10

In this lesson, we will learn how to add an item by pressing the done button on the text field.

Adding a New Item
06:13

In this lesson, we will look back at everything we have done so far and we try to make sense of everything we have done so far and how we could build on those.

Preview 02:50
+ Backend
24 lectures 02:29:30
Once we setup everything in our console, we will add the google plist file. It's quite important to import and add it as a bundle resource.
Preview 09:24

In this lesson, we will add the components and packages needed for firebase to work.

Preview 02:22
In this lesson, we write the code for our Firebase connection as well as our new OnlineLST
Initializing Firebase in AppData
07:27

We will do a quick test on Firebase in this lesson to make sure it works properly.

Testing Out Firebase
12:57

In this lesson, we will add a new method to show messages to user.

Alert Show Method
03:48

In this lesson, we will learn how to add the various profile actions to our login button.

Profile Action
05:40

In this lesson, we will add an alert dialog for when the register button is pressed.

Register Alert View
08:41

In this lesson, we will learn how to actually register our user on Firebase back-end.

Register Method
12:04
In this lesson and after registration, we will discuss how to change the local user.
Set Local User
05:34

Once user is created, we should write its main data to our back-end.

Save User Main Values on Cloud
05:34
In this lesson, we will learn how to save an entire list to our online back-end.
Save All User Lists Online
09:24

In this lesson, we will write the alert view for our login menu. This code is little too long and also trivial, so we will use a little cheat in here, we will also make our read data to become a Task Method.

Login Alert View and Method
05:26
In this lesson, we will learn how to change our void methods to Task.
Async Task Methods
04:26
In this lesson, we will look at how to use the assets that are coming with these lessons.
Using Asset Files
01:56
In this lesson we introduce the onlineLST array and we also write the code to read the online lists in our app data.
Reading Online Data
09:19

In this lesson, we will write a comparison method to compare two sets of Lists.

Compare Lists Method
10:41
In this lesson, we will code our log out method.
Logging Out From Cloud
05:49

Through setting our profile button, we can give our user a little feedback on whether they are online or offline.

Setting Profile Button
04:24
In this lesson, we will learn how to add a new list on cloud.
New List on Cloud
01:39

In this lesson, we will learn how to delete a list from cloud.

Delete List on Cloud
04:45

In this lesson, we will learn how to add an item on cloud.

Save a New Item on Cloud
08:27

In this lesson, we will re-write our items once they are tapped on.

Change Item Status on Cloud
01:43

In this lesson, we will learn how to delete an item.

Delete Item on Cloud
04:13
This is also a good time to test all of our login, register methods once again. In here, we realize that we need to call our readData once again at the end of the register method. We will also test our application by manually adding an item to the cloud.
Preview 03:47
+ Invitations
8 lectures 41:05
In this lesson we will write the beginning of sharing a list through clicking the share list button.
Share This Function
05:54

Once we found an invitee user, we will have to send them an invitation.

Sending an Invitation
10:13

In this lesson, we will add a new class to hold on to our invitation objects.

Invitation Class
03:00

In this lesson, we will read the content of "MyInvitations" node and populate the list of invitations coordinates.

Reading Invitation Node
03:13

In this lesson, we will convert the invitation data into actual invitations lists.

Loading Invitation Lists
06:55

In this lesson we will learn how to remove an invitation.

Removing an Invitation
03:12

In this lesson, we will find how to delete a list that user is invited to

Deleting a List
04:26
In this lesson, we will look back at everything we have done and we look ahead at what else could be done.
Preview 04:12
Requirements
  • Understanding of basics of programming in any language
  • Basic familiarity with iOS development
Description

In this course, we will learn how to develop a complete iPhone application using Visual Studio (or Xamarin Studio) C Sharp and Firebase. Throughout the course, we will discuss a wide range of topics such as interface design, databases and data structures as well as user authentication through Firebase MBaaS. This course is designed to cover a wide range of audience. It can be useful to people with basic understanding of iOS development and programming. It is also useful if you wish to learn more about data structures, reading and writing local and remote databases.


Who this course is for:
  • iOS developers planning to move on to Xamarin and C#
  • C# programmers planning to learn iOS development