13/11/2013

¿Es conveniente utilizar frameworks para desarrollo front-end?

¿Es conveniente utilizar frameworks para desarrollo front-end?

Hasta hace pocos años, el uso de frameworks sólo era habitual para tareas de programación «pura» (por ejemplo, Symfony2 facilita la codificación en PHP). Sin embargo, actualmente existe un auge de los frameworks para maquetado y scripting, es decir, las áreas correspondientes al desarrollo front-end. Soluciones integrales como Bootstrap, Foundation y GroundworkCSS brindan un generoso conjunto de elementos ya implementados en HTML, CSS y JavaScript para que el desarrollador pueda obtener sitios web atractivos en poco tiempo. Pero ¿cuáles son las ventajas y las desventajas de este enfoque?

Ventajas

  • Resultados en menos tiempo. Incluso si no utilizaremos un framework front-end para el producto final, podemos usarlo para generar prototipos y mostrárselos al cliente apenas se inicia el proyecto.
  • Aprendizaje. Al ser abiertos, los frameworks nos permiten conocer a fondo la manera en que se implementan ciertos componentes. Por eso, son útiles para desarrolladores inexpertos.
  • Confiabilidad. Los frameworks son construidos por desarrolladores expertos, que cuidan cada detalle. Los elementos ya implementados que ofrece un framework permiten crear sitios web seguros, que validan estándares y cargan rápido. Podemos despreocuparnos por esos aspectos y confiar en que el framework se encargue de ellos.

Desventajas

  • Malas prácticas. Los frameworks brindan tantas comodidades que muchos desarrolladores inexpertos los utilizan sin preocuparse en entender el código que están observando. Sin aprendizaje no podremos crear sitios realmente personalizados sobre la base que ofrece el framework. Esta práctica está tan extendida que los sitios realizados sobre Bootstrap tienden a parecerse demasiado entre sí.
  • Código no semántico. Como un framework es una solución genérica, las clases e identificadores CSS que generará tendrán nombres sin significado (por ejemplo, div4 en vez de wrapper-noticias) por lo que serán difíciles de implementar. Además, las soluciones automatizadas tienden a utilizar demasiado código para implementar componentes sencillos.
  • Solo para proyectos nuevos. Si nuestra tarea es modificar un sitio web ya en funcionamiento, incorporar un framework traerá muchos dolores de cabeza. Puede resultar difícil integrar las clases CSS y funciones JavaScript ya existentes con las que el framework nos ofrece.

Teniendo en cuenta estos aspectos sabremos si el uso de un framework puede ser conveniente para la tarea de desarrollo front-end que debemos afrontar.

0

angularjs Aplicaciones en Facebook aplicaciones mobile behavioral targeting Botones Call-to-action breadcrumbs breadcrumbs web búsqueda de personal búsqueda facetada Call-to-action buttons Client-side cliente-destacado cms a medida coding comercio electrónico content marketing CSS3 PIE cuanto debe pesar un sitio data-driven web design Datos estructurados Defacement Denegación de servicio Desarrollar una aplicación web desventajas de PhoneGap diseñar newsletters diseño web diseño web argentina diseño web esqueuomórfico Diseño web responsive Diseño web responsivo diseño web santa fe diseño web Smart TV diseño web televisores DOM desde PHP enlaces rotos filtros de búsqueda flash flat web design formularios sitio web fragmentos enriquecidos función de autocompletar futuro de la realidad aumentada html HTML5 html5shiv inbound marketing Initializr interfaces Web para televisores javascript jobs jQuery Mobile Mapbox maquetado html/css maquetador web masonry layout menú de navegación menú desplegable Metodologías ágiles Modernizr MVC Navegación por teclado oferta laboral OpenStreetMap paginas de Facebook Paper js Paper js framework personas Phishing plan de QA Polyfills polymer portfolio-destacados portfolio-inicio programacion de CMS Programadores WordPress página de contacto página de error 404 que es Backbone.js Realidad aumentada Resultados instantáneos server-side skeuomorphic design sliders y usabilidad soporte Internet Explorer Storytelling Underscores usabilidad usabilidad buscadores user-centered design ux velocidad de carga web Vendor prefixes ventajas jQuery Mobile Ventanas integradas versiones antiguas de Internet Explorer WAI-ARIA web components web imprimible Web Semántica WordPress para ecommerce