Firebase es una locura …
Puedes desarrollar una aplicación como WhatsApp en solo horas. Es solo por Firebase.
Te hace un trabajador inteligente.
Firebase no es una base de datos cualquiera. Como backend escalable en tiempo real , proporcionamos las herramientas que necesita para crear rápidamente aplicaciones ricas y colaborativas que puedan servir a millones de usuarios.
Patrón 1: aplicaciones 100% basadas en Firebase
Muchas aplicaciones basadas en Firebase consisten solo en código de cliente y no necesitan nada más que Firebase y una forma de distribuir su aplicación para que funcione. Son ideales si:
- Estás desarrollando una nueva aplicación o reescribiendo una existente desde cero.
- Su aplicación necesita una integración mínima con sistemas heredados u otros servicios de terceros.
- Su aplicación no tiene grandes necesidades de procesamiento de datos o requisitos de autenticación de usuario complejos.
En esta arquitectura, su aplicación solo consta de contenido estático y activos, y todo su contenido dinámico y datos de usuario se almacenan y recuperan de Firebase.
Por ejemplo, en iOS, simplemente puede empaquetar todos sus recursos en la aplicación misma y publicarla en la App Store como lo haría normalmente. En la web, puede servir sus archivos desde cualquier servidor web, un CDN, o si desea una forma rápida de conectarse, consulte las páginas de Github y Harp.io.
Con aplicaciones 100% basadas en Firebase, la autenticación del usuario puede ser manejada por nuestro servicio Simple Login que admite Facebook, Twitter, Github y Google; Además de un esquema de inicio de sesión de correo electrónico / contraseña regular. Simple Login elimina la necesidad de escribir su propio código de autenticación del lado del servidor.
Actualización (3 de octubre de 2014): Firebase Simple Login ha quedado en desuso y ahora forma parte de la biblioteca principal de Firebase. Use estos enlaces para encontrar la documentación actualizada para los clientes web , iOS y Android .
Creamos una aplicación llamada Firefeed como ejemplo. Firefeed es un clon de Twitter: le permite publicar mensajes y hacer que otras personas que siguen su transmisión reciban esos mensajes en tiempo real. Puedes hacer casi todo lo que puedes hacer en Twitter, todo sin ningún código de servidor. Le recomendamos que consulte el código de Firefeed y lea la página acerca de si está considerando seguir esta ruta.
Otro ejemplo son los juegos multijugador: Firebase es excelente para propagar datos en tiempo real entre todos sus clientes. Dependiendo de la lógica de su juego, también puede usar nuestras reglas de seguridad y validación para garantizar que los clientes no escriban datos de manera que su lógica no permita, sin requerir un servidor para garantizar el estado del juego.
Vea nuestro estudio de caso en Roll20 , una aplicación 100% basada en Firebase.
Patrón 2: aplicación basada en Firebase con código de servidor
En algunos casos, no es posible salirse con solo el código del cliente. Veamos algunos ejemplos:
- Desea que su aplicación se integre con API de terceros (como Twilio para enviar un SMS o SendGrid para enviar un correo electrónico).
- Tiene requisitos avanzados de autenticación. Por ejemplo, integración LDAP o autenticación contra un servicio no admitido por Simple Login o un socio externo de Firebase (como Singly).
- Su aplicación tiene un código computacionalmente intensivo que no puede ejecutar en un cliente, o requiere que el código se ejecute en un servidor confiable.
En esta arquitectura, Firebase se encuentra entre el servidor y los clientes. Sus servidores pueden conectarse a Firebase e interactuar con los datos como lo haría cualquier otro cliente. En otras palabras, su servidor se comunica con los clientes mediante la manipulación de datos en Firebase. Nuestro lenguaje de reglas de seguridad y Firebase le permite asignar acceso completo a sus datos a su servidor. El código de su servidor puede escuchar cualquier cambio en los datos realizados por los clientes y responder adecuadamente.
En esta configuración, aunque todavía está ejecutando un servidor, Firebase está manejando todo el trabajo pesado de la escala y las actualizaciones en tiempo real.
Si está escribiendo el código de su servidor en Node.JS, la integración con Firebase es fácil. Nuestra biblioteca Node.JS proporciona exactamente la misma API que nuestro SDK de JS. Si está utilizando un lenguaje o marco diferente, puede almacenar y recuperar datos de Firebase utilizando nuestra API REST; esto funcionará desde cualquier entorno que le permita realizar solicitudes HTTPS.
Si está integrando un sistema de autenticación de usuario existente con Firebase en su servidor, también proporcionamos Auth Token Generators para una variedad de idiomas.
Un ejemplo de tal arquitectura en acción serían los clientes que colocan tareas para que el servidor las procese en una cola. Puede hacer que uno o más servidores retiren elementos de la cola cada vez que tengan recursos disponibles y luego coloque el resultado nuevamente en su base de datos Firebase para que los clientes puedan leerlos. Tenemos una biblioteca Node.JS que lo ayudará a hacer esto, ¡compruébelo!
* Consulte el estudio de caso en Wordspot, una aplicación con código de servidor y cliente que utiliza Firebase. También hemos creado una biblioteca de búsqueda llamada Flashlight que utiliza una cola y un proceso de servidor para proporcionar búsquedas de contenido.
Patrón 3: aplicación existente con funciones basadas en Firebase
Este patrón es común para sitios más grandes y es adecuado si:
- Si tiene una aplicación con todas las funciones existentes y no está planeando una reescritura.
- Su base de código es grande y depende de varios servicios o componentes que no puede cambiar.
- Desea agregar funciones en tiempo real sin tocar el resto de su aplicación.
En esta arquitectura, Firebase se encuentra junto a su servidor existente. Sus clientes se conectarán tanto a su servidor como a Firebase y utilizarán Firebase para potenciar sus funciones en tiempo real, sin interferir con el resto de su aplicación.
Con este patrón, puede agregar un sistema de notificación en tiempo real para sus usuarios, incrustar un sistema de chat en su sitio web, crear un feed de comentarios que se actualice en tiempo real y mucho más. Comenzar con funciones pequeñas es una excelente manera de comenzar a usar Firebase. Para facilitar aún más la integración de características como estas (y más), lanzaremos varias bibliotecas de código abierto en los próximos meses, ¡así que estad atentos!
Twitch.TV es un sitio web popular que usa Firebase junto con su infraestructura existente.