Definición de framework
Framework es un término inglés que se utiliza con frecuencia en nuestro idioma. Puede ser traducido como “marco o entorno de trabajo” y alude a un conjunto de ideas, pautas y acciones que permiten abordar una determinada problemática.
Útil para desarrollar software
Un framework, por lo tanto, funciona a modo de referencia. La noción suele aparecer en el terreno de la tecnología, sobre todo en la producción de software.
El framework agiliza mucho el desarrollo de software
Para la programación, un framework es una estructura conceptual que contribuye a organizar el desarrollo de los programas informáticos. Suele estar formado por un lenguaje interpretado, bibliotecas y otros recursos que facilitan la unión de los distintos elementos de un proyecto.
Además de brindar una estructura y de constituirse como una arquitectura, el framework aporta una metodología de trabajo. Se basa en patrones de desarrollo y favorece las buenas prácticas.
Al usar un framework para programar, se evita la escritura de códigos repetitivos. Esta herramienta también ayuda a minimizar el tiempo de programación ya que posibilita la reutilización de datos.
Una base genérica
Puede afirmarse que un framework es una especie de aplicación genérica. El usuario está en condiciones de sumarle las líneas de código que necesita para programar una aplicación específica, completándolo. Así, el framework ayuda a programar escribiendo una menor cantidad de líneas de código.
Tomemos el caso de PHP, un lenguaje de programación que suele emplearse en el desarrollo web. Los programadores, por lo general, recurren a Zend, Laravel o Symfony, entre otros frameworks, que simplifican la tarea de programación en PHP y evitan tener que empezar a programar desde cero.
A veces resulta difícil decantarse por un framework en particular, sobre todo si muchos de los disponibles reciben buenas calificaciones por parte de los usuarios. Por esta razón, se recomienda probar más de uno hasta dar con nuestro preferido. Escoger uno no significa que despreciemos las alternativas, sino que en algunos casos se trata de una cuestión de «química» que nos lleva a tomar la decisión, porque entendemos mejor su estructura o simplemente porque nos hace sentir más a gusto.
Componentes de un framework
Uno de los componentes esenciales de un framework es la denominada biblioteca, que también se conoce como librería en algunas regiones de habla hispana, aunque este último nombre sea menos correcto. Su definición es bastante sencilla: una colección de código y datos que se crea con el propósito de ser reusada. Pero, ¿qué significa esto exactamente?
Pensemos en una biblioteca de matemática, algo muy común en frameworks dedicados al desarrollo de videojuegos, por ejemplo. En el código que contiene puede haber variables tales como «el valor de PI» o «la constante para convertir grados a radianes», y también funciones que nos permitan «calcular la raíz cuadrada» o «redondear un número hacia arriba o abajo», entre otras muchas herramientas útiles.
Monogame es un conocido framework para desarrollar videojuegos
Si cada vez que un programador necesita calcular una raíz debiera escribir todo el código necesario para el cálculo, tardaría mucho tiempo y ocuparía muchísimo espacio en disco; con el framework adecuado esto se resume en una línea de código muy corta. Otros de los componentes más comunes del framework pueden ser herramientas específicas que resulten muy útiles para el desarrollo de un tipo de programa en particular, como ser interfaces para agregar audio o crear ventanas.
Es importante señalar que de fondo todas estas cosas se apoyan en bibliotecas, independientemente del modo en el que interactuemos con ellas. Por ejemplo, incluso si contamos con un panel de herramientas que nos permite crear y modificar ventanas para nuestra aplicación usando el ratón, esto también usa una biblioteca y podríamos conseguir los mismos resultados por medio del código. Sin embargo, la clave del framework es la comodidad.