Frameworks ¿sí o no?

Frameworks

¿Qué es un Framework?

La palabra inglesa “framework” (infraestructura, armazón, marco) define, en términos generales, 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.

En otras palabras, un Framewok es un espacio de trabajo que nos proporciona un conjunto de herramientas “prefabricadas”, la filosofía de los frameworks en programación es “crea tus aplicaciones, no tus herramientas”, y no le falta razón a esa afirmación.

Hay frameworks prácticamente para cualquier lenguaje de programación que existe, algunos de los ejemplos más conocidos son:

Una de sus características por convención es que son orientados a objetos, todos ellos ofrecen un gran número de herramientas que nos pueden servir para ahorrarnos tiempo en nuestros desarrollos, algo que sin duda alguna es un punto a favor, del mismo modo, el utilizar patrones de diseño preestablecidos estandariza el resultado, nos crea buenos hábitos de programación y facilita la colaboración en grupos de trabajo, además, nos garantizan actualizar los componentes de nuestra aplicación de forma rápida y sencilla.

Hasta aquí todo bien y considero que son razones suficientes como para que tomar la decisión de trabajar con frameworks sea absolutamente respetable, no obstante – y aunque me gusta trabajar con Bootstrap – no soy partidario de trabajar con frameworks. Antes de que comience el linchamiento, déjenme explicarme:

Si trabajamos en Python y queremos desarrollar un sistema web, es necesario trabajar con Django, por lo que, en este caso, su uso no solo es aconsejable, si no imprescindible, por ello me voy a centrar en otros ejemplos más claros: Frameworks PHP ¿Cuándo es aconsejable trabajar sobre un framework PHP? Si lo que buscamos son ofertas de empleo, es imprescindible, siendo Laravel y Codeigniter de los que podamos encontrar mayor oferta (aunque Symfony es el más robusto, y por varios años fue líder del sector), por lo que no está de más saber trabajar con estas herramientas; pero si se trata de desarrollos propios tenemos que hacernos la siguiente pregunta ¿Cuál es el tamaño de nuestro proyecto? Si se trata de trabajos pequeños que no requieren más de 3 o 4 formularios, trabajar con un framework sencillamente no tiene sentido, rotundamente, pues no vamos a utilizar ni un 10% de sus capacidades y no tiene lógica cargar a nuestro servidor la gran cantidad de componentes que contiene un framework si únicamente requerimos un CRUD (Create, Read, Update, Delete) para crear registros en nuestra base de datos, leerlos, actualizarlos y eliminarlos.

En el caso de los frameworks CSS, ya nos estamos enfocando al front-end y usarlos o no dependerá únicamente de nuestros gustos. En lo personal me encanta el front-end y me gusta crear mis trabajos desde cero, pero en ocasiones me gusta utilizar Bootstrap por lo fácil que es trabajar con él, lo fácil que es desarrollar trabajos visuales muy bonitos y el prestigio que da presentar un trabajo utilizando herramientas que son tan populares en el sector. Todos ofrecen herramientas similares, siendo – quizás – Materialize el más completo en estos momentos; no obstante, Bootstrap tiene la comunidad más grande, la documentación más amplia y por lo tanto un mayor número de complementos a nuestra disposición, además, Bootstrap 4 está cerca y promete incluir novedades tan interesantes como la sustitución de LESS por SASS, Glyphicons por Font Awesome, todos los plugins JavaScript se han reescrito utilizando EcmaScrip 6 o la implementación de un sistema de grillas utilizando Flexbox, entre otras muchas novedades, por lo que si estáis interesados en implementar un framework CSS a vuestros proyectos, os recomendaría Bootstrap; no obstante, vuelvo a repetir, no se trata de utilizarlo en todos los casos, yo no lo utilizo siempre, solo cuando me apetece dar ese “estilo Bootstrap” que tanto gusta.

En definitiva, no existe una respuesta definitiva, no está mal usarlos, pero como toda herramienta, deben ser usadas con cabeza.

Autor: Javier Ocampos

Fundador de Leedeo y cofundador de Nube Online. Desarrollador web por vocación, soy un apasionado del fron-end y back-end por igual, ya que considero que lo visual y lo funcional siempre han de ir de la mano.