Páginas

Buscar

¿Qué es un framework?

Desde hace un tiempo me aquejaba la duda de si es necesario utilizar un Framework para mis trabajos de programación, que tanto me beneficiarían o ayudarían a mejorar y facilitar mi trabajo?... Pues bien, he decidido resolver mi duda y al mismo tiempo compartir lo que investigue en la web sobre tan interesante conflicto recopilando información para ayudarnos a tomar la decisión de ¿usar o no un Framework?

Pero... ¿Qué es un framework?

Un Framework es una estructura o marco de trabajo que en el ámbito de desarrollo de software brinda un soporte definido en el cual otro proyecto de software puede ser desarrollado. Básicamente hablamos de ficheros, librerías, etc. que ayudan a normalizar y estructurar un proyecto de software convirtiéndose en un esqueleto o patrón de desarrollo e implementación de un software.

Navegando en la web encontré una analogía a esta definición, la cual me pareció bastante acertada: “Un Framework es como la estructura de un edificio, el cual una vez ‘instalado’ tu decides qué elementos incluir ya sea una alfombra o piso de cerámica, o decides para qué será utilizado si serán oficinas o apartamentos”. Reflexionando la analogía te darás cuenta que un Framework no es más que la unión de todos los componentes básicos y necesarios para elaborar un software siendo esta una estructura genérica y configurable, el para qué será utilizado ya depende de la solución software que quieras desarrollar.

Un Framework se convierte en una herramienta de desarrollo que facilita la programación, brinda soporte, agiliza el proceso de desarrollo y reduce el tiempo dedicado a programar soluciones ya escritas reutilizando el código existente.

Cabe recalcar que un Framework no está necesariamente ligado a un lenguaje de programación en concreto aunque en su mayoría así sea, entendiendo el hecho que la utilidad que un Framework proporciona para un lenguaje en especifico puede ser definido en otros lenguajes. Además el Framework podría bien definir una estructura para una aplicación completa o bien una para algunos de sus aspectos.


Ahora bien.. ¿Qué ventajas y desventajas nos ofrece utilizar un Framework?

En primer lugar el programador no tiene que plantearse la estructura básica de su aplicación más bien enfocarse en su contenido. Este es como el objetivo primordial de un Framework pero para muchos la utilización de un Framework aunque simplifica la vida crea dependencia del mismo y en algunas ocasiones si no se conoce bien el terreno se pierde el control del desarrollo y se crea una falsa sensación de conocimiento del lenguaje de programación ofrecido por el mismo.

Por otro lado, ofrece un desarrollo rápido. Abonado al hecho que un Framework posee todo el conjunto de elementos básicos y necesarios para construir una aplicación encontramos que además incluye un nivel de estandarización y soporte adecuado (en su mayoría) que permite que la velocidad de desarrollo aumente considerablemente y por consecuencia disminuye el tiempo de desarrollo. El problema es que para lograr esta velocidad de desarrollo se tiene que dedicar tiempo para el aprendizaje de los aspectos básicos del Framework que dependiendo de la complejidad del mismo, de tu capacidad de aprendizaje y conocimientos previos podrían ser unas cuantas horas o un par de días apoyándote de la documentación del mismo y de los foros de preguntas y respuestas que ofrecen algunas de las comunidades que forman sus usuarios.

Además, brinda un código optimizado y garantiza su reutilización.Lo malo es que con la cantidad de código brindado para ser reutilizado se agregan funcionalidades a la aplicación que no necesariamente son usadas en todos los casos.

Otro aspecto relevante es que mejora la colaboración gracias a su estandarización, aspecto (tedioso para algunos porque requiere un poco más de trabajo) que puede lograrse sin necesidad de un Framework.

¿Qué has decidido?

Muchos optan por utilizar un Framework porque sienten que se les ha simplificado la vida, otros prefieren comenzar sus aplicaciones desde cero cosa que no esta mal y que con la práctica y habiendo desarrollado sus propios métodos lograran quizá desarrollar sus propios Frameworks.

Algunos podrán considerar que ningún Framework es adaptable a sus necesidades o que es innecesario, quizá que no tenga tiempo para dedicar a su aprendizaje y prefiere desarrollar en su zona de confort.

Las recomendaciones de los que han utilizado un Framework alguna vez y han tenido una grata experiencia sugieren evaluar el tipo de proyecto software a desarrollar y dependiendo de su complejidad y tiempo para su ejecución  tomar el Framework que más se adapte a nuestras necesidades o en definitiva no utilizarlos.