Supabase And Related Open Source Technologies
What Is Supabase?
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. 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.
Supabase vs 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
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 similarly handle authentication, 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.
Storage
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 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??
Database
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 to 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 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.
Documentation
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.
The Future of Supabase
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 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.
Other Related Open Source Technologies
Parse is a complete open-source application stack and backend framework that offers a collection of tools and features to help you develop your apps.
The features include a spreadsheet-like database, dashboard, push notifications, APIs, object and file storage, user authentication, and more out of the box.
The software can be deployed to any infrastructure running Node.js, and uses MongoDB or PostgreSQL as a database, compared to Firebase, which only offers the NoSQL databases. You can also develop and test your app locally using Node.
Parse also offers cloud functions, email notifications, social login, GraphQL APIs, REST, and real-time notifications.
You can download the Parse Server framework and deploy it on any server. Its repositories include the dashboard, SDK JavaScript, Android, and iOS. To host the Parse Server, you can either do it on-premises or self-hosted by downloading and installing it on a server such as Alibaba, AWS, Google Cloud, or Azure among others.
Unlike Firebase, which locks you into Google’s framework, Parse is an open-source technology with no vendor lock-in. Plus, you can access its large open-source community and feature-rich framework, and there are no costs associated with it.
Back4App is an open source, low code, backend alternative to Firebase that’s based on the Parse platform. The software allows you to develop modern apps on a global scale and faster without managing infrastructure.
The platform offers data storage, APIs (REST and GraphQL), cloud code functions, push notifications, authentication, and file storage. You can store and query relational data on the cloud, build relational data models in minutes, and make the app accessible over APIs.
What makes Back4App a better alternative to Firebase is the fact that it’s open source, offers more databases unlike Firebase’s NoSQL, and doesn’t lock you to one vendor.
The platform allows you to perform complex relational queries and build relational data models in minutes within the truly serverless platform. You can deploy apps on any cloud and host web, IoT, and mobile apps.
Plus, you can leverage databases that enable quick and efficient data syncing and updates.
Back4App is easy to use, has a multitenant environment, and provides a low latency but fast performance environment. In addition, you get a fully managed service with 24/7 support and cache/CND implemented by default.
AWS is a cloud platform by Amazon that provides a set of tools and services, which can be used on their own or together. Mobile and front-end developers can use AWS Amplify to build scalable full-stack apps powered by the platform.
You can configure app backends and within minutes connect your app, deploy static web apps in a matter of clicks, and manage app content outside of the console.
The platform supports React, JavaScript, Vue, Angular, Next.js, and other popular web frameworks. It also supports mobile platforms like Flutter, iOS, Android, Ionic, and React Native so you can get to market faster.
Plus, you can set up secure authentication quickly using Amplify Auth, which flows with a fully managed user directory. You can also control who gets to access your web and mobile apps with native authorization capabilities.
AWS Amplify configures backends fast, seamlessly connects front-ends, deploys in a few clicks, and you can easily manage your content using the admin user interface. This way, you’re able to offer access to administrators and non-developers.
Among the use cases for AWS Amplify include onboarding flows, real-time collaboration, targeted push notifications and campaigns, and artificial intelligence or machine learning.
领英推荐
Unlike Firebase, whose only database is NoSQL, AWS Amplify provides GraphQL and REST APIs. Plus, Amplify offers an open-source backend, which Firebase lacks, so you’re not locked into Amazon or one vendor as you would with Firebase.
Amplify is fully integrated with AWS and offers user interface components and CLI plugins. You also get fine-grained authorization, pre-built UI components, intuitive configuration, and web and mobile front-end libraries.
Kuzzle is another open-source alternative to Firebase that helps you solve several digital needs such as single sign-on, collaboration, messaging, secondary screens, and more.
This cross-technology and the cross-industry platform are useful in various projects including building web or mobile apps, IoT apps, and middleware.
The platform includes a scalable server, administration console, multiprotocol API, and a set of plugins such as real-time pub/sub for advanced functionalities. You also get geofencing and blazing fast search.
A ready-to-use application stack that you can deploy on-premises and a backend with ready-to-use features that you can extend as you would with any framework are also available.
The platform provides a quick and effective way to deliver apps while helping your team focus on user interfaces and business logic. It also comes with native deployment, database integration, API, and search within the platform.
Product owners can give their customers a modern experience such as geofencing, real-time collaboration, and multi-device compatibility among other features.?For developers, the platform offers a Node.js backend with multiple protocols, storage, geofencing, search, and an API you can access using Kuzzle SDKs and your favorite dev tools.
Unlike Firebase, which relies on the NoSQL database, isn’t open source, and locks you into Google frameworks, Kuzzle offers Node.js and other databases. Plus, Kuzzle is open source and allows you to develop your custom business and other features for free.
You can also scale Kuzzle on-premises and scale horizontally on the intranet, any cloud service, your existing Linux or Docker infrastructure, and IoT hardware.
Couchbase is an open source, NoSQL document-oriented engagement database, and distributed server that’s designed to support today’s mission-critical apps. The open-source platform runs natively on-device and manages synchronization to the server for mobile and IoT environments.
Couchbase is built to offer large-scale interactive applications and the ability to manage low-latency data. The app was designed to satisfy requirements such as search, analytics, query, unified programming interface, core database engine, memory-first architecture, and more.
You get simple, powerful, and uniform app development APIs across connectors, multiple programming languages, and tools that will make it simple to build apps. These tools also help to speed up the time to market for apps.
Developers?also get to add intelligence to apps. They can do this by using full-text search, picking data access patterns that meet their requirements, and integrating data into their existing ecosystems.
Its analytics component offers powerful parallel query processing so that developers can execute long-running queries efficiently. This addresses the challenges of supporting apps that are not only scalable but responsive and ad hoc analytics on one dataset.
Unlike Firebase, which works only with NoSQL databases, Couchbase can scale easily to be more hardware efficient compared to other NoSQL databases. Thus, the database adds more RAM, CPU capacity, and disk space to grow horizontally and share the load.
You can use Couchbase for free and provide outstanding performance in the cloud, on-premises, in a container, or edge service at scale.
NativeScript is another open-source platform that you can use to create native mobile apps with one codebase using CSS and JavaScript libraries that you already have.
The framework can develop native apps with Angular, TypeScript, or JavaScript and is based on writing once and running everywhere logic.
The native apps you develop use the richness of the mobile platform and offer the performance you need for mobile devices. NativeScript uses native APIs and controls to render, allowing you to create more sophisticated apps compared to using a hybrid approach.
In hybrid apps, you don’t get the same performance or flexibility because they’re hosted on a different framework and don’t interact directly with low-level mobile APIs.
You can also build truly native apps easily using the Firebase Plugin by Master Verbruggen, to bring the real-time connectivity and speed of Firebase to NativeScript.
NativeScript is a suite of professional services and products which include troubleshooting reports, performance analysis, in-person training, performance analysis, and?coding assistance.
The platform is free and open source, doesn’t have vendor lock-in, and gives you an experience closer to native than those you’d get with hybrid frameworks. This is better compared to Firebase, which has vendor lock-in, and runs entirely on Google Cloud and not all services are free to start.
You also get built-in themes, flexibility, and customization unlike what you’d get with Firebase and platform APIs you can access directly from the code.
NativeScript also has plugins that let you access platform-specific and device hardware features. You also get a pre-installed camera plugin that lets you access the camera of your device and take pictures.
You can also install NativeScript Social Share Plugin to add platform-specific features like social sharing.
The platform allows you to build almost any kind of app like news, social networking,?games, and real-time apps like live feeds or chat apps. You can also build video and music streaming apps using the video player plugin, maps and geolocation apps, and apps that access the device hardware.
Reactive Database or RxDB is a real-time NoSQL database for JavaScript apps such as progressive web apps, electron apps, PWAs, hybrid apps, and websites. Reactive means that you get to query the current state while subscribing to all state changes like the result of a single field of a document or query.
For user interface-based real-time apps, the RxDB platform makes it easy to develop and also has great performance benefits.
You can replicate data between your server and clients because RxDB offers modules for real-time replication with any endpoints that are compliant with CouchDB and with GraphQL endpoints.
Among the core features of RxDB include real-time queries, replication, schema, encryption, multi-window tab support, and a key compression module.
The platform is open source, unlike Firebase, whose platform doesn’t offer all services for free to start. Plus, you get real-time queries, unlike Firebase, whose queries are slow, and you’re not locked into a particular vendor or Google Cloud framework.
LoopBack is an open-source Node.js framework that’s highly extensible and?helps developers?compose scalable APIs quickly. The platform runs on top of the TypeScript framework that’s based on the Express web framework.
This way, you can create dynamic end-to-end REST APIs quickly and connect to backend systems like REST or SOAP databases and services.
You can also create models based on the schema, or if you don’t, you can define models and build relationships between them.
The platform includes a new core to deliver great flexibility and extensibility. It also allows you to solve business issues such as expanding products and services to reach audiences of developers who consume the APIs.
LoopBack eases the creation of a REST API with minimal?coding?while offering a consistent way of designing and implementing APIs including the ORM, REST layer, and models.
The advantage LoopBack has over Firebase is that it’s open source, connects to legacy systems, and works with multiple databases, not just NoSQL like Firebase.
For developers, LoopBack helps you define your endpoints and schemas and write endpoints in modern JavaScript. You can also use defined endpoints and schemas as the source of truth without having to generate code.
Teams can also use LoopBack to review changes to endpoints without having to dig through JavaScript and maintain consistency through automation of endpoint and schema validation.
For your platform, you can use LoopBack to start creating your platform or framework. You can also use it to build standard libraries of reusable components and use connectors to integrate with web services, databases, and other platforms.
SashiDo is a platform that?helps developers?build APIs quickly. The open source service can help you build global serverless apps using scalable GraphQL API and NodeJS Rest, compared to Firebase, which only uses the NoSQL database.
With SashiDo, you can also build easy-to-use CMS, built-in CDN, CRUD, user management, object and file storage, system emails, relations, push notifications, and cloud functions among others.
You can automatically scale your app based on its need so you won’t have to worry about whether or not the app can handle the traffic. SashiDo also eliminates limitations of monthly requests for the service or requests per second, meaning your app is scalable to your needs.
You can also create web and mobile apps on any platform using any SDK you want, and deploy your custom business logic on your server the way you want it to be.
In addition, SashiDo allows you to integrate third-party tools using WebHooks, but you also get countless opportunities to expand your apps’ functionalities.
The open source platform is free to use, including all its features, unlike Firebase, whose features aren’t all free to start. Plus, you’re not locked into one framework and you can enhance your apps however you want to engage with your customers.
Conclusion
These open-source alternatives are all completely free to use. Before you pick any of them, consider software architecture, support, maintenance, and integration capabilities.
Think about the business-level compatibility that the app will bring, security, your audience, the features proprietary to the platform, and your return on investment (ROI). This way, you can pick an app development framework that’s unique and fits your business needs.
We recommend AWS Amplify because it’s not just open source but stable, feature-rich, and you’re not locked into a specific vendor.
?2022 aduki, Inc. ?????????????????????????????????????Opus Magazine?????????????????????????Issue #07