El concepto framework (cuya traducción aproximada sería “marco de trabajo”), se emplea en ámbitos del desarrollo de software y más recientemente se aplica en el desarrollo web.

El concepto de framework no es sencillo de definir o explicar, según Wikipedia un framework 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.
Dicho en otras palabras, y centrándonos en el desarrollo web, podríamos decir que un framework es un conjunto estandarizado y personalizable que facilitan la reutilización de código de elementos comunes usados en el desarrollo web, que facilita y apoya el desarrollo de sitios dinámicos, aplicaciones web y servicios web.
Se puede considerar como una aplicación genérica incompleta a la que le podemos agregar o modificar ciertas piezas para completar nuestro proyecto.
Por poner un ejemplo simple pensemos en un profesor de primaria que les pide de tarea a sus alumnos que investiguen e identifiquen en un mapa los Estados de la República Méxicana que son los principales productores de café, entonces cada alumno realiza una investigación, compraría un mapa de la República con división política y con colores en mano comienzan a iluminar los principales estados donde se produce el café.
El mapa es el mismo para todos, los colores podrían ser de distintas marcas o características pero al final sirven para el mismo propósito, sin embargo cada niño iluminará con los colores que prefiera cada entidad y aplicará su propio estilo para obtener un resultado propio (diferentes colores por ejemplo), aunque con características similares (son los mismos estados).
En este ejemplo el mapa y los colores serían parte del framework (elementos que todos van a emplear), mientras que los niños serían el equivalente al desarrollador o programador web, quienes usan elementos en común pero dan resultados diferentes.
Ventajas y Desventajas del uso de Frameworks
¿Qué hubiera pasado si estos niños no hubieran comprado un mapa en la papelería?, pues tendrían que dibujarlo en su libreta y eso les habría llevado más tiempo y dedicación.
De la misma manera, utilizar un framework nos permite acelerar el proceso de desarrollo de la página web, nos deja reutilizar código, eliminando, de esta forma, el exceso de carga asociado con actividades comunes empleadas en desarrollos web. De esta manera nos centramos en la resolución del verdadero problema (investigar cuáles son los principales estados productores de café).
Un framework nos permite unificar nuestro trabajo mediante el uso de componentes, plantillas y patrones en común, de tal forma que un proyecto que es desarrollado por una persona bien puede otra distinta dar seguimiento o mantenimiento, ya que cuenta con un esquema uniforme común.
Pero no todo es miel sobre hojuelas, utilizar framework también tiene sus desventajas, de hecho existen muchos desarrolladores a los que no les gusta usar frameworks y prefieren programar “a mano” y personalizar todo lo que emplearán en su web, evidentemente esto implica un mayor tiempo para desarrollar el proyecto, pero su web contaría con el código y elementos que son indispensables para el correcto funcionamiento, ni más ni menos, solo lo esencial.
Regresando a nuestro ejemplo, pensemos que tenemos 24 lápices de colores, pero para nuestra tarea solo emplearemos 4 para iluminar (Chiapas, Veracruz, Puebla y Oaxaca), lo que significa que 20 colores no los usamos y solo ocupan espacio llenando nuestra lapicera, ese espacio podríamos haberlo empleado para guardar nuestro lápiz, goma o bolígrafo que nos serían útiles en la escuela, pero ahora el espacio está lleno por algo que no usaremos, por lo que tal vez debamos comprar una lapicera más grande para meter las cosas que si vamos a usar.
De la misma forma, muchas veces un framework va incluir elementos o recursos que no vamos a emplear, pero que ocupan en espacio y absorben recursos de nuestro servidor que bien podríamos usar para otra cosa.
|
Ventajas |
Desventajas |
| Evitar escribir código repetitivo | Coste inicial de aprendizaje |
| Utiliza buenas prácticas de desarrollo y diseño (todo más ordenado) | Si deseas hacer un cambio al código debes reescribir esa parte de nuevo. |
| Permite hacer cosas más avanzadas con mayor facilidad | Demanda de recursos innecesarios. |
| Desarrollos más rápidos y seguros. |
En resumen podríamos decir que usar frameworks tiene ventajas y desventajas (como todo en esta vida), cada quien será libre de elegir si los emplea o no para sus proyectos, en lo personal considero que tienen más ventajas (sobre todo a largo plazo) y estoy a favor de utilizarlos, sin embargo, tal vez tengamos algunos proyectos que sean tan pequeños que no consideremos necesario emplear algún framework, o puede que no encontremos alguno que se adapte a nuestras necesidades, o simplemente no desee dedicar tiempo a buscar alguno y optemos por no emplearlos o terminemos construyendo nuestro propio framework.
En futuros post les presentare algunos de los frameworks más utilizados en el desarrollo web. Déjame tus comentarios y dime, ¿estás a favor o encontra de utilizar frameworks en desarrollo web?
Referencias:
- Tovar, Carlos, (Noviembre 2013), Frameworks, SlideShare, https://es.slideshare.net/GeraldynDeSousa/framework-30197256.
- ¿Deberías usar un framework para tu proyecto web?, (2016), Emprenderalia magazine, http://www.emprenderalia.com/deberias-usar-un-framework-para-tu-proyecto-web/
- Framework, (7 de julio de 2017), Wikipedia, https://es.wikipedia.org/wiki/Framework
- ¿Qué es un framework y para qué se utiliza?, (12 de julio de 2015), Orix, https://www.orix.es/que-es-un-framework-y-para-que-se-utiliza
