FRAMEWORK CSS

¿Que 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.

Este sistema plantea varias ventajas para los programadores, ya que automatiza muchos procesos y ademas facilita el conjunto de la programación. Es útil, por ejemplo, para evitar el tener que repetir código para realizar funciones habituales en un rango de herramientas, como puede ser el acceder a bases de datos o realizar llamadas a Internet. Todas esas tareas son las que se realizan de forma mucho mas fácil cuando se trabaja dentro de un framework.



¿Que es Responsive design?

Debido a la proliferación de smartphones y tablets en el mercado actual, existe mas diversidad que nunca de formatos de pantalla. Este panorama obliga a adaptar los formatos web a estos nuevos dispositivos y la estructura de cada uno de ellos, es indiscutible que necesitamos websites inteligentes que se adapten a todos ellos. A partir de todo esto, el término "responsive design" se escucha frecuentemente, pero ¿que es exactamente? El responsive design corresponde a una tendencia de creación de páginas web que pueden ser visualizadas perfectamente en todo tipo de dispositivos, desde ordenadores de escritorio hasta smartphones o tablets. Con este tipo de diseño no necesitas tener una versión para cada dispositivo, una sola web se adapta a todos ellos


Ventajas y desventajas de un Framework

Ventajas:

  1. 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 dónde situar los diferentes archivos de la aplicación (recursos, controladores, vistas, modelos, etc.)
  2. 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 conexion con la base de dato, validación de formularios, páginas de estilos etc. Con la utilización de un framework ahorraremos tiempo en desarrollar funcionalidades que ya que están cubiertas y podremos enforcarnos en el funcionamiento de la aplicación mas que en como llevarla a cabo.
  3. 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 nuevas funcionalidades.
  4. Menor coste en el desarrollo. El coste es un parámetro que esta directamente relacionado con la rapidez y agilidad. Acabar antes un proyecto implica que la dedicación es menor 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.
  5. Buenas prácticas de desarrollo con el uso de patrones. La mayoria de frameworks están basados en patrones de diseños, que nos indican pautas sobre cómo solucionar un problema especifico que ya ha ocurrido con anterioridad. El patrón de diseño mas 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.
  6. 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 seran menores que al desarrollarlo de cero. Ademas, en caso de que hubiera un error, lo mas probable es que ya haya sido solucionado por la comunidad
  7. Facilidad a la hora de encontrar una librería o código que ya cubra funcionalidades de tu desarrollo. Resulta mas fácil encontrar herramientas (utilidades, librerías) adaptadas al framework que para un desarrollo propio.
  8. Facilita la colaboración con otros desarrolladores. Tanto si son compañeros de tu equipo como de GitHub, leer código desarrollado por otra persona puede resultar complejo. Sin embargo, si ya sabes que estructura va a seguir el código y como se organiza, resultara mas fácil comprenderlo y poder aplicarle nuevos cambios. Lo que nos lleva a la siguiente ventaja.
  9. 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 sera menor.

Desventajas:

  1. Tiempo de aprendizaje. Antes de empezar a utilizar un framework debemos familiarizarnos con el, con como se estructura sus archivos, con la forma en la que se comunican los componentes, etc. Por lo tanto, tendremos que invertir tiempo en superar la curva de aprendizaje para poder comenzar un nuevo desarrollo utilizando el framework.
  2. Versiones inestables. El hecho de que los frameworks san 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 podria ralentizarnos.
  3. 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.
  4.  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 ocupara mas espacio del que realmente necesitaría.
  5. Elección del framework. Puede resultar complicado elegir cuál es el framwork en el que te vas a especializar, ya que existen 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 mas sólida ya que puede ocurrir que tras comenzar a desarrollar con un framework poco usado, se quede desactualizado al poco tiempo.

¿Cuales son los framework CSS mas utilizados?

Framework Descripción y componentes necesarios Ventajas Desventajas
Bootstrap Es una biblioteca multiplataforma o conjunto de herramientas de código abierto para diseños de sitios y aplicaciones web. En adición a los elementos regulares de HTML, Boostrap contiene otra interfaz de elementos comúnmente usados. Esta incluye botones con características avanzadas, etiquetas, capacidades avanzadas de miniaturas tipográficas, formatos para mensajes de alerta y barras de progreso
  • Diseño exquisito
  • Facil de personalizar
  • El código esta en un SAAS bien ordenado
  • Guia para migrar desde Boostrap



  • La documentación no es cómoda
  • No resetea correctamente algunos estilos
  • El contenedor no siempre se comporta como esperas
  • No dispone herramientas para dar espacios como paddings o margins
  • Foundation Es un framework de intrefaz de usuario responsive. Foundation proporciona una cuadrícula responsive e inlcuye componentes de interfaz de usuario HTML y CSS, plantillas y fragmentos de código, incluyendo tipografía, formularios, botones, barras de navegación y otros componentes de interfaz de usuario
    • Varias plantillas para maquetar con una base estructurada
    • 3 en 1: webs, emails y apps
    • Una documentación maravillosa
    • Herramienta para personalizar los componentes y asi controlar el peso final de CSS
    • Gran dependencia de JavaScript
    • Puede resultar complejo para un diseñador web con poca experiencia
    • 7 archivos diferentes para vincular
    • Para Apps hay otras herramientas mas completas

    Comentarios

    Entradas populares de este blog

    INTRODUCCIÓN A JAVA