Quality
8 min
In 2011, Google launched Firebase, a platform designed to help developers streamline the creation of modern apps. In 2020, the industry was met with an introduction to Supabase, which promised itself as the open-source Firebase alternative.
The team behind Supabase markets itself as a direct replacement for Firebase. You can even pick-and-choose services to fit your needs. But is it the perfect solution for web development? Here's an introduction to Supabase to help you decide.
The short and simple introduction to Supabase comes down to its core services: database, authentication, file storage, and auto-generated APIs.
In other words, this platform promises to offer everything you need to build a mobile app. If you're not familiar with instantaneous APIs, we explain it and compare Supabase to other providers here.
Just like Firebase, Supabase is designed to support the backend of a mobile app, except Supabase promises to simplify things. In fact, you can't read an introduction to Supabase without learning that it can help you create a backend in under 3 minutes.
Overall, Supebase is praised for offering an intuitive user interface. Services are easy to set up and manage, and it's particularly great for Firebase users who would prefer to use tables.
With that said, alternatives to major platforms like Firebase can't just pop up out of nowhere with equal footing. Let's take a closer look at how it compares to Firebase.
The team behind Supabase strives to be just as good as, if not better than, Google's Firebase. However, Supabase is still in its infancy. While Firebase has received years of support and updates from Google, which is arguably the biggest tech giant globally, Supabase is open-source software that's been live for less than two years.
Recognizing that Supabase is still relatively new is important because it's still growing. Whereas Firebase has a large user base and lots of support, which in turn makes it trustworthy and easy to integrate, Supabase is still trying to find its place in the market.
It provides all the backend services you need to build a product. You can use it completely, or just the services you require.
So, here's a more thorough introduction to Supabase to show how it stacks up next to Firebase.
Authentication services allow developers to manage app users and provide them with secure options for creating an account and logging in and out of that account. In both Supabase and Firebase, you have the same options.
Both handle authentication in a similar manner, giving developers the ability to implement a simple email and password login or use Google for authentication.
However, Supabase uses the row-level security that's built into Postgres to offer a reliable, native solution for permissions.
When it comes to implementing authentication into your app, both platforms use the box method, which makes it very straightforward. In a Supabase project, you'll use the supabase_key and supabase_URL provided and plug that into your client-side application.
Using the API key, you connect the backend to the frontend, which makes user authentication possible. You can learn more about auth layers and services in our article on APIs and security.
The storage bucket that Supabase offers is very similar to the storage solution Firebase features. The only real difference here is that each platform has its own layout and naming conventions.
Some developers like that you can upload files into the database from the Supabase dashboard. Users also like the file storage interface, which is easy to navigate and use. So, interacting with the Supabase database to store things is easy, but what about the database itself?
Firebase and Supabase are strikingly similar in many areas, but their respective databases are where differences begin to show. While Firebase uses its own Realtime Database, you'll learn upon introduction Supabase that it uses a relational database. More specifically, Supabase uses PostgreSQL.
The team's decision to use Postgres for Supabase is strong, and they cite "the scalability and functionality required to legitimately compete with Firebase" as the primary reason.
Because Supabase uses Postgres, every new project has at least one new table. Every column in a Supabase table is subject to a scheme, and each new element becomes a row. From the Supabase dashboard, you'll be able to define schemas for your tables, but let's not turn an introduction to Supabase into a Postgres breakdown.
What's important is that you know that working with the Postgres tables inside Supabase takes a minimal understanding of SQL. The tables are similar in form and function to a standard spreadsheet, and the familiarity often creates efficiency, even for inexperienced developers. You can write queries using Javascript.
If you want to navigate the database from your dashboard, you can even use the out-of-the-box SQL editor. This is great news because the biggest concern surrounding a Postgres database is scalability.
At some point, your tables may be so full that they become impossible to navigate, which is when you would bring in a developer who can write SQL queries and call upon the database without manually going into it.
All in all, whether Postgres is an advantage or disadvantage over Firebase really comes down to developer preference--both Firebase's Realtime Database and Supabase's Postgres database offer great performance capabilities. So, let's continue with the introduction to Supabase and compare another important element.
Perhaps the single most criticized aspect of Firebase is its documentation. Despite having a tech giant behind it with widespread user adoption, Firebase users routinely complain that troubleshooting simply takes too much time and energy.
Part of the problem is that there are no "built-in" docs for Firebase. Instead, you have to navigate out to StackOverflow. Once there, you might find that understanding a given behavior or problem takes a lot of time, and ultimately the answer might not be in the documentation at all.
On the other hand, Supabase offers robust and intuitive documentation built right in. That makes Supabase a clear winner in this category.
In just a few minutes, a user can quickly find their way through the documentation inside the Supabase dashboard and likely solve any small problem all on their own, which is very valuable for keeping development on track.
It's no secret that the team behind Supabase created it as a Firebase alternative, but as a developer considering using Supabase, it's important to consider its potential beyond being the "next best thing." If you feel like you're settling for Supabase, it's probably not a good fit. In reality, Supabase is trying hard to set itself apart.
As the development team put it, "We started Supabase because we love the functionality of Firebase, but we personally experienced the scaling issues that many others experienced. Our goal is to make Postgres as easy to use as Firebase so that you no longer have to choose between usability and scalability."
Fortunately, the team isn't merely replicating what Firebase is doing, they're also adding a handful of features that Firebase doesn't have.
Plus, it's great to see that the team is highly active and asks users to vote, like for new languages. Still, Supabase is an open-source solution, and it's in its infancy. If you're not sure if Supabase is the right choice, Adservio's digital delivery experts can offer guidance.
Are you thinking about using Supabase for your next development project? Are you currently working with Firebase but running into scalability concerns?
Supabase is taking a promising approach for projects big and small, but you should tread lightly until it gains the same widespread adoption that other platforms enjoy.
We believe that having as much information as possible is crucial to making an intelligent business decision. If your organization is considering Supabase as a solution, we can help you decide if it's the best option.
With our experience in development, optimization, and performance, our team is ready to assist you in finding best solutions for your unique needs and achieve your goals.
At Adservio our team is committed to understanding your priorities and concerns so we can find the best fit for your next project. To learn more about how we can help you achieve a successful project, contact us today.