DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Low-Code Development: Leverage low and no code to streamline your workflow so that you can focus on higher priorities.

DZone Security Research: Tell us your top security strategies in 2024, influence our research, and enter for a chance to win $!

Launch your software development career: Dive head first into the SDLC and learn how to build high-quality software and teams.

Open Source Migration Practices and Patterns: Explore key traits of migrating open-source software and its impact on software development.

Related

  • No/Low-Code Versus SDK: What’s the Right Approach?
  • Introduction To Face Authentication With FACEIO in AngularJS
  • Hello YugabyteDB: Running Kong on the Distributed PostgreSQL Database
  • Conversational Applications With Large Language Models Understanding the Sequence of User Inputs, Prompts, and Responses

Trending

  • The Role of AI in Low- and No-Code Development
  • 10 ChatGPT Prompts To Boost Developer Productivity
  • Mastering Distributed Caching on AWS: Strategies, Services, and Best Practices
  • Agile vs. DevOps: What Sets Them Apart?
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Deployment
  4. Why I Chose Supabase as BaaS for My Projects

Why I Chose Supabase as BaaS for My Projects

Supabase is a promising platform for developing serverless applications, ideal for indie developers and startups. Learn more!

By 
Egor Dubchenko user avatar
Egor Dubchenko
·
Jun. 24, 24 · Tutorial
Like (2)
Save
Tweet
Share
2.8K Views

Join the DZone community and get the full member experience.

Join For Free

Hello! My name is Egor, and I'm an indie developer creating useful applications that utilize AI. So far, I’ve released five apps:

  1. StepAhead (iOS): Helps you beat procrastination by breaking down your tasks into small, manageable steps
  2. Prompt Forge (iOS): Teaches you how to code with AI
  3. Space Academy Quiz (iOS/Android): Interesting facts about space in a quiz format
  4. Feedback Loop: Interview Prep (iOS): To prepare for job interviews (AI product management)
  5. Giggle Ohms: Resisting Boredom (iOS/Android): AI-generated jokes for hardware engineers

You can check them out in the App Store, and I would greatly appreciate your feedback.

Today, I want to share my experience with Supabase — one of the most promising platforms for developing serverless applications that I've had the pleasure of using.

Supabase

Choosing the right backend platform can significantly impact the success of a project. Supabase, positioned as an alternative to Firebase, offers powerful tools for developers who want to focus on the front end of their applications while leaving backend complexities to the platform. This makes Supabase attractive for indie developers and startups looking to quickly bring their products to market.

BaaS means that when developing a fullstack app, I only work on the client side, and everything else is provided by Supabase through software development kits (SDKs) and application programming interfaces (APIs). "Everything else" includes an authentication service (including the use of third-party providers), a database (PostgreSQL), file storage, real-time data change reactions, and the server that manages all these components.

Key Advantages of Supabase

One of the key advantages of Supabase is Zero Configuration. Imagine not needing to set up a server, configure NGINX, manage firewalls, or deploy Docker. With Supabase, you simply register an account and are ready to go. No complicated setup, everything happens automatically. This is ideal for developers who want to start creating their applications quickly.

When you work with a traditional server, you have to set up many components: server, firewalls, Docker containers, SSH connections, and more. With Supabase, all these tasks are reduced to a single click. This significantly reduces the time and effort needed to launch a project.

Another advantage is the built-in support for PostgreSQL with a user-friendly administrative panel. In the Supabase dashboard, I can manage the database, create tables, configure migrations, and even make automatic backups. All this is available through an intuitive user interface. PostgreSQL is one of the most powerful and flexible database management systems, and its integration into Supabase makes data handling even more effective.

Additionally, Supabase offers a simple and reliable authorization mechanism. The platform supports all major authorization methods, such as email and password, OAuth providers (Google, Apple, etc.), and the ability to reset passwords via email. This means that authorization works on all platforms — from mobile to web. All you need to do is enable authorization in the settings, and it will work "out of the box."

I particularly like the Postgres Realtime feature. It allows you to subscribe to database changes and receive updates in real-time. For instance, you can subscribe to changes in a table and get notifications whenever data is modified. This opens up vast possibilities for creating interactive and dynamic applications. You don't need to implement complex logic with web sockets or other technologies; everything works "out of the box."

Another powerful feature of Supabase is serverless functions, which run on Deno. Deno is a modern runtime for JavaScript and TypeScript that ensures high security and ease of use. Thanks to this, I can quickly develop and deploy server functions that run in the cloud. This allows for the creation of powerful server-side logic without the need to manage infrastructure.

Supabase CLI

Supabase provides a convenient command-line interface (CLI) that allows for quick deployment and management of projects. Using the command line, I can perform all necessary actions, from creating new projects to deploying them. For example, simply executing supabase deploy deploys changes to the project. This significantly speeds up the development process and eliminates the need for complex pipelines and scripts.

Limitations of Supabase

Of course, Supabase has its limitations. One such limitation is the lack of support for custom domains. This means that your project will be accessible at a domain like yourproject.supabase.com, which may be a drawback for some projects that require the use of their own domain.

Another issue I encountered is the automatic shutdown of the backend when there is no activity. For example, my project faced a situation where there were no database queries for a week, and Supabase automatically stopped the backend. To reactivate the project, I had to go to the administrative panel and manually restart it.

Comparison With Cloudflare

For comparison, I also use Cloudflare for some projects. Cloudflare has its advantages, such as support for custom domains and powerful serverless functions. However, Cloudflare does not have as convenient an interface for managing databases as Supabase. Cloudflare uses SQLite, which may be less preferable compared to PostgreSQL for large and complex projects.

Both Supabase and Cloudflare are actively evolving and integrating new technologies, including artificial intelligence. This opens up new opportunities for developers to create innovative solutions. For instance, Supabase recently announced new services for working with AI, which allows for even greater functionality of the platform.

Ultimately, Supabase is a powerful tool for any developer aiming for efficiency and speed in launching their projects. With Zero Configuration, PostgreSQL support, convenient authorization, and real-time database updates, Supabase becomes an indispensable helper.

Command-line interface Database applications PostgreSQL Software deployment

Published at DZone with permission of Egor Dubchenko. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • No/Low-Code Versus SDK: What’s the Right Approach?
  • Introduction To Face Authentication With FACEIO in AngularJS
  • Hello YugabyteDB: Running Kong on the Distributed PostgreSQL Database
  • Conversational Applications With Large Language Models Understanding the Sequence of User Inputs, Prompts, and Responses

Partner Resources


Comments

ABOUT US

  • About DZone
  • Send feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: