Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

Backend-as-a-Service (BaaS) se refiere a plataformas que brindan servicios de backend, como almacenamiento de datos, análisis, notificaciones, suscripciones en tiempo real y autenticación, para aplicaciones de software. Los proveedores de BaaS reducen el tiempo necesario para desarrollar una aplicación, ya que elimina la necesidad de construir el backend desde cero.

Algunos proveedores populares de BaaS que admiten aplicaciones React son AWS Amplify, Firebase y SupaBase.

AWS amplificar

Los servicios de AWS pueden ser complicados de usar sin experiencia en la nube. Lanzado en 2017, AWS Amplify es una biblioteca de código abierto que simplifica la forma en que interactúa e integra los servicios de AWS en su aplicación.

Proporciona servicios como almacenamiento, autenticación, GraphQL, API REST y notificaciones automáticas, entre otros. También proporciona una forma sencilla de agregar recursos de AWS como Cognito, DynamoDB y ElasticSearch a una aplicación sin utilizar la consola de AWS. Puede usar la CLI o la IU de administración para acceder a Amplify.

instagram viewer

Características clave de AWS Amplify

  • AWS Amplify funciona con muchos marcos e idiomas. Para aplicaciones web, es compatible marcos y bibliotecas populares de JavaScript como React, Angular y Vue. También es compatible con iOS y Android.
  • Amplify integra Amazon Cognito para admitir la autenticación de correo electrónico/contraseña, la autenticación social con proveedores como Facebook y Amazon, y la autenticación multifactor.
  • Amplify le permite agregar API GraphQL y REST a su aplicación. Puede usar estas API para acceder a los datos de una fuente de datos como DynamoDB.
  • Amplify le permite usar S3 para almacenar y administrar archivos multimedia en el dispositivo y en la nube.
  • La CLI de Amplify le permite crear e implementar funciones lambda. Una función lambda es una función sin servidor que le permite ejecutar código sin aprovisionar un servidor. Algunos casos de uso comunes para las funciones lambda incluyen el envío de alertas por SMS cuando se activa un evento, el envío de correos electrónicos y la manipulación de imágenes, como la creación de miniaturas. Consulte los documentos de AWS para obtener más información. casos de uso comunes de funciones Lambda.
  • Es barato empezar. Puede comenzar a crear su aplicación en el nivel gratuito que ofrece la mayoría de las funciones de Amplify. Una vez que finaliza el período gratuito, puede pagar las funciones específicas que utilizó.
  • Amplify reduce el tiempo de comercialización de las aplicaciones de software porque no necesita codificar el backend desde cero.

AWS Amplify solo se dirige a la nube de AWS. Para Google Cloud, debe considerar Firebase.

base de fuego

Firebase es una plataforma BaaS basada en Google Cloud que proporciona una plataforma back-end administrada para aplicaciones web y móviles. Firebase ofrece productos que ayudan a los desarrolladores a crear la infraestructura de backend, lanzar y monitorear la aplicación e interactuar con los usuarios.

Características clave de Firebase

  • Firebase admite la integración con iOS, web y Android.
  • Firebase tiene una base de datos de Cloud Firestore que es una base de datos NoSQL que puede usar para almacenar datos para sus aplicaciones. Firebase también proporciona una base de datos en tiempo real que le permite almacenar y sincronizar datos entre usuarios en tiempo real.
  • Firebase le permite agregar extensiones a su aplicación. Las extensiones son paquetes de código preempaquetados que agregan más funcionalidad a una aplicación. Un ejemplo de una extensión es Buscar con Algolia, un paquete que permite la búsqueda de texto completo en la base de datos de Firestore en la nube usando Algolia. Puedes ver otras extensiones en la mercado de extensión.
  • Puede agregar funciones a su aplicación integrando Firebase con otras herramientas como Google Ads, Google Play, Jira y Slack.
  • Firebase está integrado en Google Cloud, lo que le permite escalar su aplicación fácilmente.
  • El plan Spark es gratuito, lo que ayuda a los desarrolladores a comenzar fácilmente con Firebase.
  • El Autenticación de base de fuego El servicio admite la autenticación de usuarios mediante correo electrónico y contraseñas, números de teléfono y proveedores de autenticación social como Twitter y GitHub.
  • Los productos de Firebase, como Crashlytics, Performance Monitoring, Google Analytics y Test Lab, lo ayudan a realizar un seguimiento del rendimiento de su aplicación.

Como puede ver, Firebase tiene excelentes funciones; sin embargo, no es de código abierto y solo se puede usar en Google Cloud. Si desea una alternativa de código abierto, pruebe Supabase.

Supabase

Supabase es una plataforma que permite a los desarrolladores configurar rápidamente un backend para sus aplicaciones. Cada proyecto creado en Supabase es una base de datos de Postgres que es 100 % portátil, lo que simplifica la migración hacia y desde Supabase. La base de datos está habilitada en tiempo real y puede suscribirse y reaccionar a las actualizaciones de la base de datos. Otros servicios proporcionados por Supabase son funciones de borde, autenticación y API generadas automáticamente.

Características clave de Supabase

  • Supabase proporciona una base de datos Postgres completa. La base de datos es portátil y tiene autenticación integrada que puede usar para controlar el acceso de los usuarios.
  • Ofrece múltiples métodos de autenticación como inicios de sesión sociales con Google, Facebook y Twitter, autenticación de correo electrónico/contraseña y un sistema de gestión de usuarios integrado al que puede acceder a través de una API.
  • Supabase admite funciones perimetrales, que son funciones sin servidor que se ejecutan cerca de usuarios de todo el mundo. Mediante el uso de funciones perimetrales, reduce la latencia y aumenta la velocidad de ejecución del código.
  • También admite actualizaciones en tiempo real que le permiten escuchar eventos en la base de datos de Postgres.
  • Supabase y Firebase ofrecen servicios similares y la principal diferencia entre ellos es que Supabase se basa en una base de datos PostgreSQL, una base de datos relacional, mientras que Firebase se basa en una base de datos NoSQL.
  • El precio de Supabase se basa en la cantidad de datos almacenados, lo que hace que las facturas sean predecibles. El paquete gratuito ya le brinda hasta 500 MB de base de datos y 1 GB de almacenamiento de archivos y es perfecto para proyectos paralelos. Si necesita más almacenamiento, el siguiente nivel de precios es de $25 por mes.
  • Puede consultar una base de datos PostgreSQL existente usando GraphQL.

¿Qué plataforma BaaS debería usar?

La plataforma que elijas depende de las necesidades del proyecto en el que estés trabajando. Firebase es excelente para datos no relacionales, ya que usa una base de datos NoSQL, mientras que Supabase es una buena opción si desea usar una base de datos relacional. Amplify le permite crear una base de datos NoSQL respaldada por DynamoDB o S3, pero también puede usar una función lambda para conectarse a una base de datos relacional.

Además, si desea utilizar las API de GraphQL, opte por Amplify o Supabase, ya que Firebase no lo admite.

También debe considerar su proveedor de nube existente, ya que puede resultarle más fácil usar una plataforma basada en el proveedor que ya usa. Por ejemplo, si usa AWS, puede preferir Amplify o Firebase si usa Google Cloud. Supabase es una buena opción si prefiere no estar atado a un proveedor de nube específico.

Cómo los proveedores de BaaS lo ayudan a realizar envíos más rápido

Hasta ahora, aprendió sobre las características de Amplify, Firebase y Supabase y algunos de los factores que se deben considerar al elegir un proveedor de BaaS. Independientemente de la plataforma que elija, BaaS lo ayudará a ahorrar tiempo de desarrollo. En lugar de configurar la base de datos, crear un sistema de autenticación, configurar análisis y otros servicios de back-end, puede concentrarse en el diseño y el front-end.