Qué elegir para el desarrollo de aplicaciones: Firebase vs Supabase

Cuando se trata de desarrollo de aplicaciones, a este ritmo rápido, un factor que no se puede pasar por alto es elegir los servicios adecuados para su backend. Ahora el mundo tiene dos mejores opciones: Firebase, respaldada por Google; y Supabase, que se presenta como una alternativa de código abierto a Firebase. Este blog analiza algunas de las características, ventajas y casos de uso de ambas plataformas para que los desarrolladores tomen la decisión correcta.

Firebase: características y beneficios

Firebase es uno de los actores más reconocidos del mercado. Tiene un conjunto muy completo de herramientas que atiende a diversas dimensiones en lo que respecta al desarrollo de aplicaciones. Estas son algunas características clave:

Base de datos en tiempo real y Firestore:

Firebase ofrece dos opciones para bases de datos alojadas en la nube. Estas opciones permiten el almacenamiento y sincronización de la información del usuario en tiempo real.

Autenticación:

Soporte para autenticación con contraseñas, números de teléfono y proveedores de identidades federados populares como Google, Facebook, Twitter y más.

Funciones de la nube:

Los desarrolladores pueden permitir que el código backend se ejecute en respuesta a eventos desencadenados por funciones de Firebase y solicitudes HTTPS sin administrar servidores.

Análisis:

Firebase se integra con Google Analytics, una solución gratuita de medición de aplicaciones, para brindarle información sobre el uso de la aplicación y la participación de los usuarios.

Firebase es ideal para desarrolladores que necesitan soluciones sólidas y escalables con buena documentación y soporte de la comunidad. Funciona perfectamente para aquellos escenarios donde se necesita un desarrollo e implementación rápidos, todo gracias al entorno integrado.

Lectura recomendada: ¿Cómo guardar datos en Firebase en Android?

Supabase: características y beneficios

Supabase se anuncia a sí mismo como una alternativa de código abierto a Firebase, duplicando la mayor parte de su funcionalidad y agregando las siguientes características:

Suscripciones en tiempo real:

De la misma manera, Firebase ofrece funcionalidades en tiempo real, pero Supabase va un paso más allá al integrar esto en cualquier base de datos PostgreSQL, brindando más flexibilidad.

API RESTful y Postgres:

Genere automáticamente las API RESTful a partir de los esquemas de su base de datos Postgres, lo que hace que el desarrollo back-end sea pan comido.

Seguridad a nivel de fila:

Supabase aprovecha directamente las poderosas capacidades de seguridad a nivel de fila de PostgreSQL, lo que permite un control de acceso detallado.

Basado en estándares abiertos:

Supabase se ha construido sobre tecnologías abiertas, lo que significa que los desarrolladores interesados en ser independientes del proveedor y mantener el control de su pila pueden encontrar mucho más atractivo trabajar con él.

Supabase es perfecto para desarrolladores que se preocupan por las soluciones de código abierto y que necesitan todos los poderes de PostgreSQL con fortalezas tradicionales pero capacidades modernas en tiempo real.

Firebase frente a Supabase

Al elegir entre Firebase y Supabase, considere lo siguiente:

  • Facilidad de uso: Firebase quizás tenga una ligera ventaja debido a su documentación completa y su ecosistema maduro. Además, el hecho de que se integre con otros servicios de Google también puede ser un factor determinante para muchos desarrolladores.
  • Control y flexibilidad: El desarrollo de Supabase sobre el motor PostgreSQL agrega una capa de libertad para que los usuarios realicen operaciones avanzadas de bases de datos, lo cual es fundamental para los usuarios con consultas de la complejidad mencionada anteriormente.
  • Rentabilidad: Si bien Firebase es gratuito en el fondo, su precio puede volverse bastante preocupante una vez que la aplicación se amplía. Supabase, por otro lado, al ser de código abierto, generalmente es rentable y adecuado para un proyecto de casi cualquier magnitud.

Conclusión:

E-human Tanto Firebase como Supabase son maravillosos. El proyecto siempre se puede ajustar, dependiendo de la complejidad de las operaciones de datos y de cuánto está acostumbrado su equipo a trabajar con PostgreSQL u otras bases de datos NoSQL.

En el caso de una configuración fácil, empaquetada y rápida, Firebase es su mejor opción, pero si sus proyectos son aquellos que encontrarán solidez en PostgreSQL y una configuración de código abierto más flexible, entonces Supabase es su elección. Ambos están vivos, por lo que sus actualizaciones y comentarios de la comunidad pueden brindarle algunos argumentos adicionales a su favor.

Elige la herramienta que creas que se alinea mejor con tu filosofía de desarrollo y con las especificaciones técnicas de tu proyecto.

En caso de que tenga consultas/sugerencias, puede comunicarse con nuestro portal de soporte técnico a nuestra dirección de correo electrónico. support@knowband.com. o puedes consultar nuestro módulo de best sellers Aplicación móvil Prestashop y Prestashop One Page Checkout.

Además, eche un vistazo a nuestro último vídeo aquí:

 

¿Cómo obtener datos de Firebase en Swift Language (iOS)?

Objetivos del blog.

Después de leer este blog, podremos comprender el proceso para obtener datos de Firebase. Este proceso incluye la instalación de Firebase SDK y la implementación de código para obtener datos de Firebase.

Pre-requisitos

Necesitamos escribir código swift para obtener los datos de Firebase. Para esto primero tendremos que crear el proyecto Firebase. Siga los pasos que se indican a continuación para crear el proyecto Firebase:

1. Visite https://console.firebase.google.com

2. Luego tendrás que crear el proyecto Firebase haciendo clic en "Añadir proyectobotón "

3. Necesita el archivo GoogleService-Info.plist para iOS SDK, ya que este archivo contiene los detalles del proyecto Firebase que utiliza Firebase SDK.

4. Luego agrega el archivo plist en el proyecto

5. Agregue el siguiente código antes de la declaración de retorno dentro de la aplicación(_: didFinishLaunchingWithOptions 🙂 en el archivo AppDelegate.swift

FirebaseApp.configure ()

6. Luego ve a "base de datos"opción del menú de la izquierda.

7. Seleccionar "Base de datos en tiempo real"y esa es la base de datos del proyecto Firebase. Todos los datos que se almacenan o se recuperan son de esta ubicación.

8. La configuración de Firebase está completa. Ahora tendrá que descargar Firebase SDK en el swift. Para ello deberás instalar los siguientes pods.

  1. pod 'Firebase / Core'
  2. pod 'Firebase / Base de datos'

Supongamos que tiene los siguientes datos en la estructura dada en la base de datos de Firebase:

// La raíz del árbol {// artículos comestibles "artículos comestibles": {// artículos comestibles / leche "leche": {// artículos comestibles / leche / nombre "nombre": "leche", / / grocery-items / milk / addedByUser "addedByUser": "David"}, "pizza": {"name": "Pizza", "addedByUser": "Alice"},}}

Después de la instalación exitosa de las cápsulas, podemos pasar a la parte de codificación.

Implementación de Código

Todos los puntos / nodos de datos se utilizan para acceder a los datos de la base de datos Firebase. Creamos referencias a los nodos y luego recuperamos datos de ese nodo. En otras palabras, una referencia de Firebase apunta a una ubicación en Firebase donde se almacenan los datos. Primero tendremos que crear una referencia al nodo raíz de la estructura de la base de datos –

let ref = Database.database (). reference (withPath: "grocery-items")

o se puede utilizar la siguiente manera:

let rootRef = Database.database (). reference () let ref = rootRef.child ("grocery-items")

La referencia al nodo secundario que es "leche" se puede crear utilizando el siguiente código:

let milkRef = ref.child ("milk")

Se puede adjuntar un oyente asíncrono a una referencia para recuperar datos de Firebase usando observar (_: con 🙂 método. El siguiente código recuperará los datos y seguirá escuchando los cambios de datos en la base de datos. Tan pronto como se realiza cualquier cambio en la base de datos, se recupera la nueva instantánea del nodo / referencia y obtenemos los datos actualizados tan pronto como se realiza cualquier cambio en la base de datos.

ref.observe (.value, con: {snapshot in // Esta es la instantánea de los datos en el momento en la base de datos de Firebase // Para obtener el valor de la instantánea, el usuario snapshot.value imprimimos (snapshot.value como Cualquiera) })

Luego, los valores de la instantánea se pueden analizar y utilizar en la aplicación. Una gran ventaja de usar observar método sobre observeSingleEvent El método es que no tiene que llamar a la función una y otra vez, ya que los datos actualizados se recuperan de la base de datos tan pronto como se modifica cualquier valor en la base de datos.

Resumen

Ahora debería poder obtener los datos de la base de datos de Firebase de forma rápida utilizando Firebase SDK.


How to save data to Firebase in Android?

Objetivos:

El propósito de este blog es informar a los lectores sobre cómo guardar datos en la base de datos Firebase Realtime de Android. En esta base de datos se pueden escribir tipos de datos simples, como cadenas, así como tipos de datos más complicados, como objetos Java.

Pre-Requisitos:

Para usar Firebase Realtime Database en Android, necesitamos tener un proyecto de Android Studio para crear la aplicación de Android. Además de eso, necesitamos un proyecto de Firebase para conectar la base de datos en tiempo real de Firebase a la aplicación de Android.

Para crear un nuevo proyecto de Firebase, siga los pasos mencionados a continuación:- �

1. Abra la URL – https://console.firebase.google.com

2. Luego haga clic en “Añadir proyecto“.

3.�A continuación, ingrese el nombre del Proyecto Firebase y acepte las condiciones. Después de eso, proceda haciendo clic en “Continúe.

4.Luego, en la siguiente pantalla de Bienvenida, haga clic en “Agrega Firebase a tu aplicación de Android“. De la misma manera, ingrese el nombre del paquete y haga clic en Siguiente.

5. Ahora, descargue el archivo google-services.json en su sistema local. Luego, copie este archivo a la ubicación en el proyecto de Android Studio como se especifica.

6. Siga el pequeño proceso en el siguiente paso para agregar 3 líneas de código a la compilación. Archivos Gradle a nivel de proyecto y de aplicación.

7.Luego, termine de agregar la aplicación de Android al proyecto de Firebase.

8. Abra la sección Base de datos haciendo clic en “base de datos” opción en el menú de la izquierda. Luego, haga clic en “Crear base de datos” Enlace.

9. Ahora el proceso de creación del proyecto de Firebase ha finalizado.

Lectura recomendada: ¿Cómo obtener datos de Firebase en Android?

Agregue la siguiente línea en el archivo build. gradle para agregar la biblioteca y comenzar a usar Firebase Realtime Database.

implementación 'com.google.firebase:firebase-database:16.0.6'

Implementación de código

Antes de continuar, comprendamos qué es una referencia de Firebase. En la base de datos de Firebase, los datos se almacenan en una ubicación. Por lo tanto, el puntero a esa ubicación se conoce como referencia de Firebase. Varias referencias apuntan a la misma ubicación si se inician con la misma ruta.

Cree una instancia de Firebase Database escribiendo la siguiente línea de código:

privado FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();

Ahora cree referencias de las rutas donde se almacenarían los datos en Realtime Database. Como los datos se almacenan en formato JSON en la base de datos de Firebase, las rutas especificadas en las referencias son las claves del objeto JSON.

Lectura recomendada: ¿Cómo obtener datos de Firebase en Swift Language (iOS)?

Se debe agregar la siguiente línea de código para crear una referencia al nodo raíz en la base de datos:

Referencia de base de datos privada mDatabaseReference = mDatabase.getReference();

A continuación, cree un elemento secundario en el nodo raíz de la base de datos y use esta clave secundaria para agregar los datos correspondientes. Después de eso, se puede agregar una cadena a la base de datos siguiendo las líneas de código mencionadas a continuación:

mDatabaseReference = mDatabase.getReference().child("nombre"); mDatabaseReference.setValue("Pato Donald");

Las líneas de código anteriores insertarían los datos en la base de datos. La base de datos en el proyecto de Firebase tendrá el siguiente aspecto:

La base de datos Firebase Realtime también admite guardar objetos Java complejos. Por lo tanto, primero se debe crear una clase modelo para guardar los objetos Java. Además, asegúrese de agregar un constructor vacío y los captadores de cada atributo en la clase.

El siguiente es el código para una clase de modelo de demostración:

El siguiente es el código para guardar un objeto de esta clase en la base de datos de Firebase:

Usuario usuario = nuevo Usuario("Mickey", 18); mDatabaseReference = mDatabase.getReference().child("usuario"); mDatabaseReference.setValue(usuario);

El código mencionado anteriormente insertaría los datos del objeto en la base de datos de Firebase de la siguiente manera:

Lectura recomendada: ¿Cómo guardar datos en Firebase en Swift Language (iOS)?

Conclusión:

Ahora sabe cómo guardar datos en Firebase Realtime Database. Además, Knowband ofrece un módulo de creación de aplicaciones móviles de comercio electrónico para propietarios de tiendas en línea. Por lo tanto, el complemento Maker de la aplicación móvil está disponible para plataformas como PrestaShop, OpenCart, WooCommerce y Magento 2. Por lo tanto, con solo unos pocos clics y sin dificultad, puede crear su aplicación nativa y receptiva para teléfonos inteligentes y tabletas.

¿Cómo obtener datos de Firebase en Android?

Objetivos del blog

Después de leer este blog, podremos obtener datos de Firebase Realtime Database. Estos datos pueden incluir tipos de datos simples, como cadenas, o tipos de datos complejos, como objetos Java.

Pre-requisitos

Necesitamos tener un proyecto de Android Studio y un proyecto de Firebase listos para usar Firebase Realtime Database. Cree un nuevo proyecto de Android Studio (o use cualquier proyecto existente). Este proyecto de Android Studio se utilizará para trabajar con la base de datos en tiempo real. Siga los pasos que se indican a continuación para crear el proyecto de Firebase:

1. Utilice la herramienta https://console.firebase.google.com

2. Haga clic en “Añadir proyecto.

3. Introduzca el nombre del proyecto y acepte las condiciones y haga clic en “Continúe.

 

4. Luego agregue la aplicación de Android a su proyecto. Requiere ingresar el nombre del paquete de la aplicación. Haga clic en Siguiente.

5. Descargue el archivo google-services.json y mueva este archivo a la ubicación en el proyecto de Android en Android Studio como se especifica en la pantalla.

6. En el siguiente paso, habría un pequeño tutorial para agregar 3 líneas de código en los archivos build.gradle a nivel de proyecto y de aplicación. Agréguelos en consecuencia.

7. Luego finalice este proceso de agregar la aplicación de Android al proyecto.

8. Luego haga clic en la opción “Base de datos” del menú de la izquierda y haga clic en el botón “Crear base de datos”.

 

9. La configuración de Firebase está completa. Ahora agregue la biblioteca de Firebase para usar Firebase Realtime Database en el archivo build.gradle del nivel de la aplicación. Esto se puede hacer agregando la siguiente línea:

implementación 'com.google.firebase:firebase-database:16.0.6'

Implementación de código

Antes de obtener las referencias, deberá comprender qué es una referencia de Firebase. Una referencia de Firebase apunta a una ubicación en la base de datos de Firebase donde se almacenan los datos. Incluso si crea varias referencias, todas comparten la misma conexión siempre que haya utilizado la misma ruta al crear la referencia desde la instancia de la base de datos. En primer lugar, necesitamos tener una instancia de Firebase Database para poder usarla. La instancia se puede crear con la siguiente línea de código.

 

privado FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();

 

Ahora es necesario crear referencias de las rutas donde se almacenan los datos en la base de datos. Como los datos en la base de datos de Firebase se almacenan en formato JSON, las claves del objeto JSON son las rutas especificadas en las referencias. La referencia al nodo raíz se puede crear mediante la siguiente línea de código:

 

Referencia de base de datos privada mGetReference = mDatabase.getReference();

 

Después de obtener la referencia de la base de datos, se debe adjuntar un oyente asíncrono a la referencia de la base de datos que escuche activamente cualquier cambio realizado en la base de datos. Este agente de escucha devuelve una instantánea de datos de la base de datos inicialmente por primera vez cuando se adjunta. Luego, la instantánea de datos se devuelve cuando se realiza cualquier cambio en la ruta a la que apunta la referencia de la base de datos. Por lo general, la base de datos contiene el mismo tipo de datos, pero supongamos que la base de datos contiene algunos datos de diferentes tipos. A continuación, encuentre la captura de pantalla de la base de datos que contiene algunos datos ficticios:

 

Para obtener la base de datos de esta base de datos, adjunte ValueEventListener a la referencia de la base de datos. El oyente se puede agregar con el siguiente código:

 

mGetReference.addValueEventListener(nuevo ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if (dataSnapshot.exists()){ HashMap mapa de datos = (mapa hash ) instantánea de datos.getValue(); for (String key: dataMap.keySet()){ Datos del objeto = dataMap.get(key); prueba{ HashMap datos de usuario = (HashMap ) datos; Usuario mUser = nuevo Usuario((String) userData.get("nombre"), (int) (long) userData.get("edad")); addTextToView(mUser.getName() + " - " + Integer.toString(mUser.getAge())); }catch (ClassCastException cce){ // Si el objeto no se puede convertir en HashMap, significa que es de tipo String. prueba{ String mString = String.valueOf(dataMap.get(key)); addTextToView(mString); }catch (ClassCastException cce2){ } } } } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } });

Después de adjuntar el oyente, se ejecuta primero devolviendo inicialmente todos los datos en la base de datos en ese momento. Este oyente se invocará más tarde en el momento en que se produzca algún cambio en la base de datos en la ruta señalada por la referencia a la que está adjunto el oyente.

Resumen

Después de seguir el procedimiento anterior, podrá obtener datos de la base de datos Firebase Realtime en Android. Si tiene algún problema, no dude en comunicarse con nosotros en support@knowband.com. También ofrecemos desarrollo personalizado y módulos para las principales plataformas de CMS como Prestashop, Opencart, Magento, Magento 2 y Woocommerce. Echa un vistazo a nuestros más populares Creador de aplicaciones móviles sin código de Woocommerce: