Daniel Jarque

Daniel Jarque

Front End Developer

Qué es un framework

26 de November de 2019
1 minuto

Los frameworks son un conjunto de herramientas que, acompañados de una estructura o esqueleto base, nos permiten el desarrollo de aplicaciones web de forma rápida, escalable y mantenible. 

Principalmente nos facilita el desarrollo ágil partiendo de una base común para la mayoría nuestros proyectos. Esto nos permitirá reducir los tiempos de desarrollo, así como beneficiarnos de un código sólido y de buena calidad gracias a que se trata de desarrollos de gran confianza y con gran soporte por parte de la comunidad.

Otro concepto a tener en cuenta cuando hablamos de frameworks es que existen diferentes tipos dentro del mundo del desarrollo web. Estos son algunos de los más utilizados:

Back-end:

  • Express (Javascript)
  • Django (Phyton) 
  • Ruby on Rails (Ruby)
  • Laravel (PHP)
  • Spring (Java)
  • Zend (PHP)

 

Front-end Javascript

  • Angular
  • React
  • Vue
  • Ember
  • Backbone

 

Front-end CSS

  • Bootstrap
  • Foundation
  • Bulma
  • Taliwind CSS
  • Uikit
  • Semantic UI

 

PHP

  • Symphony
  • Laravel
  • CakePHP
  • CodeIgniter
  • Zend

 

Diferenciando un framework de un CMS

Son conceptos que pueden llevar al error ya que pueden parecer similares, pero no son lo mismo. Un CMS es un gestor de contenido preparado para facilitar la gestión de tareas sin necesidad de tener ningún tipo de conocimientos de programación, mientras que un Framework por sí solo no está preparado para realizar ninguna funcionalidad, sino que requiere de la intervención de un equipo de desarrollo para que realice cualquier acción. Por ejemplo, un CMS puede contener un Framework en su interior, pero no a la inversa.

 

Ventajas de un framework

  • Programación Orientada a Objetos: Los framework están basados en esta metodología de programación que nos asegura una estructura ordenada y eficiente.
  • Modelo Vista Controlador: Están desarrollados siguiendo este patrón de arquitectura que separa la lógica de la vista de la aplicación. 
  • Seguridad: Son desarrollos muy solventes en los que normalmente hay detrás alguna gran compañía (Facebook, Google..), aunque también es común que se trate de una fundación u organización la que se encargue del desarrollo y mantenimiento.
  • Soporte: Se trata de desarrollos muy populares y disponen de una comunidad muy activa, además de que reciben constantes actualizaciones y mejoras por parte de los creadores.
  • Mantenimiento: Cuando los equipos están habituados al funcionamiento de un framework, facilita mucho el trabajo en equipo al utilizar siempre la misma sintaxis y estructura de diseño.

 

Desventajas

  • Curva de aprendizaje elevada: Cada framework es un mundo y normalmente no es sencillo manejar con solvencia varios de ellos por lo que es importante que escojamos adecuadamente cuáles son los que vamos a utilizar en nuestros proyectos.
  • Desconocimiento del funcionamiento del core del framework: Al ser desarrollos muy complejos no tenemos control sobre el funcionamiento del mismo, lo que nos deja un poco a la voluntad del equipo de desarrollo en cuanto a tema de actualizaciones importantes de seguridad o funcionales.
  • Más lentos que un desarrollo a medida: Esto se debe principalmente al tener sobrecarga de clases y bibliotecas antes de que el código sea llamado e incluso un exceso de código que puede que nunca sea utilizado. 

En general, el uso de un framework nos aporta más beneficios que desventajas a la hora de decidirnos por su uso. Se trata de una manera muy optimizada de trabajar y que permite unificar la metodología de trabajo dentro de un equipo de desarrollo. Además, podemos aprovechar su solvencia para dotar a nuestros proyectos de gran seguridad, eficiencia y mantenibilidad.