EMPLEA FRAMEWORKS PARA EL
DESARROLLO DE SOFTWARE
José Antonio Ortega Álvarez
Introducción
Desde el inicio de la programación, todo desarrollador ha buscado la
forma más eficaz y rápida para obtener un buen producto.
¿Has escuchado hablar de Turbo Pascal o Turbo C++? ¿Los utilizaste
alguna vez?
Posteriormente con el avance tecnológico las herramientas se
incrementaron y con ello la oportunidad de mejorar las aplicaciones y
servicios web.
En esta unidad revisaremos algunos de los frameworks más utilizados en
el mercado, con lo que podrás tener una idea general de lo que puedes
hacer con cada uno de ellos, así como identificar la compatibilidad con los
lenguajes de programación vistos en la unidad anterior.
Frameworks
El FrameWorks es un término que proviene del inglés y significa «marco de
trabajo» o «estructura». En el ámbito de la programación, un Frameworks es un
conjunto de herramientas y librerías que se utilizan para desarrollar aplicaciones
más fácilmente y de manera más eficiente.
Un framework no es ningún software ni
herramienta que se ejecuta y que nos ofrece una
interfaz gráfica desde la que trabajar, sino que es
un conjunto de archivos y directorios que facilitan
la creación de aplicaciones, ya que incorporan
funcionalidades ya desarrolladas y probadas,
implementadas en un determinado lenguaje de
programación.
En la siguiente imagen podemos ver
cómo sería la estructura de
directorios correspondiente a un
proyecto desarrollado con Symfony 2.
El objetivo principal de todo framework es facilitar las cosas a la hora de
desarrollar una aplicación, haciendo que nos centremos en el verdadero
problema y nos olvidemos de implementar funcionalidades que son de uso
común como puede ser el registro de un usuario, establecer conexión con la
base de datos, manejo de sesiones de usuario o el almacenamiento en base de
datos de contenido cacheado.
¿Para qué sirve el framework?
 Mejora la eficiencia: Estandariza los procesos y las metodologías, lo
que permite a los equipos trabajar de manera más eficiente y
productiva.
 Acelera el tiempo de desarrollo: Al tener una estructura clara y
establecida, el desarrollo de proyectos se acelera, lo que permite
alcanzar los objetivos más rápidamente.
 Facilita la colaboración: Permite a los equipos trabajar juntos de
manera más efectiva, lo que mejora la colaboración y la comunicación.
 Mejora la calidad: Al tener un marco de trabajo claro y estandarizado,
los resultados finales son más coherentes y de mejor calidad.
 Aumenta la flexibilidad: Permite a los equipos adaptarse a cambios y
ajustarse a las necesidades del proyecto de manera más eficiente.
El framework es una herramienta
valiosa para los equipos y
organizaciones que buscan
mejorar su eficiencia, acelerar el
tiempo de desarrollo, facilitar la
colaboración, mejorar la calidad y
aumentar la flexibilidad en el
desarrollo de proyectos.
Características de los frameworks
Algunos de los elementos y características comunes que incluyen son:
 Enrutamiento: suelen proporcionar un sistema de enrutamiento que
facilita la gestión de las URL y las rutas de las páginas dentro de una
aplicación.
 Plantillas: permiten crear un sitio web de manera más sencilla mediante
el uso de plantillas predefinidas o motores de plantillas que ayudan a
generar el código HTML de manera dinámica.
 Controladores: a menudo utilizan el patrón de diseño MVC (modelo-
vista-controlador) o una variante de él, lo que significa que facilitan la
separación de la lógica de negocio (controlador), de la presentación
(vista) y los datos (modelo).
 Manejo de solicitudes y respuestas: ofrecen funciones para gestionar
solicitudes HTTP entrantes y generar respuestas HTTP, lo que simplifica
la interacción con el cliente.
 Bases de datos: muchos entornos integran herramientas y
abstracciones para interactuar con bases de datos, lo que facilita el
almacenamiento y recuperación de los mismos.
 Seguridad: suelen incluir mecanismos de seguridad incorporados para
proteger contra amenazas tales como los ataques de inyección SQL o
ataques de scripting entre sitios (XSS).
 Sesiones y autenticación: proporcionan funciones para gestionar las
sesiones de usuario y su autenticación, lo que facilita la creación de
sistemas de inicio de sesión y control de acceso.).
 Middleware: permiten la inclusión de componentes de esta clase que
pueden realizar tareas adicionales como la compresión de respuestas,
el registro de solicitudes o la autenticación en el flujo de la aplicación.
 API y servicios web: facilitan la creación y consumo de estas interfaces y
servicios, lo que permite la integración con otras aplicaciones y
servicios.
A continuación, te mostraré las opciones más destacadas hoy en día
debido a su utilidad.
1. React
2. Angular
3. Vue.js
4. Django
5. Flask
6. Ruby on Rails (Rails)
7. Laravel
8. Symfony
9. Spring Framework
10.Express.js
11. ASP.NET Core
12.Gin
Ventajas de utilizar un Framework
El uso de un Frameworks a la hora de realizar un proyecto ofrece importantes
ventajas, ventajas ya no sólo al facilitarnos la tarea de la creación de la
aplicación, sino otras como en el mantenimiento del código, realizar
ampliaciones, etc.
a) Uso de patrones de diseño
Una de las principales ventajas es el uso de
patrones de diseño para el desarrollo de la
aplicación. El patrón más utilizado es el conocido
como Modelo – Vista – Controlador (MVC), un
modelo que divide el desarrollo en tres capas:
 Modelo: Representa los datos de la aplicación.
 Vista: Representa la capa presentación, como
representamos los datos a los usuarios.
 Controlador: Es el encargado de procesar las
peticiones y controla el flujo de ejecución del
sistema
El modelo MVC puede ser implementado sin la necesidad de utilizar un
framework, pero la diferencia radica en que el framework nos obliga a
utilizarlo, creando de esta forma un código mucho más robusto.
Además, el uso de este tipo de utilidades nos ayuda a evitar el conocido como
“código spaghetti”, que consiste en meter funcionalidades en capas que no
corresponde, lo que con el paso de tiempo hará que nuestro código sea un
verdadero caos, hasta para nosotros mismos.
b) Estructura predefinida de la aplicación
El programador no necesita plantearse la estructura global de la aplicación, ya
que esta es proporcionada por el propio framework. Esto tiene la ventaja de
que, pasado un tiempo, si tenemos que tocar algo en la aplicación, sabremos
donde encontrar el archivo en cuestión de forma rápida.
c) Código altamente testeado
Todo el código que forma parte del framework está altamente probado, lo que
garantiza el buen funcionamiento de este. Nosotros podríamos desarrollar esas
mismas funcionalidades, pero nunca podremos garantizar ese nivel de testeo
que ofrecen los frameworks.
d) Comunidad de usuarios detrás de cada framework
La gran mayoría de los frameworks tienen detrás a una amplia comunidad de
usuarios, de los cuales muchos ayudan en su desarrollo o creando extensiones
con funcionalidades extra que podremos utilizar de forma sencilla sin tener que
desarrollarlas por nuestra cuenta.
e) Trabajo en equipo
El uso de frameworks facilita el trabajo en equipo, ya que, si todos conocen el
framework utilizado, conocerán la estructura de directorios y sabrán dónde
tienen que ir para realizar una determinada acción.
Ventajas del framework
 Productividad: El uso de un framework reduce el tiempo y los esfuerzos
requeridos para desarrollar una aplicación, lo que significa que los
desarrolladores pueden ser más productivos y eficientes.
 Reutilización de código: El framework proporciona un conjunto de
componentes y herramientas que se pueden reutilizar en diferentes
proyectos, lo que reduce la cantidad de tiempo y esfuerzo necesarios
para desarrollar una aplicación.
 Mantenibilidad: Al utilizar patrones de diseño y estructuras comunes, los
frameworks facilitan la mantenibilidad y la escalabilidad de las
aplicaciones.
 Seguridad: Muchos frameworks incluyen medidas de seguridad
incorporadas para proteger las aplicaciones contra posibles amenazas,
como ataques de inyección SQL o XSS.
 Documentación: La mayoría de los frameworks cuentan con una
documentación detallada y actualizada que permite a los desarrolladores
entender cómo funciona el framework y cómo utilizarlo.
 Comunidad: Al utilizar un framework popular, los desarrolladores tienen
acceso a una amplia comunidad de desarrolladores y recursos en línea
que pueden ayudar con la resolución de problemas y mejorar la
aplicación.
 Estándar de desarrollo: Un framework establece un estándar para el
desarrollo de software, lo que significa que los desarrolladores pueden
seguir una guía clara y unificada para crear aplicaciones.
 Compatibilidad: La mayoría de los frameworks están diseñados para
trabajar con diferentes sistemas operativos y navegadores, lo que
significa que la aplicación puede ser utilizada por una amplia gama de
usuarios.
Desventajas de utilizar un Framework
El uso de los framework también tiene sus limitaciones, por tanto, es bueno
conocerlas antes de embarcarse en un proyecto. Las desventajas principales son:
a) Tiempo de aprendizaje
Te llevará algún tiempo conocer cómo funcionan los frameworks y, pero la idea es
que una vez que te habitúes a ellos los siguientes proyectos tendrán una base
más definida y su puesta en marcha será más rápida.
b) Exceso de líneas de código
Muchos autores y expertos en el desarrollo de aplicaciones apuntan que los
framework utilizan muchas más líneas de código para realizar ciertas acciones ya
que suelen incluir “código basura” que nos podríamos haber ahorrado, aunque
esto no es compartido por todo el mundo.
c) Limitaciones
Cuando usas un framework hay partes de él que no puedes modificar, por ello
hay que elegir uno que se adapte a lo que buscas. Además, migrar a otro
framework es complicado sin tener que reescribir todo el código.
d) Código público
Al estar disponible el framework para todo el mundo, un hacker puede estudiar
el código y encontrar debilidades, aunque es algo difícil, porque tendría que
saber qué framework estás usando. Además, algunos como Symfony son
testados continuamente para reducir al máximo los bugs.
Desventajas:
 Posibilidad de generación de código innecesario para nuestra
aplicación, ya que los Frameworks tienden a generalizar la funcionalidad
de los componentes, provocando una demanda de recursos
computacionales innecesaria.
 Aprendizaje costoso. El tiempo que se gana en dejar de programar
puede perderse en aprender el Frameworks si no se va a utilizar para
otros proyectos.
 Alta dependencia del código fuente de la aplicación con respecto al
Framework. Además, cada Frameworks tiene su propia convención de
código, por lo que no resulta sencillo cambiar de Frameworks.
 Si una librería falla, la depuración es más complicada al no conocer el
programador el código. Por eso es importante utilizar Frameworks.
El Framework es una herramienta
valiosa para los desarrolladores de
software, ya que les permite trabajar
de manera más eficiente y rápida al
proporcionar una estructura sólida y
soluciones a problemas comunes.
Al utilizar un Framework, los
desarrolladores pueden centrarse
en las funcionalidades específicas
de su aplicación y entregar
productos de calidad a sus clientes
en un plazo de tiempo más corto.
¿Cómo elegir el framework a utilizar?
Si realizamos una búsqueda en internet nos aparecerá un gran número de
frameworks para utilizar, pero ¿por cuál decantarnos? Grosso modo
deberemos tener en cuenta el tipo de aplicación que vamos a desarrollar,
así como el lenguaje de programación que utilizaremos para ello. Otras
cosas que nos tenemos que plantear son:
 Conocimientos del equipo. Es de suma importancia evaluar el lenguaje
con el que se siente cómodo el equipo encargado de desarrollar la
aplicación. Si los encargados de su desarrollo controlan PHP, lo más
aconsejable es decantarse por uno que haga uso de este tipo de lenguaje.
 Soporte. Un punto a tener en cuenta para la elección de un framework es
ver la comunidad que hay detrás de él. Es recomendable investigar un poco
para saber si están trabajando en nuevas versiones o bien se trata de un
proyecto abandonado.
 Existencia de proyectos desarrollados con él. No caigamos en la
tentación de actuar como conejillos de indias y decantarnos por aquel
framework que sepamos que ha sido utilizado para la creación de algún
proyecto de éxito.
 Curva de aprendizaje. Como hemos explicado, este punto es el que más
echa para atrás a las personas a la hora de utilizar un framework, de ahí
que sea muy recomendable decantarse por aquel que tenga una curva de
aprendizaje más rápida.
 Soporte para el MVC. El uso de patrones de diseño es básico en una
aplicación bien estructurada, pero el uso del patrón MVC es imprescindible
para la mayoría de los proyectos. Como nota, algunos frameworks ofrecen
MVC como una alternativa, no obligando a su uso. Esto puede ser útil, por
ejemplo si quieres implementar tareas internas automatizadas, como
emailings, tareas de mantenimiento de la BBDD, etc.
Framework que esté desarrollado tomando la seguridad como punto de
partida. En el mercado nos podemos encontrar framework con buenas
características pero que dejan de lado la seguridad.
Un Frameworks es similar a un API (Aplication Program Interface), aunque un
Frameworks incluye un API, librerías, un compilador y otros programas para
el desarrollo de software. Entre los Frameworks más populares tenemos
ActiveX y .NET para Windows, Cocoa para Mac OS X y FrameWork
Applications para Android.
Hay varias características que diferencia un FrameWork y una librería o
aplicación.
 El FrameWork tiene un comportamiento predeterminado.
 Un FrameWork puede ser ampliado por el usuario proporcionando una
funcionalidad específica.
 El código del FrameWork no puede ser modificado
 A diferencia de una biblioteca o aplicaciones de usuarios el flujo del
programa no es controlado por la persona sino por el FrameWork.
Usar o no Framework
 Esto dependerá de varios factores tales como:
 Nivel de conocimientos del desarrollador.
 Grado de complejidad de la aplicación a desarrollar.
 Necesidades de control sobre el proceso de desarrollo
Finalmente decir que es una herramienta de la metodología ágil que permite la
reusabilidad del código e incrementa la productividad permitiendo al
programador emplear menos tiempo en la escritura de código de bajo nivel, sin
duda son útiles que si se usan debidamente y exprime su uso teniendo buen
dominio del que se seleccione será de gran ayuda en el desarrollo de
software.

Frameworks para el desarrollo de software.pptx

  • 1.
    EMPLEA FRAMEWORKS PARAEL DESARROLLO DE SOFTWARE José Antonio Ortega Álvarez
  • 2.
    Introducción Desde el iniciode la programación, todo desarrollador ha buscado la forma más eficaz y rápida para obtener un buen producto. ¿Has escuchado hablar de Turbo Pascal o Turbo C++? ¿Los utilizaste alguna vez? Posteriormente con el avance tecnológico las herramientas se incrementaron y con ello la oportunidad de mejorar las aplicaciones y servicios web. En esta unidad revisaremos algunos de los frameworks más utilizados en el mercado, con lo que podrás tener una idea general de lo que puedes hacer con cada uno de ellos, así como identificar la compatibilidad con los lenguajes de programación vistos en la unidad anterior.
  • 3.
    Frameworks El FrameWorks esun término que proviene del inglés y significa «marco de trabajo» o «estructura». En el ámbito de la programación, un Frameworks es un conjunto de herramientas y librerías que se utilizan para desarrollar aplicaciones más fácilmente y de manera más eficiente. Un framework no es ningún software ni herramienta que se ejecuta y que nos ofrece una interfaz gráfica desde la que trabajar, sino que es un conjunto de archivos y directorios que facilitan la creación de aplicaciones, ya que incorporan funcionalidades ya desarrolladas y probadas, implementadas en un determinado lenguaje de programación.
  • 4.
    En la siguienteimagen podemos ver cómo sería la estructura de directorios correspondiente a un proyecto desarrollado con Symfony 2. El objetivo principal de todo framework es facilitar las cosas a la hora de desarrollar una aplicación, haciendo que nos centremos en el verdadero problema y nos olvidemos de implementar funcionalidades que son de uso común como puede ser el registro de un usuario, establecer conexión con la base de datos, manejo de sesiones de usuario o el almacenamiento en base de datos de contenido cacheado.
  • 5.
    ¿Para qué sirveel framework?  Mejora la eficiencia: Estandariza los procesos y las metodologías, lo que permite a los equipos trabajar de manera más eficiente y productiva.  Acelera el tiempo de desarrollo: Al tener una estructura clara y establecida, el desarrollo de proyectos se acelera, lo que permite alcanzar los objetivos más rápidamente.  Facilita la colaboración: Permite a los equipos trabajar juntos de manera más efectiva, lo que mejora la colaboración y la comunicación.  Mejora la calidad: Al tener un marco de trabajo claro y estandarizado, los resultados finales son más coherentes y de mejor calidad.
  • 6.
     Aumenta laflexibilidad: Permite a los equipos adaptarse a cambios y ajustarse a las necesidades del proyecto de manera más eficiente. El framework es una herramienta valiosa para los equipos y organizaciones que buscan mejorar su eficiencia, acelerar el tiempo de desarrollo, facilitar la colaboración, mejorar la calidad y aumentar la flexibilidad en el desarrollo de proyectos.
  • 7.
    Características de losframeworks Algunos de los elementos y características comunes que incluyen son:  Enrutamiento: suelen proporcionar un sistema de enrutamiento que facilita la gestión de las URL y las rutas de las páginas dentro de una aplicación.  Plantillas: permiten crear un sitio web de manera más sencilla mediante el uso de plantillas predefinidas o motores de plantillas que ayudan a generar el código HTML de manera dinámica.  Controladores: a menudo utilizan el patrón de diseño MVC (modelo- vista-controlador) o una variante de él, lo que significa que facilitan la separación de la lógica de negocio (controlador), de la presentación (vista) y los datos (modelo).
  • 8.
     Manejo desolicitudes y respuestas: ofrecen funciones para gestionar solicitudes HTTP entrantes y generar respuestas HTTP, lo que simplifica la interacción con el cliente.  Bases de datos: muchos entornos integran herramientas y abstracciones para interactuar con bases de datos, lo que facilita el almacenamiento y recuperación de los mismos.  Seguridad: suelen incluir mecanismos de seguridad incorporados para proteger contra amenazas tales como los ataques de inyección SQL o ataques de scripting entre sitios (XSS).  Sesiones y autenticación: proporcionan funciones para gestionar las sesiones de usuario y su autenticación, lo que facilita la creación de sistemas de inicio de sesión y control de acceso.).
  • 9.
     Middleware: permitenla inclusión de componentes de esta clase que pueden realizar tareas adicionales como la compresión de respuestas, el registro de solicitudes o la autenticación en el flujo de la aplicación.  API y servicios web: facilitan la creación y consumo de estas interfaces y servicios, lo que permite la integración con otras aplicaciones y servicios. A continuación, te mostraré las opciones más destacadas hoy en día debido a su utilidad. 1. React 2. Angular 3. Vue.js 4. Django 5. Flask 6. Ruby on Rails (Rails) 7. Laravel 8. Symfony 9. Spring Framework 10.Express.js 11. ASP.NET Core 12.Gin
  • 10.
    Ventajas de utilizarun Framework El uso de un Frameworks a la hora de realizar un proyecto ofrece importantes ventajas, ventajas ya no sólo al facilitarnos la tarea de la creación de la aplicación, sino otras como en el mantenimiento del código, realizar ampliaciones, etc. a) Uso de patrones de diseño Una de las principales ventajas es el uso de patrones de diseño para el desarrollo de la aplicación. El patrón más utilizado es el conocido como Modelo – Vista – Controlador (MVC), un modelo que divide el desarrollo en tres capas:  Modelo: Representa los datos de la aplicación.  Vista: Representa la capa presentación, como representamos los datos a los usuarios.  Controlador: Es el encargado de procesar las peticiones y controla el flujo de ejecución del sistema
  • 11.
    El modelo MVCpuede ser implementado sin la necesidad de utilizar un framework, pero la diferencia radica en que el framework nos obliga a utilizarlo, creando de esta forma un código mucho más robusto. Además, el uso de este tipo de utilidades nos ayuda a evitar el conocido como “código spaghetti”, que consiste en meter funcionalidades en capas que no corresponde, lo que con el paso de tiempo hará que nuestro código sea un verdadero caos, hasta para nosotros mismos. b) Estructura predefinida de la aplicación El programador no necesita plantearse la estructura global de la aplicación, ya que esta es proporcionada por el propio framework. Esto tiene la ventaja de que, pasado un tiempo, si tenemos que tocar algo en la aplicación, sabremos donde encontrar el archivo en cuestión de forma rápida.
  • 12.
    c) Código altamentetesteado Todo el código que forma parte del framework está altamente probado, lo que garantiza el buen funcionamiento de este. Nosotros podríamos desarrollar esas mismas funcionalidades, pero nunca podremos garantizar ese nivel de testeo que ofrecen los frameworks. d) Comunidad de usuarios detrás de cada framework La gran mayoría de los frameworks tienen detrás a una amplia comunidad de usuarios, de los cuales muchos ayudan en su desarrollo o creando extensiones con funcionalidades extra que podremos utilizar de forma sencilla sin tener que desarrollarlas por nuestra cuenta. e) Trabajo en equipo El uso de frameworks facilita el trabajo en equipo, ya que, si todos conocen el framework utilizado, conocerán la estructura de directorios y sabrán dónde tienen que ir para realizar una determinada acción.
  • 13.
    Ventajas del framework Productividad: El uso de un framework reduce el tiempo y los esfuerzos requeridos para desarrollar una aplicación, lo que significa que los desarrolladores pueden ser más productivos y eficientes.  Reutilización de código: El framework proporciona un conjunto de componentes y herramientas que se pueden reutilizar en diferentes proyectos, lo que reduce la cantidad de tiempo y esfuerzo necesarios para desarrollar una aplicación.  Mantenibilidad: Al utilizar patrones de diseño y estructuras comunes, los frameworks facilitan la mantenibilidad y la escalabilidad de las aplicaciones.  Seguridad: Muchos frameworks incluyen medidas de seguridad incorporadas para proteger las aplicaciones contra posibles amenazas, como ataques de inyección SQL o XSS.
  • 14.
     Documentación: Lamayoría de los frameworks cuentan con una documentación detallada y actualizada que permite a los desarrolladores entender cómo funciona el framework y cómo utilizarlo.  Comunidad: Al utilizar un framework popular, los desarrolladores tienen acceso a una amplia comunidad de desarrolladores y recursos en línea que pueden ayudar con la resolución de problemas y mejorar la aplicación.  Estándar de desarrollo: Un framework establece un estándar para el desarrollo de software, lo que significa que los desarrolladores pueden seguir una guía clara y unificada para crear aplicaciones.  Compatibilidad: La mayoría de los frameworks están diseñados para trabajar con diferentes sistemas operativos y navegadores, lo que significa que la aplicación puede ser utilizada por una amplia gama de usuarios.
  • 15.
    Desventajas de utilizarun Framework El uso de los framework también tiene sus limitaciones, por tanto, es bueno conocerlas antes de embarcarse en un proyecto. Las desventajas principales son: a) Tiempo de aprendizaje Te llevará algún tiempo conocer cómo funcionan los frameworks y, pero la idea es que una vez que te habitúes a ellos los siguientes proyectos tendrán una base más definida y su puesta en marcha será más rápida. b) Exceso de líneas de código Muchos autores y expertos en el desarrollo de aplicaciones apuntan que los framework utilizan muchas más líneas de código para realizar ciertas acciones ya que suelen incluir “código basura” que nos podríamos haber ahorrado, aunque esto no es compartido por todo el mundo.
  • 16.
    c) Limitaciones Cuando usasun framework hay partes de él que no puedes modificar, por ello hay que elegir uno que se adapte a lo que buscas. Además, migrar a otro framework es complicado sin tener que reescribir todo el código. d) Código público Al estar disponible el framework para todo el mundo, un hacker puede estudiar el código y encontrar debilidades, aunque es algo difícil, porque tendría que saber qué framework estás usando. Además, algunos como Symfony son testados continuamente para reducir al máximo los bugs.
  • 17.
    Desventajas:  Posibilidad degeneración de código innecesario para nuestra aplicación, ya que los Frameworks tienden a generalizar la funcionalidad de los componentes, provocando una demanda de recursos computacionales innecesaria.  Aprendizaje costoso. El tiempo que se gana en dejar de programar puede perderse en aprender el Frameworks si no se va a utilizar para otros proyectos.  Alta dependencia del código fuente de la aplicación con respecto al Framework. Además, cada Frameworks tiene su propia convención de código, por lo que no resulta sencillo cambiar de Frameworks.  Si una librería falla, la depuración es más complicada al no conocer el programador el código. Por eso es importante utilizar Frameworks.
  • 18.
    El Framework esuna herramienta valiosa para los desarrolladores de software, ya que les permite trabajar de manera más eficiente y rápida al proporcionar una estructura sólida y soluciones a problemas comunes. Al utilizar un Framework, los desarrolladores pueden centrarse en las funcionalidades específicas de su aplicación y entregar productos de calidad a sus clientes en un plazo de tiempo más corto.
  • 19.
    ¿Cómo elegir elframework a utilizar? Si realizamos una búsqueda en internet nos aparecerá un gran número de frameworks para utilizar, pero ¿por cuál decantarnos? Grosso modo deberemos tener en cuenta el tipo de aplicación que vamos a desarrollar, así como el lenguaje de programación que utilizaremos para ello. Otras cosas que nos tenemos que plantear son:  Conocimientos del equipo. Es de suma importancia evaluar el lenguaje con el que se siente cómodo el equipo encargado de desarrollar la aplicación. Si los encargados de su desarrollo controlan PHP, lo más aconsejable es decantarse por uno que haga uso de este tipo de lenguaje.  Soporte. Un punto a tener en cuenta para la elección de un framework es ver la comunidad que hay detrás de él. Es recomendable investigar un poco para saber si están trabajando en nuevas versiones o bien se trata de un proyecto abandonado.
  • 20.
     Existencia deproyectos desarrollados con él. No caigamos en la tentación de actuar como conejillos de indias y decantarnos por aquel framework que sepamos que ha sido utilizado para la creación de algún proyecto de éxito.  Curva de aprendizaje. Como hemos explicado, este punto es el que más echa para atrás a las personas a la hora de utilizar un framework, de ahí que sea muy recomendable decantarse por aquel que tenga una curva de aprendizaje más rápida.  Soporte para el MVC. El uso de patrones de diseño es básico en una aplicación bien estructurada, pero el uso del patrón MVC es imprescindible para la mayoría de los proyectos. Como nota, algunos frameworks ofrecen MVC como una alternativa, no obligando a su uso. Esto puede ser útil, por ejemplo si quieres implementar tareas internas automatizadas, como emailings, tareas de mantenimiento de la BBDD, etc.
  • 21.
    Framework que estédesarrollado tomando la seguridad como punto de partida. En el mercado nos podemos encontrar framework con buenas características pero que dejan de lado la seguridad.
  • 22.
    Un Frameworks essimilar a un API (Aplication Program Interface), aunque un Frameworks incluye un API, librerías, un compilador y otros programas para el desarrollo de software. Entre los Frameworks más populares tenemos ActiveX y .NET para Windows, Cocoa para Mac OS X y FrameWork Applications para Android. Hay varias características que diferencia un FrameWork y una librería o aplicación.  El FrameWork tiene un comportamiento predeterminado.  Un FrameWork puede ser ampliado por el usuario proporcionando una funcionalidad específica.  El código del FrameWork no puede ser modificado  A diferencia de una biblioteca o aplicaciones de usuarios el flujo del programa no es controlado por la persona sino por el FrameWork.
  • 23.
    Usar o noFramework  Esto dependerá de varios factores tales como:  Nivel de conocimientos del desarrollador.  Grado de complejidad de la aplicación a desarrollar.  Necesidades de control sobre el proceso de desarrollo Finalmente decir que es una herramienta de la metodología ágil que permite la reusabilidad del código e incrementa la productividad permitiendo al programador emplear menos tiempo en la escritura de código de bajo nivel, sin duda son útiles que si se usan debidamente y exprime su uso teniendo buen dominio del que se seleccione será de gran ayuda en el desarrollo de software.