Firebase: Introducción

Mi equipo y yo llevamos unos cuantos años desarrollando aplicaciones móviles multiplataforma y por lo general casi todas nuestras  soluciones, tarde o temprano acaban necesitando de un sistema que nos permita almacenar información en algún tipo de contenedor de datos para ser obtenido con posterioridad por los usuarios.

Por lo general, lo que acabamos desarrollando es el mismo sistema una y otra vez que expone recursos por medio de una API RestFul de una base de datos mapeada con algún ORM. Aunque tenemos muy optimizado este proceso y mucha parte del código se genera automáticamente, en ciertos momentos nos sería más sencillo contratar un servicio que nos proporcionara esta capa y no tener que preocuparnos nosotros de ella. Sería menos mantenimiento, menos administración de la base de datos, etc. Hace poco, y por casualidad,  descubrí un servicio llamado Firebase que abastecía exactamente la necesidad que os estoy comentando.

Firebase es un proyecto adquirido hace poco por Google (fue este mismo otoño) con el que se intenta mejorar la experiencia de desarrollo de todo aquel profesional que precise de una API para almacenar y obtener datos de una manera sencilla y segura.

Firebase es un servicio de pago que cuenta con numerosas librerías Open Sources (actualmente tenemos a nuestra disposición soluciones para ser utilizadas con iOS, Android, Web o incluso NodeJS) con las que podemos realizar las típicas operaciones CRUD. De esta forma podemos preocuparnos de la lógica y la UX de la aplicación.

Firebase almacena los datos dentro de contenedores en formato JSON gestionados por un sistema no relacional o NoSql al estilo del famoso MongoDB. Estos datos son gestionados y configurados para su lectura o escritura por medio de herramientas que encontraremos en su web y que serán mostradas en próximas entradas.

Por otro lado,con Firebase, contamos con dos características que me llaman mucho la atención del servicio y que son la sincronización de datos en tiempo real y la sincronización de datos sin conexión. La sincronzación de datos en tiempo real se basa en el concepto de las notificaciones Push, muy extendidas en aplicaciones móviles. Este concepto está basado en que si un usuario modifica un dato determinado, este mismo dato será actualizado para el resto de usuarios al que se esté mostrando automáticamente y en tiempo real. Como veremos a lo largo de esta serie, comprobaremos que realizar esto con Firebase se consigue de forma natural y transparente y no nos supondrá ningún quebradero de cabeza extra.

La otra funcionalidad o concepto con el que cuenta Firebase es el de la sincronización de datos sin conexión. Es decir, a partir de ahora nuestros usuarios podrán modificar o almacenar datos aunque por algún motivo se hayan quedado sin conexión. Firebase se encargará de almacenarlos en memoria local y lo sincronizará con la base de datos en cuanto la aplicación consiga conexión. Igual que en el caso anterior, esa sinronización no nos supone ningún desarrollo extra a nosotros.

Una vez que hemos visto sus características principales, lo bueno sería que empezáramos a trastear. Lo único que haremos en esta primera entrada será  registrarnos en su web y elegir un plan de pago, en nuestro caso con un ‘Free plan’ no necesitaremos más. A lo largo de esta serie veremos las ventajas e inconvenientes que puede tener esta forma de desarrollar aplicaciones.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s