Los Cuentos de los Frameworks

José Alcaraz
29 de noviembre de 2018
3 min. de lectura
h_cuentos_de_los_frameworks.jpg

Esta es la historia de un joven aventurero que viajaba por el universo del Software, siempre en búsqueda de nuevos mundos por descubrir. Un día, emprendió un viaje para entender las verdades ocultas del misterioso planeta de los Frameworks. No sabía lo que le esperaba y, en un parpadeo, su destino cambió para siempre.

En consecuencia de su caos mental, tratando de entender los misterios de la naturaleza, el intrépido viajero se hacía constantemente preguntas existenciales como: ¿Por qué los crearon?, ¿si serán necesarios?, ¿y si creo mi propio Framework de puro rebelde?, ¿qué es la realidad?. Este artículo contiene pensamientos que le ayudaron a ese viajero a estar más tranquilo, aprendiendo a usarlos y aceptarlos, sacando lo mejor de ellos como herramientas de desarrollo.

Descubriendo el contexto

Muchos desarrolladores de software adoptan naturalmente la palabra Framework, y empiezan a usarla en su vocabulario porque le encuentran un sentido directo con herramientas que usan a diario.

Pero su uso indiscriminado en el vocabulario del Software, hace que muchos no entiendan bien a lo que se refiere o lo que representa verdaderamente, porque a fin de cuentas, es algo medio abstracto. Hay incluso muchos desarrolladores que crean y usan sus propios frameworks, pero ni se dan cuenta.

Hay un punto en el que es importante ayudar a aterrizar su significado, con el fin de entender lo que representan para los desarrolladores, y así poder usar la palabra en el contexto adecuado.

¿Qué es un Framework?

Framework pareciera no tener una definición exacta, pero en el mundo del desarrollo está asociada a un conjunto estandarizado de conceptos, prácticas y criterios, que sirven como referencia para resolver problemas actuales, pensando en problemas futuros de características similares.

Ingeniería, que es el área encargada de “hacer funcionar” las soluciones, tiene una gran variedad de campos y aplicaciones. De todos modos, hay unos cuantos principios que se mantienen, independiente de la rama del conocimiento. Para mi gusto, hay cuatro principios hacia los que debería apuntar cualquier tipo de solución.

4 principios de la ingeniería:

1. Testabilidad: la solución es diseñada para tener pruebas repetidas, que muestren que hay un comportamiento esperado.

2. Integridad estructural: si la solución falla, no puede afectar a su entorno, sino solo a sí misma.

3. Mantenibilidad: está hecha para que dure en el tiempo, y que quienes vean la solución, entiendan fácilmente los componentes y partes de la misma.

4. Integrabilidad: la solución es desarrollada para que se integre de manera específica con su entorno exterior, sin que sea confuso hacerlo.

Descifrando los misterios:

Siempre estará la inmensa duda de usarlos o no, o de usar uno u otro porque hay muchas opciones. Es lo normal en los procesos de desarrollo de aplicaciones de toda clase, y más, cuando hay una curva de aprendizaje involucrada. Pero el panorama se aclara un poco cuando, teniendo el abanico de opciones, se piensa en la necesidad y no en las herramientas.

Este cambio de paradigma no es fácil de lograr porque al principio se piensa que hay que dominar bien una herramienta para solucionar algo de la mejor manera.

Por otro lado, si se piensa constantemente en la necesidad, es posible que la mente abra más su abanico de posibilidades, aprendiendo a manejar las herramientas justas y adecuadas para enriquecer la solución final, pensando en el objetivo principal que son los usuarios finales.

Los Frameworks pueden pensarse como una especie de evolución estructurada de las líneas de código que un desarrollador promedio pueda escribir desde cero; son una abstracción desarrollada por aquellos que han tenido varias heridas de guerra, para aquellos que están dentro de sus propias batallas, creando soluciones testeables, integrales estructuralmente, mantenibles en el tiempo e integrables con componentes externos.  

Moraleja del viaje:

La decisión de selección o ausencia de un Frarmework para una solución cualquiera, sea en el lenguaje que sea, debe estar acompañada de un análisis contextualizado y conjunto, orientado a descubrir cómo las herramientas planteadas van a ayudarnos a alcanzar los principios de la ingeniería.

Comparar ventajas y desventajas de uso y contemplar otras opiniones, sin perder de norte la necesidad de los usuarios finales, ayuda naturalmente a tomar decisiones más acertadas. Si lo piensas de ese modo, tu destino cambiará para siempre, tal y como le sucedió al intrépido viajero.

En el mundo del software, también se habla de certificación,  que mejora la experiencia de usuario cada que una herramienta tecnológica sale  a producción. Descarga gratis el e-Book sobre certificación de software. 

Nuevo llamado a la acción

 

Suscríbete