Intro to Google Firebase - if you are a new Software Developer
Published: 2021-05-26 19:53:18

Hello World! This was the first line of code that I learned to write in Javascript to show up in the web. My name is Guillermo Hernandez and I am a new Software Developer with a background in Business Development that is making a career shift to something I am passionate about and want to continue to learn and grow in this field. This past week was Hack Week and I choose to work with Firebase and thought this will be a perfect opportunity to introduce Firebase to new/old Developers who haven't used their platform or just want some information regarding a serverless infrastructure.

What Does "serverless" even mean?

Besides what can be a huge cost to a company's IT budget, when I used to work as an Account Executive in probably one of the most expensive real estate cities, I used to work with clients who would outsource all of their IT and servers. It's good to point out - that there’s a misconception at times with new developers and that is the term serverless. There are plenty of servers still running in the backend but you are not managing them. Outside parties like - Google, Amazon, and Microsoft manage the servers and you manage the code. The upside of serverless is that it saves the user time and resources.

So what is Firebase?

It' s a platform developed by Google for creating mobile and web applications. It was originally an independent company founded in 2011. In 2014, google acquired the platform. Firebase was created for developers that need a fast solution to help build, improve, and grow in app. It helps create workflow automation through things like analytics, authentication, databases, configuration, file storage, push messaging, and several other Google cloud tools. We all know how big Google is. 

Client SDK(software development kit) provided by Firebase interacts with these backend services directly, with no need to establish any middleware between your app and the service. And if you need to know the difference between an API an a SKD - 

API - is a software intermediary that allows two applications to talk to each other. Picture, going on to your weather App and looking up the weather in your city for the next few days. You’re making a request to a server to get you the data you are searching for and then that data is being returned and you are able to view the weather for the next 5 days. You made an API call. 

SDK - as the acronym states its a kit. It provides you with tools and instructions to develop your app in a more modern and automated way. For example, if you need a debugger, database, API, libraries, code samples - depending on the platform, you may encounter a variety of tools.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/em0otylaj0i0xiuf76md.png)
 
The image above, you can see how the clients apps are inter-grated with Firebase and there's no middleware. As you can see from the image above - in a more traditional app development, the developer is creating the front end and the backend.The frontend evokes the API endpoints exposed by the backend.

Reason for this article?

Truth is I’ve accepted the 100daysofcode challenge every new programmer tries to accomplish. We also have a hack week and I’ve decided to tack on a mini project using Firebase. I will attempt to create a front-end application with Google’s authentication and database to create a sign-in page paired with React.js and a cool animation if I have time. I will document my progression and findings and hope not to end up like the meme of the dog sitting while everything else is burning around him.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ulh6yvcbj2ddz92huxam.jpg)

I also choose this because as a new developer, Firebase is free for all your experimental projects and scales up in a linear way based on your user growth and design choices.Unfortunately, AWS amplify gets you in a free tier and then charges you once you reach a certain limit. I hope this article was informative and if you ever wanted to try Firebase to go on and try it. Plus realtime database updates, how neat is that?!!

Thank you for spending time to read this article. Feel free to reach out to me and provide feedback or if you want to learn more about Firebase, I will be happy to answer questions.