Firebase — Google’s Prodigal Son
When I joined Trasso in early 2017 as an Application Development Executive, I was tasked with improving and maintaining the backend logic for the platform.
It still makes my skin crawl when I think of the codebase I was supposed to be building on that had been left unfinished by the previous “developer” (if you can even call him that). The dude had gone ahead with PHP as the language of choice for creating the API needed for the Trasso mobile apps to interact with the SQL database.
Now before any of you guys start calling me out in the comment section for bashing PHP and SQL, I want to put a small disclaimer here:
PHP and SQL are extremely powerful in their own right but one must understand that the current use-case, (Trasso), requires a reactive, realtime database which is lightning fast as well as server-side logic which is multi-threaded and can integrate with the database seamlessly.
I had to go through the list of requirements for Trasso only once to realise that Google’s Firebase was the best to-go choice for us and I got started with building the whole backend again from scratch.
For those of you who don’t know what Firebase is; it used to be a simple project started by James Tamplin and Andrew Lee in 2011 as a tool for integrating chat functionality into websites. In late 2014 it was acquired by Google which saw the immense potential of the chat tool as a means to store and retrieve data in real-time.
Firebase has since then evolved from a simple Realtime Database to a complete platform that allows developers to host dynamic websites (Firebase Hosting) and deploy automatically scaling server-side logic without ever having to spin-up a server of their own (Firebase Cloud Functions).
As you can see, this was the perfect platform for us. We didn’t have to worry about spinning up server instances and configuring them to scale automatically when the load increased or decreased, not to mention the numerous maintenance tasks required to keep a server up and running efficiently. We could now focus on the logic for the backend and leave the rest to Firebase.
It was also a great help that Firebase provided us with an authentication system that was fully integrated with Google and Facebook. We no longer had to worry about creating a strong encryption system to store users’ passwords; Firebase handled that for us too.
One of the best things about using Firebase to host our backend logic was the fact that it was fully integrated with the Realtime Database and provided functions that would be automatically triggered when a change was made on the database. This way the server wouldn’t be polling for changes from the database and would utilise fewer resources.
The integration of the Firebase platform with our Android and iOS apps was also very seamless and simple thanks to Firebase’s brilliant mobile SDKs.
All in all, Google has really got it right on the money with Firebase and as a developer I am really interested in seeing how they move forward with it in the future.