Firebase 101

Aswin BarathAswin Barath
4 min read

What is Firebase?

Cover design by Aswin Barath

Let us first understand how is a full-stack application built.
A full-stack application consists of a front-end component and a back-end component.
A front-end component is what we see, as a user interface(UI).
A back-end component communicates with the UI to send, receive, store and/or delete data.

Firebase is Back-End as a Service (BaaS).
Firebase gives you all the benefits of a back-end without the complexities of creating one up from scratch.

Benefits of Firebase

Reduce Development Time
Let’s face it. We can get impatient when we want a full-stack application as soon as possible. With Firebase, you can cut down development time.

Security

Firebase provides built-in security. If you configure it in the right way, your app will be a solid fortress.

High-Speed Caching
Your app deployed using Firebase hosting gets cached on solid-state drives (SSD) throughout the world. Your app loading time will become extremely fast that also helps with SEO.

Realtime Data
Cloud Firestore database updates all connected clients in real-time. The ability to get real-time updates makes applications a lot easier to implement.

Firebase core services

Cover design by Aswin Barath

Firestore database

Screenshot from Firebase Platform

Firestore is an excellent choice these days as almost every app needs persistent data. The following are the benefits of firestore:

  • Realtime

  • NoSQL

  • Security

Realtime
Realtime means that for every change made in the database, the connected users are updated with these changes. This feature saves you a lot of time when you are developing applications. It provides clear logic and reduces your code length.

NoSQL
Firestore is a NoSQL document database. There has been a surf of popularity for NoSQL databases. A lot of developers find them more comfortable to use.

Security
Firestore provides a set of security rules with which you can easily create restrictions for who can read, write, update, or delete data from your database.

Hosting

Screenshot from Firebase Platform

Firebase Hosting is an easy-to-use service even for beginners. Following are some impressive reasons to use this service:

  • SSL for Every Site

  • Fast Servers

  • Deploy From CLI

SSL for Every Site
The SSL certificate is automatically provisioned and configured for each site deployed.

Cached on SSDs
Sites deployed to Firebase Hosting are cached on SSDs (Solid State Drive) for a low latency reliable experience.

Deploy From CLI
Deploying your app to the web from a local directory only takes one command.

Storage

Screenshot from Firebase Platform

We love to share photos, videos, and gifs. Firebase storage enables your users to store and share these files through your app. Some of the features of the Firebase storage service are:

  • Handle Large File Sizes

  • Flexible File Type

Handle Large File Sizes
Firebase storage can scale up to petabytes.

Flexible File Type

There are no limitations on the types of files you can upload, which means you can use this service for images, videos, PDFs, etc.

Authentication

Screenshot from Firebase Platform

Building an authentication system from scratch is tiresome and can get tricky. Firebase offers a solution to authentication that requires less code, less time, and better security through the following features:

  • Email and Password Authentication

  • OAuth authentication

  • Using an existing platform to authenticate a user is known as OAuth. Firebase utilizes Google, Facebook, Twitter, Github, and many other providers that you can use to authenticate your users.

Each Firebase service can be used on its own or together with the other services. Hence makes it easy to pick and choose the right services for your specific application.

Firebase offers various services.
So, I encourage you to take the time to explore the other services as well.

Accessing Firebase services

Cover design by Aswin Barath

Firebase API follows a straightforward approach.
Invoking these methods will get you access to each Firebase service.

Design by Aswin Barath

Syntax to access Firebase Firestore

firebase.firestore()

Syntax to access Firebase Authentication

firebase.auth()

Syntax to access Firebase Storage

firebase.storage()

Firebase hosting commands

Firebase Hosting uses a command-line interface instead of methods on the Firebase object. Run the following commands:

Initialize a Firebase project

firebase init

deploy a Firebase project

firebase deploy

Who Am I?

I’m Aswin Barath, a Software Engineering Nerd who loves building Web Applications, now sharing my knowledge through Blogging during the busy time of my freelancing work life. Here’s the link to all of my craziness categorized by platforms under one place: https://linktr.ee/AswinBarath

More Resources

Here are the best resources you may like from TechSoftware publication:

Keep Learning

Now, I guess this is where I say GoodBye👋.
But, hey it’s time for you to start learning with your newfound Knowledge(Power)👨‍💻👩‍💻 .
Good Job that you made it this far 👏👏
Thank you so much for reading my Blog🙂.

Originally published at dev.to

0
Subscribe to my newsletter

Read articles from Aswin Barath directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Aswin Barath
Aswin Barath

I'm an aspiring Software Engineer specializing in web development. I have built various web apps and utilities using Javascript, ReactJS and NodeJS technologies. I'm currently working on a full-stack project named JU Query, an online platform for University students to connect with peers, juniors and seniors, ask and answer doubts, help each other out as a growing community. I'm a polyglot programmer in diverse languages such as C, C++, Java, Python, JavaScript and TypeScript. I'm also a blogger where I have published various posts on programming, python language and course works to share my knowledge and spread awareness. I have received more than 10,000+ reads from platforms like Medium, Dev and Hackernoon. I love to contribute to the world through community work. I'm a community leader where I spread awareness, promote and educate students on how to code. I have personally taught Internet basics and front end web development for over 400+ students. I have additionally participated in several initiatives as an NSS volunteer. I'm a passionate learner who has gained knowledge from numerous events and workshops. I have learnt about Aeromodelling, Rover sensor project, Smart devices using the internet of things. And I have also won the runners up position in the open day competition conducted by IIAEM for building a cost-efficient Hydraulic Arm. My hobbies include sketching, graphic design, reading books, and watching selective movies.