Saltar al contenido

¿Qué es un FRAMEWORK?

que es un framework en programacion

Un Framework es un esquema o patrón que nos ofrece un entorno genérico para escribir código en un lenguaje concreto. Dicho de otra forma, con un framework nos encontramos un entorno de trabajo, que nos ofrece una forma estándar de trabajar. Lo más habitual es usar el paradigma MVC, es decir, Modelo-Vista-Controlador.

Veamos un par de de ejemplos rápidos. Uno de los frameworks más conocidos en entornos web es Django, sobre el lenguaje de programación Python. Su equivalente en Ruby sería Ruby on Rails. Por lo tanto, cuando hablamos de Django o Ruby on Rails, no estamos hablando de lenguajes de programación, sino de frameworks.

Si queremos crear una aplicación web con el lenguaje PHP, el más extendido en lenguajes web, también tenemos la posibilidad de hacerlo bajo un framework, como puede ser Laravel, Symfony, Zend o CodeIgniter. También podemos programar desde cero, pero actualmente esta opción no suele ser la más valorada.

Ahora hablaremos del paradigma o patrón de diseño MVC, que como hemos dicho, es el más utilziado en frameworks.

Qué es el paradigma o patrón MVC (Model – View – Controller)

El patrón MVC tiene una serie de ventajas respecto a otros patrones o formas de programar.

La principal es que separa la lógica de programación del tratamiento de datos, mediante tres capas diferenciadas.

Las tres capas en que se compone son:

  • Modelo: es como tratamos los datos.
  • Vista: esta capa pinta el resultado final de la información.
  • Controlador: responde al usuario mediante eventos, con la capa de vista, y llama al modelo para manejar los datos.

Qué es el .NET Framework

Ahora que tenemos claro que es un FrameWork, vamos a hablar del .NET Framework, el más famoso de Microsoft.

El FrameWork de Windows suele estar incluido en los sistemas operativos de Microsoft, y nos ofrece una biblioteca enorme de clases para cualquiera de los lenguajes de programación de Visual Studio. Estos lenguajes son:

  • Visual Basic
  • C#
  • C++
  • J#

Cuando escribimos un programa en .NET, este se compila en un entorno, llamado CLR, el Common Language Runtime. Después, el CLR pasa a un compilador JIT (Just In Time) y es que genera el código máquina para que se ejecuta.

La biblioteca de clases .NET Framework tiene las siguientes características:

  • Biblioteca de código ya probado y que podemos usar.
  • Nos ofrece lo mínimo para programar, desde los tipos básicos a clases.
  • Facilita el intercambio de datos, ya sea al disco duro, ficheros o base de datos.
  • en ASP .NET, el framework para entornos web, administra y crea los componentes web necesario para que pueda ejecutarse en el servidor y en el cliente.

Ejemplos de FrameWorks

Aunque ya hemos visto algunos ejemplos de Frameworks, veamos un recopilatorio, dependiendo del lenguaje de programación que te pueda itneresar.

Frameworks basados en JavaScript

Algunos frameworks basados en JavaScript:

  • Angular JS: framework creado por Google.
  • React JS: framework creado por Facebook.

Frameworks PHP

Frameworks basados en PHP, nos ofrece todo lo necesario para crear páginas web.

  • Laravel.
  • Symfony.
  • Zend Framework.
  • CodeIgniter.
  • CakePHP.
  • Yii.
  • Phalcon.
  • FuelPHP.

Frameworks para programar entornos web

Separamos de los FrameWorks PHP, porque aquí podemos encontrar

  • Ruby on Rails: basado en Ruby.
  • Django: basado en Python.
  • Pylons: otro framework de Python.
  • Catalyst: basado en Perl.

Frameworks para crear apps móviles

También tenemos algunos entornos para poder crear aplicaciones para móviles, independientemente del lenguaje base del sistema operativo, ya sea para iOS o Android.

  • Ionic: usa HTML, JS, SASS y Angular.
  • Meteor: se programa en JavaScript.
  • JQuery Mobile: basado en HTML5.
  • PhoneGap: de Adobe.

Frameworks de Java

Para Java también tenemos entornos para crear aplicaciones.

  • Spring MVC: utlizado sobretodo para entornos web.
  • Struts 2: también para aplicaciones web.
  • Hibernate: su utiliza sobretodo para controlar el acceso a bases de datos.
  • JSF: el framework de Oracle.
  • Google Web Toolkit: google también nos ofrece un framework de Java.
  • Grails: otro framework web.