La Importancia de un buen Backend

Luego de participar y dirigir múltiples proyectos de distinto calibre me gustaría compartir algunos errores que cometí en su momento, concretamente uno: subestimar el backend. En realidad es más que eso, porque originalmente no me formé como desarrollador (historia para otro día) y mi acercamiento a la informática durante años fue el frontend. A medida que aumentaban mis responsabilidades en los proyectos más me daba cuenta de que siempre me faltaba algo, y ese algo era un buen backend. Conocer el backend de Odoo ayudó mucho a darles "esqueleto" a múltiples proyectos, especialmente si estos requerían un sistema estilo ERP detrás; pero está claro que no es el único, Django es una gran opción, e incluso backs realizados con PHP, que por muy odiado que se encuentre en la actualidad ha sabido ser un "rey" en lo suyo y sigue teniendo una enorme base de proyectos y desarrolladores en todo el mundo.

El esqueleto de un proyecto informático

Es normal que en proyectos webs se suela distinguir a todo un arsenal de tecnologías para desarrollo del frontend, partiendo de la base clásica de HTML, CSS y JavaScript, y pasando por todo el espectro de las librerías. La gran mayoría de los proyectos que suele presentar el equipo de diseño o los encargados de dichos proyectos suele ser una "maqueta" muy bonita, con muchas "capturas" de pantalla de como se verá el producto final, ya sea una App, una Web o una Experiencia. La pregunta que suelo realizar en esos momentos es la siguiente: ¿como van a administrarse los datos? Y me sorprende que no suele haber una respuesta. Todo es muy bello, pero los engranajes no se mueven.

Esto no es algo malo, la parte de organización referente a un proyecto es muy importante y no tiene porque saber de tecnología. Lo que si no puede pasar es que cuando en la maqueta se coloca la necesidad de, por ejemplo, hacer un sistema de login de usuarios la respuesta típica sea: usamos facebook login y listo. No puede pasar que cuando se consulta "de dónde salen los datos para ese texto" la respuesta sea: lo podemos dejar hardcodeado en el sistema. El backend tiene que tener el mismo peso que el frontend, si nos tomamos el tiempo de hacer bellos diseños de apps y capturas entonces, mínimamente, tratemos de presentar opciones de backend en las primeras reuniones; o al menos una idea de lo que queramos que ocurra con los datos.

¿Que backend elegir?

Esto es muy variable, depende del proyecto y del equipo. Del proyecto porque cada uno tiene necesidades distintas; y del equipo porque hay veces que se tiene experiencia sobre determinada tecnología y entonces suele haber cierta preferencia (lo cual no es malo).

Generalmente recomiendo elegir un backend OpenSource, así las modificaciones al mismo son más sencillas. Por suerte la mayoría de backends hoy por hoy lo son, así que no es una limitante, sino todo lo contrario. Luego me decantaría a los más populares, nunca falta quien sugiere un backend experimental y nuevo, de estilo "underground", y quizás sea una buena opción; pero los más populares lo son por algo, es más facil encontrar amplia documentación e incluso desarrolladores que ya lo conozcan. También podemos decantarnos por una tecnología en particular, por ejemplo los Backend en Python están demostrando ser altamente eficientes por sobre los de PHP, así que si nos interesa eficiencia puede ser una gran opción. Y finalmente podemos elegir el backend de acuerdo a la necesidad del proyecto. Por ejemplo, si ya sabemos que el proyecto necesita funcionalidades ERP, Odoo es un magnífico Backend con el cual ahorraremos mucho tiempo. Si detectamos que se van a necesitar muchas funciones a medida, entonces Django es una gran alternativa. Y así con todos, es solo por mencionar algunos.

Conclusiones

La razón de este post es por una situación real: Durante este año me tocó trabajar en un proyecto para una Facultad, el proyecto consistía en una experiencia 3D con trazabilidad, registro y sistema de mailing (entre otras cosas) para promover la inscripción a carreras. Odoo me pareció una gran opción de backend, y de hecho tuve que sugerirlo ya que no lo consideraban importante en la primer reunión de organización (de hecho, no se puso sobre la mesa como iban a administrarse los datos hasta que lo mencioné). Y por suerte se implementó un backend como Odoo, así no tuvimos que preocuparnos ni por el registro ni por los mails, y al momento de cambiar los datos de las carreras (lo cual fue bastante frecuente antes de salir a producción), la persona encargada del frontend no tuvo que hacer ningún cambio o arreglo; todo funcionó de manera fluida.

# odoo
La Importancia de un buen Backend
Ignacio Buioli 6 diciembre, 2021
Compartir Entrada
Suscribirse al Newsletter:
Categorías
Archivo