Gracias al gran éxito de las aplicaciones móviles en el mercado y el lanzamiento del SDK de iOS en 2008, es común que muchas personas piensen en basar el modelo de negocio de su startup en una app. Pero desarrollarla no es un proceso fácil; a menos que sepas qué herramientas son las adecuadas para tu proyecto. Muchos desarrolladores comienzan a programar todo desde cero; sin saber que existen opciones que pueden hacer este proceso mucho más fácil.
Un Mobile Backend as a Service (MBaaS o BaaS) es una de ellas. Se trata de un modelo que permite vincular aplicaciones con almacenamiento en la nube y otros servicios de análisis y almacenamiento de datos, notificaciones push, gestión de usuarios y roles, entre otros.
Digamos que quieres crear una aplicación que sea compatible con iOS y Android; y que, además, cuente con un sistema de notificaciones. Después de pensar en el framework y/o lenguaje que utilizarás, deberás elegir una API que te sirva los datos y saber dónde vas a alojarlos.
Además de temas de interfaz de usuario y un buen servicio de notificaciones. Cada una de estas características tiene su propia API que debe incorporarse al backend de tu app. Y es aquí donde entra MBaaS. Los proveedores de esta tecnología crean un puente entre el front-end de tu app y estos servicios backend utilizando una API y SDK unificada.
Esto quiere decir que no tienes que desarrollar tu propio backend para cada uno de los servicios que estará usando tu aplicación. Y esto sólo se traduce en menos tiempo de desarrollo. Actualmente existen diversos proveedores MBaaS en el mercado. A continuación mencionaré los que, a mi parecer, son los más útiles e interesantes por su funcionalidad, documentación y factibilidad en la integración.
Hace un par de años, Facebook compró una compañía llamada [Parse](http:// parse.com) que basa su modelo de negocio en un servicio MBaaS. Esto hace que implementar una aplicación se vuelva un proceso bastante sencillo; debido a que cuenta con un SDK nativo para Android, iOS, Xamarin, Windows Phone, Unity y React.
En el evento para desarrolladores de Facebook de este año, se anunció la integración de Parse con Arduino y Embedded C para IoT (Internet of things). La documentación es bastante buena y los costos varían en el uso y tráfico de tu app.
Hace poco Amazon anunció su servicio MBaaS ligado a su ya conocido AWS. Su nombre es AWS Mobile y cuenta con servicios de notificaciones push, bases de datos y almacenamiento; y dos más que, si estas interesado en el análisis de datos, te serán muy atractivos:
Y todo esto se puede ligar a tus aplicaciones móviles a través de un SDK muy potente.
IBM lleva varios años tratando de entrar a la competencia de servicios de cómputo en la nube con una tendencia que ellos han denominado CAMSS (Cloud, Analytics, Mobile, Social & Security). En 2014 adquirieron una plataforma llamada Bluemix; que es, precisamente, un core de servicios en la nube que te permite usar sólo aquellos que sean acordes a tu proyecto.
Con esta plataforma puedes hacer uso del sistema WATSON y ligar tu aplicación a tecnologías como RabbitMQ o Hadoop para Big Data, entre muchos más. Al momento de escribir este artículo, Bluemix sólo cuenta con integración en aplicaciones iOS y poca documentación. Y sus costos son altos debido a que está enfocada en desarrollos para grandes empresas.
Existen muchas plataformas MBaaS más y si quieres elegir entre una u otra, te recomiendo basarte en la documentación que tienen disponible y no sólo en el costo de sus servicios. Y si estás desarrollando una aplicación para iOS y quieres saber cómo implementar esta herramienta en tu desarrollo, ¡estas de suerte! Hoy estaré participando en #PlatziComunidad con una clase enfocada en este proceso.