Frameworks: mi mejor enemigo

¡Bienvenidos queridos rooters a nuestro blog! Es viernes, y si estáis teniendo un día de trabajo largo y pesado, seguro que te harás la pregunta: ¿cómo podría hacer mis tareas más rápido para irme de fin de semana? Estás de suerte. Existen entornos de trabajo que nos ayudan a agilizar los desarrollos e implementaciones: los frameworks.

¿Qué es un framework?

En términos generales es un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

Un framework se compone por defecto de cierta estructura y funcionalidad que podemos ir configurando acorde a nuestros requerimientos y necesidades. Su estructura trae elementos que hacen más cómodo y agilizan nuestro proceso de desarrollo.

Lo que buscan este tipo de herramientas es básicamente evitar la repetición de código. Además de intentar estandarizar un estilo o modo de desarrollo, debido a que cada desarrollador tiene su forma de programar, lo que en muchos casos provoca que el mantenimiento pueda ser demasiado complejo, por esta necesidad se ha ido popularizando cada vez más el uso de los frameworks.

Evidentemente los frameworks tienen una serie de ventajas y desventajas, no todo es de color de rosa.

pros y contras

Ventajas de utilizar un framework

Empecemos con los pros:

  1. Eficiencia. Tareas que normalmente nos llevarían horas y cientos de líneas de código, pueden ser hechas en cuestión de minutos con funciones y paquetes predefinidos. El desarrollo se vuelve bastante más fácil. Por lo tanto si es más fácil es más rápido, y en consecuencia más eficiente.
  2. Seguridad. Cualquier framework que esté muy extendido tiene grandes implementaciones de seguridad. La gran ventaja es la comunidad detrás de ellos, donde los usuarios son los testers. Si encuentras una vulnerabilidad o un agujero de seguridad, puedes -y debes- comunicarlo en la página web del framework y hacérselo saber al equipo de desarrollo para que puedan corregirlo.
  3. Coste. La mayoría de los frameworks son gratis, y puesto que también ayuda a los desarrolladores a crear el código más rápido, el coste para el cliente final será menor.
  4. Soporte. Como cualquier otra herramienta distribuida, un framework normalmente viene con documentación, un equipo de soporte, y/o una gran comunidad y foros donde puedes obtener respuestas rápidas.

Desventajas de utilizar un framework

Y ahora lo malo, o lo menos beneficioso:

  1. Aprendes el framework, no el lenguaje. Si utilizas un framework para un proyecto y no conoces demasiado bien el lenguaje del mismo, aprenderás a utilizar el framework, no el lenguaje. Por ejemplo Bootstrap (framework HTML/CSS/JS), si añades tres div seguidas con la clase col-lg-4 te saldrán una al lado de la otra, conseguirás lo que quieres. Pero si no sabes qué hace el CSS por debajo, nunca sabrás por qué. Si necesitas que en lugar de 3 divs alineados y juntos, haya 5… problema, no sabrás cómo hacerlo. (Y aclarado sea de paso, la clase col-lg-4 tiene las propiedades flotantes y ancho 33.33%, de ahí a que salgan una al lado de otra ocupando todo el ancho de la pantalla)
  2. Limitaciones. El comportamiento básico de un framework no puede ser modificado (sin conocimientos sólidos del lenguaje). Esto significa que cuando utilizas un framework, estás obligado a respetar sus límites y trabajar de la manera que es requerida. Así que, ¡asegúrate de escoger un framework que satisfaga tus necesidades!
  3. El código es público. Desde el momento en que un framework está disponible a todo el mundo, también lo es para la gente con malas intenciones. Puede – y será – estudiado de manera exhaustiva para conocer cómo funciona y encontrar defectos para usarlos en su contra.
  4. Podría ser una pérdida de tiempo. Si ya estás acostumbrado a trabajar y ordenar tu código de cierta manera y debido a una petición de cliente o a un proyecto en equipo te ves obligado a trabajar con cierto framework, obviamente primero debes aprender cómo funciona. Esto podría ser tiempo valioso que podrías haber invertido en comenzar a codificar sin el uso de un framework.

 

¿Pero podemos encontrar frameworks para todo?

Prácticamente sí, debido a que sus núcleos forman parte del concepto de las clases, las cuales como bien se saben son el molde para crear objetos, dado por la definición de POO (Programación Orientada a Objetos).

Es decir, literalmente nos podríamos apartarnos un poco del desarrollo y mirarlo en la vida real, por ejemplo los patrones de diseño para ropa, ellos se basan en el uso de moldes que efectivamente facilitan la creación de nuevas colecciones de ropa.

 

Mi consejo personal es que no utilicéis un framework si no tenéis vastos conocimientos del lenguaje base. Por poner un ejemplo primitivo: imaginad sumar es un lenguaje y la calculadora es un framework. Y no sabes sumar muy bien. Pero sabes que pulsando 2+2 en la calculadora, ella te devuelve el resultado correcto. Ahora, si te quito la calculadora y te pregunto cuánto es 3.7+1.5 no vas a saber hacerlo. Pues lo mismo ocurre con los lenguajes y los frameworks.

 

Un saludo y nos vemos en el siguiente rootie, ¡buen fin de semana!

2 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *