¿Qué es un Framework?
Un framework, entorno de trabajo o marco de trabajo 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.
¿Qué es responsive desing?
El diseño web adaptable (también diseño web adaptativo o responsivo; este último calco del inglés responsive web design), es una filosofía de diseño y desarrollo cuyo objetivo es adaptar la apariencia de las páginas webal dispositivo que se esté utilizando para visitarlas. Hoy día las páginas web se ven en multitud de dispositivos como tabletas, teléfonos inteligentes, libros electrónicos, portátiles, PC, etcétera. Además, aún dentro de cada tipo, cada dispositivo tiene sus características concretas: tamaño de pantalla, resolución, potencia de CPU, sistema operativo o capacidad de memoria entre otras. Esta tecnología pretende que con un único diseño web, todo se vea correctamente en cualquier dispositivo.
Ventajas y desventajas de un Framework
Ventajas
* Estructura y organización del código predeterminada. Los frameworks proporcionan tanto un esqueleto como una forma de trabajar. Por lo tanto, evitan tener que realizar un análisis sobre dónde situar los diferentes archivos de la aplicación (recursos, controladores, vistas, modelos, etc.).* Reutilización del código. Evitar duplicidad de código. En el desarrollo de una aplicación existen ciertos apartados que suelen repetirse, como la conexión con la base de datos, validación de formularios, páginas de estilos, etc. Con la utilización de un framework ahorraremos tiempo en desarrollar funcionalidades que ya están cubiertas y podremos enfocarnos en el funcionamiento de la aplicación más que en cómo llevarla a cabo.
* Agilidad y rapidez en el desarrollo. Precisamente gracias a la reutilización de código mencionada anteriormente, conseguimos mayor rapidez en el desarrollo, ya que no perderemos tiempo en desarrollar funcionalidades nuevas.
* Menor coste en el desarrollo. El coste es un parámetro que está directamente relacionado con la rapidez y agilidad. Acabar antes un proyecto implica que la dedicación es menor y por lo tanto el coste del proyecto también disminuye. Al igual que la rapidez en el desarrollo, esta ventaja beneficia tanto al cliente como al desarrollador.
* Buenas prácticas de desarrollo con el uso de patrones. La mayoría de frameworks están basados en patrones de diseños, que nos indican pautas sobre cómo solucionar un problema específico que ya ha ocurrido con anterioridad. El patrón de diseño más popular es MVC (Modelo-Vista-Controlador), que nos ayuda a separar la capa de datos de la lógica del negocio de la interfaz con el usuario.
* Minimizar errores y mayor facilidad para solucionarlos. Como el framework ya incorpora código implementado por otros programadores, los posibles errores que este pueda tener siempre serán menores que al desarrollarlo desde cero. Además, en caso de que hubiera un error, lo más probable es que ya haya sido solucionado por la comunidad.
* Facilidad a la hora de encontrar una librería o código que ya cubra funcionalidades de tu desarrollo. Resulta más fácil encontrar herramientas (utilidades, librerías) adaptadas al framework que para un desarrollo propio.
* Facilita la colaboración con otros desarrolladores. Tanto si son compañeros de tu equipo como de GitHub, leer el código desarrollado por otra persona puede resultar complejo. Sin embargo, si ya sabes qué estructura va a seguir el código y cómo se organiza, resultará más fácil comprenderlo y poder aplicarle nuevos cambios. Lo que nos lleva a la siguiente ventaja.
* Facilita el mantenimiento. Si todos los miembros de un equipo trabajan de la misma forma, en el momento que haya que actualizar la aplicación o realizar algún evolutivo, tardaremos menos tiempo y el coste será menor.
desventajas
- Versiones inestables. El hecho de que los frameworks sean tan populares provoca que estén en constante actualización para cumplir con las nuevas tecnologías y las nuevas políticas de seguridad. Por ello, si en el desarrollo surgen incompatibilidades con otras librerías o se detectan errores de seguridad, la elección de una versión muy reciente del framework podría ralentizarnos.
- Menor rendimiento. Los frameworks consumen, en general, más recursos que una aplicación creada desde cero y orientada al rendimiento. En aplicaciones muy exigentes, un framework puede resultar poco apropiado.
- Código sin utilizar. Si la aplicación es pequeña o no requiere mucha funcionalidad, probablemente estaremos desaprovechando mucho código que viene implementado en el framework, por lo que la aplicación ocupará más espacio del que realmente necesitaría.
- Elección del framework. Puede resultar complicado elegir cuál es el framework en el que te vas a especializar, ya que existe una gran variedad, y cada uno posee sus propias características. Por lo que, antes de lanzarse a aprender un framework nuevo, hay que dedicar tiempo a estudiar cuáles son los que tienen una base más sólida, ya que puede ocurrir que tras comenzar a desarrollar con un framework poco usado, se quede desactualizado al poco tiempo.
Framework | Descripcion | Ventajas | Desventajas |
---|---|---|---|
Bootstrap | El framework de desarrollo más conocido y más utilizado en la actualidad, este framework proporciona una gran cantidad de componentes y estilos preestablecidos, un grid responsive de 12 columnas para que organices los componentes de tu sitio web, y una documentación extensa, clara y completa. | Bootstrap es soportado por la mayoría de navegadores web. Framework apoyado por una gran comunidad de desarrollo detrás. Muchas plantillas y componentes disponibles están creadas en Bootstrap. Buena documentación | Utiliza clases CSS no semánticas que “ensucian” tu HTML. Tiene la necesidad de utilizar jQuery. Si no personalizas tu sitio, se parecerá a muchas webs que utilizan este framework, debido a que es el framework más utilizado en estos momentos. |
Foundation | Foundation fue durante mucho tiempo, el rival directo de Bootstrap, actualmente la adopción de este framework no es tan alta como lo es la de Bootstrap, pero esto no significa que Foundation no sea un framework CSS a tener en cuenta. | Gran cantidad de componentes muy personalizables. Extensa y detallada documentación con tutoriales en vídeo en algunas secciones. Las clases CSS utilizadas son semánticas, por lo que no ensucian tu HTML. | La comunidad de Foundation no es tan grande como la de Bootstrap. No hay tantos recursos externos disponibles para Foundation. Es más complejo que otros frameworks disponibles. |
Bulma | Bulma CSS es un framework de desarrollo relativamente nuevo, pero ya ha capturado la atención de una gran número de desarrolladores, Bulma CSS se centra en crear un framework CSS ligero y simple utilizando Flexbox para su sistema de rejilla. | Una sintaxis semántica, hace que nuestro código sea más comprensible. Es un framework ligero, por lo que tu web se verá recompensada a la hora de cargar con rapidez. Fácil de usar. Muy personalizable y modular, con la posibilidad de exportar solamente los componentes que necesites. Un grid responsive basado en flexbox. | Al ser relativamente nuevo la comunidad que lo apoya no es muy grande, pero crece con fuerza. Debido a su temprana edad falta corregir algunos bugs. No es una buena opción para navegadores Internet Explorer(pero a quién le importa Internet Explorer). |
Comentarios
Publicar un comentario