What is Firebase?

The course is part of this learning path

Start course
3h 35m

In this course, we're going to create an Instagram Clone and learn how to work with cloud servers using Firebase. By the end of this course, you will be well-equipped to build your own apps!

Intended Audience

This course is designed for anyone who wants to:

  • Learn about iOS development and coding
  • Move into a career as an iOS developer
  • Master Swift skills


To get the most out of this course, you should have some basic knowledge of iOS.


Hi. Within this lecture, we're going to discuss what is Firebase and how we can leverage it in our apps. So, you have seen the intro video, right? You have seen the database, you have seen the authentication module and we're going to do that all with Firebase. I'm going to explain how to use Firebase, what kind of features Firebase provide us. And we're going to actually learn how to integrate Firebase to our excort projects during this couple of lectures. In order to do that of course, we're going to start by creating an Xcode project and then we're going to go to the Firebase and open a new project for us. And then connect the two projects together. So, let's say create a new project. And we're good to go with single view at this time again. And for product name, I'm going to choose insta clone Firebase. And in fact, we're not even going to use a single view app. We're going to use a tabbed controller in here and actually we could have chosen that tapped controller in the first place, but I'm not going to do that. I'm going to show you how to manually add this. So, let's go for IOS complete. And here we go, this is our project. So, let me make this into full screen. And before we go on and write any code or before we go on and do our user interface, let's open Firebase dot google dot com. So, as you may have already understood, this is a service by google. So, google provides this Firebase. So, this is kind of all in one solution in which we can get a close server and also we get the back-end services with this cloud server as well. I'm going to explain all of this in detail but first let us create our Firebase project in order to do that. You have to come here and sign in with your gmail account. After that you will see a go to counsel button here of which you can click on and go to your Firebase dashboard and if you don't have a gmail account please click here To create one. It's completely free. So, you can get a gmail account and you can use google services along the way. So, if you click on that, go to counsel you will see a screen like this. So, I have some existing projects in here but I believe yours is going to be much more clearer. All you have to do is just hit on this plus sign. So, in order to create a new project and we're going to choose the settings of our project as well. So, I believe we should do that together after you hit on the plus Button, you will just enter a project name 1st. So, I'm going to go for InstaClone Firebase. And then we're going to say continue. It will ask us if we want google analytics for our Firebase project as well. So, this is a great tool actually it let's us just analyze the statistics of our app. Like we can do some A B testing, we can do some user segmentation. If we put our app on app store it will be beneficial for us to track all of these numbers that how many users clicked on our app. How many users using our app. So, we can choose to go with this. But I'm not going to do that right now because if we do that it will ask us to create a google analytics account as well and in order not to make things further complicated, I'm just going to go with not right now and don't worry we can actually change this later on. We can add this feature later on. So, if you publish your app on the app store if you are in a need of some analytics for your app then you can come back here to add it. So, I'm going to create this project and it will take some time because it will create the whole project for me. And we're going to see what Firebase is once it gets done. So, here we go we can just click on continue and it should take us to the project dashboard and actually it didn't as you can see. If you come up in a situation like this, you can refresh the page and you will see the project appearing here and then you can actually choose the project to go to your project. dashboard. So, here you go. We now see the insta clone Firebase, let me just click on this and this is our project dashboard. So, first thing to do is to add our Firebase to the Xcode, but we're not going to do that right now. But rather we're going to discuss what is Firebase and why we are using it. Again this is a service by google. But it does it just doesn't provide a cloud database. It also comes up with SDK software development kits so that we can easily connect our Xcode project to this Firebase Cloud server so that we can communicate between the server. We can add new data to database. We can add some the images to the storage. We can do create some users with authentication module and everything. As you can see, we have different modules on the left hand side, we can create users with authentication, we can use database, we can use storage and we're going to learn them all. And in here, why do we even need a cloud server for example, let me suppose that I'm going to share a post. I'm going to add, I'm going to choose a new picture from the photo gallery. I'm going to add a comment and I'm going to share it with other people. So, if I use core data for example, it won't make sense because it will be stored on my phone, right? So, in order to let other people see my things, I have to put this on the internet. So, in a cloud server so that I can go to the other device and download this uploaded pictures and comments and everything so that I can see those all of this information in other devices as well. So, that all of the devices will be connecting to the same cloud network, same cloud database. So, Firebase actually provides us with that. So, in here you see the storage for example, we store some media like images, videos, whatever you come into your mind. So, in here for example you see functions if you want to run a code in your server rather than in your app, you can do that with Firebase as well. Of course it's not in the scope of this course because it require some backhand developments like Javascript, but we're not going to go into that of course. We're going to focus on building our app with Xcode but it's possible. So, Firebase has a lot of opportunities. We're going to be focusing on authentication, database and storage in here and we're going to learn the most important methods and functions regarding those modules. But actually, Firebase provides us more than that for example, as you can see we can integrate this to android apps. We can integrate Firebase to the IOS apps and web apps as well. So, if you're going to make an app in which you will put app store in the google play, so you're going to develop it for android and IOS and for web. you can use Firebase so that three of these platforms, we'll all have database, one storage, one authentication module. So, users can actually sign in in the android and IOS and in the web. So, you can build your own system with Firebase in a way you want. Another great feature of Firebase is that this is so fast. So, we're going to be working with a database called Fire store and with Fire store, you can easily upload data and download data within less than a second. So, it's ideal to create some real time databases, real time apps, like chatting app. Like if you want to get a service in less than a second then Firebase is the way to go. Later on the next step would be to actually integrate our export project with this Firebase project because we have created this now, I have to integrate this SDK software development kits to my project in order to communicate with the server. And in order to do that we're going to have to learn something called Cocoa Pods. Let's do that in the next lecture.


About the Author
Learning Paths

Atil is an instructor at Bogazici University, where he graduated back in 2010. He is also co-founder of Academy Club, which provides training, and Pera Games, which operates in the mobile gaming industry.

Covered Topics