Introduciendo Firebase
Luis Noé Martínez Rivera
luis56009@gmail.com
Estudiante de Ingeniería en Ciencias y Sistemas - USAC
Conociendo Firebase
Te has preguntado alguna vez ¿Cuantas herramientas existen afuera que facilitan tu trabajo como desarrollador de software, que además poseen gran documentación para guiarte y son fáciles de utilizar? De las mejores respuestas que puedes obtener no podría faltar Firebase de Google. Pero ¿Qué es Firebase? No solo es una herramienta, es un conjunto de ellas que están orientadas a la creación o desarrollo de aplicaciones, todo esto bajo la calidad y experiencia de Google, que hará de este proceso más eficiente y que te enfoques más en tu idea. Todo esto suena muy bien, así que conozcamos a más detalle los servicios más destacados que podríamos utilizar “como se representa en la imagen 1”.
Uno de los principales servicios y por el cual es más conocido Firebase es su base de datos Realtime, con este servicio podrás almacenar cualquier cantidad de datos que requiera tu aplicación, es importante mencionarte que se almacenan con un formato Json (nombre: valor). Estas bases de datos podrán manejar reglas de acceso y de tipo de manejo de datos, ya sea solo de lectura o escritura o ambas. Siendo Firebase un conjunto de servicios en la nube, este maneja bases de datos NoSql, sin embargo Google le da el nombre de “Bases de Datos Realtime” para poder hacerlo más amistoso y darte la idea que los datos van y vienen sin que el flujo se detenga. Siguiendo con el tema de almacenamiento encontramos a Storage. Acá se nos brinda espacio para poder almacenar archivos, tanto de administración como de usuarios. Estos archivos siguiendo reglas de bases que podemos configurar. Es importante notar la diferencia entre almacenamiento de archivos y datos, uno alberga datos que mediante un estudio se convertirán en información, mientras que el otro, archivos digitales (imágenes, documentos, entre otros).
Firebase también es muy conocido por brindar pequeñas soluciones de código a cualquier tipo de proyecto con el fin de volverlo más eficiente y amigable. Acá encontramos el manejo de Autenticación por ejemplo. Este servicio nos facilita el manejo del acceso de nuestros usuarios a la aplicación que estemos desarrollando. Simplifica el inicio de sesión y nos brinda la opción de poder ingresar con proveedores destacados, por ejemplo Google, Facebook, Twitter, GitHub, o Teléfono. De seguro has podido observar esto en otros programas y te has preguntado ¿Cómo se realiza esta funcionalidad? Ahora ya conoces uno de los lugares donde lo puedes encontrar. “Ver imagen 2”.
Otro gran ejemplo es Admob, este es uno de los más utilizados por las aplicaciones gratuitas de la red, nos permite colocar publicidad de manera amigable con el fin de mantener un ingreso capaz de financiar el desarrollo para programadores o aplicaciones principiantes. Dependiendo de la región donde se utilice tu aplicación Firebase manejara junto con Google los Analytics necesarios para tus usuarios.
Ahora que has manejado funcionalidades para ti como desarrollador, te presentamos otros tipos de servicios que harán que la experiencia de usuario sea exitosa y amigable, lo cual atrae a más clientes potenciales. Uno de los más grandes problemas al desarrollar es el manejo de Notificaciones, no por su complejidad, sino porque con cada lenguaje debemos encontrar las herramientas específicas para mostrar de manera amigable mensajes que les brinden advertencias a los usuarios. Con Firebase esto deja de ser un problema como tal y pasa a ser un paso simple, podremos gestionar notificaciones con simples parámetros y Firebase se encargara del resto. Otro gran problema que se presenta con los usuarios es la interfaz ¿Cómo manejar de manera eficiente como se le presenta nuestra aplicación a los usuarios desde cualquier dispositivo? Con Enlaces dinámicos de Firebase nuestra aplicación se adaptaría a cada dispositivo, esto lo podemos gestionar mientras el desarrollo de nuestro programa se encuentra en marcha. Todo esto claro con la dirección y guía de Firebase, esto de manera estandarizada.
Más que una herramienta, un ambiente
Aunque Firebase sea más conocido como un conjunto de herramientas para desarrolladores también nos ofrece el servicio de Hosting, un ambiente de trabajo. Tal y como su nombre nos lo indica este servicio nos permite colocar nuestra aplicación bajo el cargo de Firebase y funcionalidades Cloud. Esto en una plataforma que nos ofrece seguridad, protocolos, alta escalabilidad y alta disponibilidad, todo lo que nos ofrecería otro servicio de la nube para montar nuestro programa. No está de más mencionar que cualquier tipo de software puede ser adquirir este servicio, ¡No existen limitantes! Ya sea que tu aplicación esté realizada con JavasScript, Python, aplicaciones de IOS, Android, entre otros, el SDK de Firebase siempre estará disponible. Otra gran ventaja de utilizar este servicio es la facilidad de desarrollar sitios estáticos o sitios prefabricados, es tan simple como instalar la herramienta de Firebase CLI, configurar tu proyecto dependiendo de tus necesidades e implementarlo. Tres simples pasos para soluciones eficientes.
Todo esto también incluye la replicación del resguardo de tu información y aplicación alrededor del mundo “ver imagen 3”, dándole una latencia y consistencia de conexión de buena calidad desde cualquier punto.
Como testimonio personal
Todos estos servicios y más al alcance de cualquier desarrollador en el planeta no pueden ser del todo gratuitos ¿verdad? Déjame decirte que algunos si lo son y dependerán de la magnitud del uso de los mismos. Firebase nos dejará experimentar y vivir la experiencia de utilizar muchas de sus herramientas de manera gratuita, solo deberemos formar parte de la familia de Google y listo. Dentro de Firebase podremos encontrar todo tipo de guías junto con tutoriales, todo lo necesario para que empieces a trabajar y desarrollar tus ideas.
Para animarte aún más a probar esta grandiosa herramienta déjame contarte que en menos de un mes se logró construir un proyecto de IOT con hardware y software desde cero que incluía una base de datos NoSql, donde se almacenaba datos de manera masiva, software desarrollado en python, Arduino y Android, un circuito encapsulado y amigable que brindaba el control de tanques de almacenamiento de agua potable. Un proyecto totalmente viable sin invertir un solo dólar, gracias a los servicios que nos proporcionó Firebase. Así que no lo pienses más y únete a la comunidad y se parte del futuro de desarrollo de aplicaciones.
Conclusiones:
Firebase es un conjunto de herramientas que ayudan a desarrollar soluciones de alta calidad y eficiencia bajo los estándares y responsabilidad de Google.
Los servicios de Firebase están guiados para que cualquier persona con conocimientos básicos de desarrollo de software pueda realizar infinidad de proyectos tecnológicos.
Al ser servicios de Google estos nos brindan soporte, mantenimiento y guía de calidad en cualquier momento, así que los protocolos y aplicaciones agregadas que se utilicen serán de total confianza y totalmente eficientes.
Referencias bibliográficas:
Firebase google. Una plataforma integral para desarrollo de dispositivos móviles (04/2019)
Firebase Google. Guía de Firebase (04/2019)
Dennis Alund (02/2017) Gateway to Firebase: Hosting (04/2019)