Todo lo que necesitás saber sobre backend | All you need to know regarding Backend | MMA Global

Todo lo que necesitás saber sobre backend | All you need to know regarding Backend

January 6, 2016
Submitted by

Como parte de su tarea de educación en marketing mobile, la MMA acerca artículos de interés sobre los temas más relevantes del área. En esta oportunidad, María Murillo, responsable de Marketing y Comunicación en Tictapps, empresa miembro de la MMA, expone sobre Backend.

 

Si estás comenzando a trabajar en mobile, Backend es uno de los conceptos que más vas a escuchar. Pero ¿qué es exactamente un Backend? ¿Cómo funciona? Sobre todo, ¿qué debemos tener en cuenta en su desarrollo?

 

¿Qué es un Backend?

 

Antes de empezar a hablar de Backend, explicaremos brevemente el concepto Frontend, ya que, siendo ambos conceptos indivisibles, el segundo nos será mucho más cercano y nos ayudará a comprender el primero más fácilmente.

 

En pocas palabras, el Frontend de una app es la parte que el usuario ve y toca. En él, se incluyen imágenes, botones, menús, transiciones… Es la capa más superficial de la app, cuyos elementos son incapaces de funcionar por sí mismos. Es aquí donde el Backend interviene, dando vida a todo lo anterior.

 

El Backend, también conocido como CMS o Backoffice, es la parte de la app que el usuario final no puede ver. Su función es acceder a la información que se solicita, a través de la app, para luego combinarla y devolverla al usuario final.

 

Ahora, que ya conoces las diferencias y las relaciones entre el Frontend y el Backend de una app, estamos listos para seguir profundizando en los procesos y las tareas que lleva a cabo el segundo.

 

¿Cómo funciona un Backend?

 

Las funciones del Backend son las siguientes:

 

  • Acceder a la información que se pide, a través de la app: cuando usamos una aplicación móvil pedimos información de manera continua, no importa si la app es de búsqueda de información, un juego o una red social. Esto implica que una parte de la app (el Backend), tiene que ser capaz de encontrar y acceder a la información que solicitemos. El proceso de búsqueda de datos no es fácil, ya que estos se almacenan en grandes bases de datos (en plural), que se encuentran, además, protegidos para no exponer lo que en nuestra área se denomina información sensible. En este punto, un Backend bien diseñado debe ser capaz no sólo de encontrar la información precisa que el usuario requiere, sino también de acceder a ella de manera segura.

 

  • Combinar la información encontrada y transformarla: Una vez encontrada, el Backend combina la información para que resulte útil al usuario. Pongamos, como ejemplo, una aplicación de transporte y una orden de búsqueda: “cómo llegar del trabajo a casa”.

En este caso, nuestra aplicación necesitará acceder a las bases de datos no sólo de todas las compañías de autobuses de la ciudad, sino también las de las empresas de taxis, metro y, por supuesto, Google Maps. La ingente cantidad de información con la que el Backend trabaja, hace que su diseño deba ser sumamente preciso, ya que debe ser capaz de encontrar y filtrar lo que es relevante de lo que no, para luego combinarlo de manera útil.

 

  • Devolver la información al usuario: Finalmente, el Backend envía la información relevada de vuelta al usuario. Pero, ¿cuántos usuarios son capaces de leer datos escritos en código puro? Pocos. Es por ello que el Backend necesita de traductores capaces de convertir los datos escritos en código a lenguaje humano. Es aquí donde intervienen las famosas APIs, trabajando en conjunto con el Frontend.

En pocas palabras, las APIs son las herramientas encargadas de transportar la información desde el Backend hasta el Frontend, que es donde el proceso final de traducción toma forma, y donde la información escrita en código se convierte en los diseños, las imágenes, las letras y los botones que el usuario final entiende y con los que puede interactuar.

Este proceso es hecho por en Frontend en dos fases, que tienen lugar en dos subcapas que conforman su estructura:

 

  • La subcapa lógica, relacionada con el lenguaje específico, en el que la app ha sido desarrollada. Como ya sabemos, las apps pueden ser desarrolladas para distintos sistemas operativos -iOS, Android, WindowsPhone…- que requieren ser escritas en distintos lenguajes de código. En este punto, la subcapa lógica del Frontend se encarga de hacer una primera traducción del lenguaje en el que las APIs envían la  información al lenguaje específico de cada sistema operativo. Este es un proceso que, a pesar de ocurrir en el Frontend de nuestra app, el usuario final no ve. Podríamos llamarlo el “Backend del Fronted”.

 

  • La subcapa visual, relacionada con el diseño estético de la app, en la que se encuentran todos los elementos que el usuario final puede ver. La capa visual del Frontend es donde, finalmente, se produce la conversión de la información a los elementos con el que el usuario final se relaciona, y a los que hacíamos referencia al comenzar este artículo.

           

Para concluir con las funciones y procesos del Backend, Ignacio Barrea, director y cofundador de Ticapps, empresa especializada en consultoría y desarrollo mobile apunta: “El desarrollo de un Backend sólido es clave para conseguir una buena experiencia de usuario. Podemos desarrollar los mejores y más novedosos diseños, podemos tener la mejor idea para un negocio mobile pero, al final, si los cimientos de la app fallan, nuestra aplicación acabará siendo un fracaso”.

 

Técnicas usadas en Backend y recomendaciones finales

 

Las técnicas utilizadas para el desarrollo del Backend en término de lenguajes de programación son muchas, pero todas tiene un objetivo en común: deben ser intuitivas y comprensibles para los desarrolladores. Gran parte del código de la app se encuentra escrito en el Backend, lo que implica que para cualquier actualización o modificación de la misma, los desarrolladores tendrán que volver a trabajar sobre el mismo. Por eso, para facilitar su trabajo y conseguir mejores resultados, el código debe ser claro e intuitivo.

 

Entre los lenguajes más populares de Backend se encuentran Ruby, Python, SQL, PHP y Java. Todos tienen ventajas e inconvenientes, por lo que dependerá de las necesidades específicas de nuestra app el escoger uno u otro. Sin ánimo de profundizar en los lenguajes de programación, desde Ticapps recomendamos usar aquellos que cumplan con los siguientes criterios:

 

  • Escalabilidad: cuando hablamos de la escalabilidad del Backend, nos referimos a la flexibilidad del mismo para integrar nuevas estructuras y códigos. Este es un aspecto esencial, especialmente si nuestra app ha sido diseñada para utilizarse a largo plazo. ¿Por qué? Porque los cambios en mobile son inevitables. Cada día nuevos sistemas operativos y dispositivos móviles son lanzados al mercado, por no hablar de que nuestro modelo de negocio mobile puede -y debe- evolucionar junto a mismo. En un contexto tan dinámico, la flexibilidad de nuestra app y su Backend es clave para el éxito.
  • Seguridad: debido a la constante interacción del Backend con las bases de datos, desarrollar el código siguiendo prácticas seguras es sumamente importante, más aún si nuestra app está diseñada para manejar información sensible, como datos personales, financieros o médicos. Para el desarrollo de un Backend seguro, desde Tictapps recomendamos trabajar sólo con desarrolladores cualificados, hacer uso de conexiones seguras -como las famosas HTTPS- y utilizar bases de datos encriptadas.
  • Robustez: con esto nos referimos a la "fuerza" del Backend, o su capacidad para funcionar en cualquier contexto. Imaginen, por ejemplo, que desarrollamos una app para ser un mobile commerce. En este caso, la aplicación deberá desarrollarse teniendo en cuenta situaciones inesperadas, como el registro y uso masivo de la app en fechas de venta clave -Navidad, Rebajas-. Un Backend desarrollado de manera robusta nos asegura que, ante este tipo de situaciones, nuestra app siga funcionando, evitando los famosos crashes, que dan lugar a malas experiencias de uso y por lo tanto a la temida desinstalación de la app.