¿Qué es un framework?
Básicamente, un framework es un conjunto de librerías documentadas basadas en un lenguaje de programación que nos ayudan a desarrollar software, tratan de facilitarnos el desarrollo proporcionarnos bibliotecas comunes, estructuras, accesos a base de datos, que podemos utilizar durante el desarrollo.
¿Qué es un framework web?
Basándonos en la explicación anterior podemos decir que un framework web, es un framework especialmente diseñado para desarrollar aplicaciones web, como sitios dinámicos, webservices, etc.
Ya que una aplicación web puede estar diseñada en diferentes lenguajes de programación podemos encontrar números frameworks diferentes, además en muchos casos podemos trabajar con combinaciones de diferentes frameworks.
Para que se utilizan los Framework
El objetivo principal de un Framework es aliviar la carga de trabajo para el desarrollo de funcionalidades en páginas webs, las mejoras que podemos encontrar en la mayoría de los frameworks se pueden agrupar en los siguientes puntos:
– Permiten desarrollar el código con menos esfuerzo, ofreciendo multitud de librerías generales.
– Nos permiten la reutilización del código.
– Nos ofrecen un desarrollo más estructurado, por ejemplo a través de la utilización de la estructura modelo vista controlador (MVC).
– Mejoran la codificación acelerando el desarrollo.
– Ofrecen numerosas utilidades o funcionalidades generales, por lo tanto no tenemos que volver a realizar la misma codificación una y otra vez.
– Utilizan metodologías de desarrollo ágiles.
Por qué las empresas utilizan frameworks
Tanto las pequeñas como las grandes compañías buscan siempre trabajar con la mayor agilidad, para así obtener la mayor productividad de sus empleados. En este sentido los frameworks se convierten en herramientas de desarrollo esenciales que tienen cada día una mayor presencia en las empresas dedicadas al desarrollo de software.
Las principales ventajas que proporcionan los frameworks a las compañías a la hora de desarrollar sus proyectos son las siguientes:
– Los frameworks constituyen herramientas de desarrollo que facilitan la coordinación entre los distintos equipos que participan en los proyectos. Esta coordinación entre equipos de desarrolladores es clave para el buen funcionamiento de las compañías. En este sentido, los framewoks se convierten en una estrategia tecnológica de organización y gestión que aporta en la mayoría de los casos mejores resultados que las estrategias tradicionales, permitiendo una mayor coordinación con un menor esfuerzo por parte de los usuarios.
– Estos entornos de desarrollo constituyen además mecanismos de integración para los distintos sistemas de negocio, ya que permiten encuadrar las aplicaciones en entornos, facilitando su posterior mantenimiento y sus posibles actualizaciones futuras. En este sentido no solo se alarga fácilmente la vida de las aplicaciones, sino que además se reducen los costes que supone su actualización y, llegado el caso, permite a las empresas ofrecer presupuestos más eficientes.
– Las estrategias de reutilización de código son esenciales a la hora de elaborar grandes proyectos, siendo más beneficiosas cuando mayor es el tamaño de la aplicación. En este sentido, los frame- works se convierten en el aliado ideal de los programadores, permitiendo reducir costes a las e mpresas sin disminuir la calidad de los desarrollos. En realidad, no solo no la disminuyen sino que probablemente la incrementan y eliminan costes adiciones derivados de las etapas de prueba de los desarrollos. Por supuesto estás etapas no se ven eliminadas de los proyectos, pero si disminuidas en gran medida debido a la alta calidad que garantizan los frameworks a las funciones que incorporan.
– La mayoría de los frameworks están basado en entornos abiertos con gran difusión como los definidos en la plataforma J2EE. El uso de estos entornos ayuda a disminuir la dependencia que tienen determinados proyectos de los proveedores de plataformas.
– Esta dependencia tiene numerosos aspecto negativos paralas empresas, como son los costes adicionales derivados del pago por el uso de las mismas, la dependencia de los proyectos al buen fun- cionamiento de estas e incluso las demoras producidas en los desarrollos cuando se hace necesario obtener soporte por parte del proveedor. En este sentido, cabe incluso la posibilidad de que, en caso del proveedor decida no continuar con la comercialización de su plataforma, tengamos problemas a la hora de obtener soporte técnico en caso necesario y queramos continuar utilizándola.
Los entornos abiertos eliminan todos estos problemas, ya que se encuentran en continua evolución y ofrecen acceso al código para que los propios programadores puedan resolver los problemas que se encuentren en caso necesario. Además están abalados por grandes comunidades de des- arrolladores, dispuestas a ofrecer la ayuda necesaria con la mayor agilidad.
– El uso de frameworks simplificaenormemente las tareas de desarrollo por su gran practicidad. Con ellos las tareas de programación se simplifican considerablemente, llegando en algunos casos a limitarse a encontrar las herramientas que más se adecuen a las necesidades del proyecto en cada caso. Es por eso que, a pesar de lo que pueda parecer a simple vista, no es necesaria una mayor formación de los programadores para el uso de estos entornos. Por el contrario, programadores con una formación básica en las técnicas del framework a utilizar podrán con facilidad aportar de- sarrollos complejos y de la máxima calidad.
– Con el uso de frameworks se obtienen desarrollos compatibles con los estándares metodológicos más predominantes y reconocidos por la comunidad de programadores como son RUP, EUP y Métrica3 entre otros. Las ventajas de esta compatibilidad son claras a la hora de exportar proyec- tos, hacerlos compatibles con otros desarrollos o incorporarles nuevos módulos. Esta compatibilidad de nuevo es clave para la reducción de costes en todas estas circunstancias. En un mundo global y con constantes cambios, cada día tienen menos cabida las aplicaciones aisladas y tanto em- presas como particulares buscan siempre la mayor compatibilidad en los productos.
– Otro aspecto esencial en la programación de nuestros días es la simplificación de las aplicaciones en lo que se refiere a su sencillez y usabilidad. Los usuarios trabajan cada día con un mayor número de aplicaciones y es claro que, dadala amplia oferta de las mismas solo sobreviven en el mercado las que, además de eficiencia son sencillas de manejar. En este sentido los frameworks ofrecen reutilizar funciones y procedimientos que probablemente ya se están utilizando en otras aplicaciones con las que el usuario final podría estar familiarizado.
– La alta calidad de las funciones y procedimientos que incorporan los frameworks facilita el desarrollo de aplicaciones con la máxima seguridad y la incorporación de las directrices requeridas en cada caso por la organización. De este modo, permite a las empresas construir estándares de seguridad que serán fácilmente incorporables a todos los proyectos que desarrollen sus equipos.
– Las comunidades de desarrolladores que se crean en torno a los distintos frameworks, proporcionan grandes mecanismos de soporte técnico a programadores, ofreciéndoles un apoyo incluso más riguroso que el que pueden ofrecer las compañías.
-Los frameworks garantizan además, no solo la mayor calidad en los componentes que incorporan, sino también la documentación asociada a cada uno de ellos. En este sentido, se reducen para las empresas los costes asociados a la formación de sus trabajadores ya que en la mayoría de los casos esta documentación es de libre acceso.