Marcos de trabajo (Framework)

Programación por integración de componentesActividad 1: Los marcos de trabajoEquipo 3:Leonardo Hernández VillarruelMANUEL VEGA ESQUEDAMONSERRAT ESTEFANIA CEJA SILVA

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Marcos de trabajo (Framework) por Mind Map: Marcos de trabajo (Framework)

1. Tipos:

1.1. Frameworks de aplicación:

1.1.1. Estos frameworks forman una estructura básica de programador para ciertos tipos de aplicaciones. Proporcionan una función y una estructura que son importantes para todas las aplicaciones de ese tipo.

1.2. Frameworks de dominio

1.2.1. Los marcos de dominio crean la estructura de programación para un área problemática particular y por lo tanto proporcionan funciones para resolver este problema.

1.3. Frameworks de clase

1.3.1. Framework son una combinación de clases y métodos que se pueden utilizar para una amplia gama de aplicaciones. Apoyan la implementación de la aplicación del programador a un cierto nivel abstracto.

1.4. Frameworks de componentes

1.4.1. Estos frameworks de trabajo proporcionan un entorno para el desarrollo e integración de componentes de software, que son un conjunto de clases y generalmente tienen una interfaz claramente definida.

1.5. Frameworks de coordinación

1.5.1. Estos frameworks proporcionan la capacidad de configurar interacciones de dispositivos y sirven para garantizar una compatibilidad perfecta.

1.6. Frameworks de prueba

1.6.1. Como su nombre lo indica, este framework se utiliza para probar software desarrollado. Ejemplos bien conocidos son JUnit para pruebas de módulos y Selenium para pruebas de aplicaciones web.

1.7. Frameworks de web

1.7.1. Los frameworks web están diseñados para el desarrollo de webs dinámicas y aplicaciones web. En este sentido, proporcionan métodos y funciones para apoyar a los desarrolladores.

2. Objetivos:

2.1. Comprender y manejar la estructura de las aplicaciones complejas

2.2. Reutilizar dicha estructura para resolver problemas similares.

2.3. Planificar la evolución de la aplicación, identificando sus parte mutables e inmutables así como los costos de posibles cambios

2.4. Permitir el estudio de alguna propiedad específica del dominio.

3. ejemplos framework

3.1. Lavarel - PHP

3.2. CakePHP

3.3. .NET

3.4. Ruby on Rails

3.5. Genesis - Wordpress

3.6. Zengrid - Joomla!

3.7. PhoneGap- HTML5. CSS3 y Javascript

4. Definición

4.1. Un MT es un diseño reutilizable de todo o parte de un sistema, representado por un conjunto de clases abstractas y la forma en la cual sus instancias interactúan. Es un esquema (un esqueleto, un patrón) para el desarrollo y/o la implementación de una aplicación.

4.1.1. Las principales ventajas que ofrecen los MT son la reducción del coste de los procesos de desarrollo de aplicaciones software para dominios específicos, y la mejora de la calidad del producto final.

5. Factores a considerar cuando elijas un framework

5.1. Desarrollo web con PHP 5

5.2. Soporte de comunidad

5.2.1. Es muy importante que el framework elegido tenga una comunidad activa y participativa. De esta manera te va a ser más fácil conseguir ayuda en los momentos difíciles. Visita la web de la comunidad y asegúrate que obtendrás consejos y soluciones cuando los necesites

5.3. Documentación

5.3.1. La documentación de un framework debe estar actualizada y ser lo bastante amplia para que te ayude con los problemas que te puedan surgir. Una herramienta bien documentada es mucho más fácil de utilizar.

5.4. Simplicidad y potencia

5.4.1. Algunos framework son muy potentes pero difíciles de entender. El código generado por el framework debe ser claro y limpio, que no tengas que preocuparte de las peculiaridades internas del framework.

5.5. Arquitectura MVC

5.5.1. Como hemos comentado anteriormente, este tipo de arquitectura nos ayuda a tener separado la lógica de negocios, los datos y la presentación. De esta manera nuestro código esta mucho más ordenado, nos hace más fácil cualquier tipo de modificación y actualización y facilita mucho el trabajo en equipo.

5.6. Reutilización

5.6.1. Es imprescindible que los elementos desarrollados puedan ser reutilizados en varios proyectos

5.7. Patrón Active Record

5.7.1. Es interesante tener una clase especifica que se encargue de realizar las operaciones de modificación y consulta de una determinada tabla de una base de datos.

5.8. Posicionamiento

5.8.1. Dependiendo del proyecto puede ser que no nos interese estar bien posicionado, pero si no es así, es interesante que el framework ofrezca funcionalidades como url’s amigables, etc., para no tener que rehacer el proyecto más adelante.

5.9. Seguridad

5.9.1. Puede ser un tema que en un principio pasamos por alto y luego ya es demasiado tarde. Asegúrate que el framework este desarrollado tomando la seguridad como punto de partida. Si un framework es muy potente pero no es seguro no nos sirve de nada.

6. Ventajas de usar Frameworks

6.1. Facilita la colaboración, todo lo que sea definir y estandarizar va a ahorrar tiempo y trabajo a los desarrollos colaborativos.

6.2. El programador no necesita plantearse una estructura global de la aplicación, sino que el framework le proporciona un esqueleto que hay que “rellenar”.

6.3. Es más fácil encontrar herramientas (utilidades, librerías) adaptadas al framework concreto para facilitar el desarrollo

6.4. Evitar escribir codigo repetitivo. La mayoría de los proyectos tienen partes comunes necesarias para el funcionamiento como, por ejemplo, acceso a base de datos, validación de formularios o seguridad. Un framework nos evita tener que programar estas partes.

7. Bibliografia

7.1. https://www.orix.es/que-es-un-framework-y-para-que-se-utiliza

7.2. https:;//programacionparatodossite.wordpress.com/2016/11/17/que-son-los-frameworks/

8. Características

8.1. La Autenticación mediante login y password que permite restringir el acceso y el tipo de permiso

8.2. El Acceso a los datos en archivos txt, xml por ejemplo mediante interfaces que integran la base de datos.

8.3. Abstracción de URLs y Sesiones ya que el framework se encarga de manejarlas.

8.4. Internacionalización que permite la inclusión de varios idiomas en el desarrollo.

8.5. Controladores fácilmente adaptables a las necesidades del proyecto que gestionan las peticiones y/o eventos.