/contenidos-web-iii

Primary LanguagePythonApache License 2.0Apache-2.0

Programación Web III - INF 133

Docente: Lic. Tatiana Delgadillo

Unidad Didáctica 1: Introducción al Desarrollo de Aplicaciones Web

Contenido:

  1. Introducción
    1. Como funciona la web
    2. Arquitectura Cliente-Servidor
    3. Protocolos de Comunicación en la Web
    4. Protocolo HTTP y HTTPS
  2. Tendencias de la Web
    1. Web Tradicional vs Web Moderna
  3. Web Services
    1. Configuración del Setup
    2. Git y GitHub
    3. ¿Qué es un Web Service?
      1. Mi primer Web Server
    4. Tipos de Web Services
      1. SOAP (Simple Object Access Protocol)
      2. REST (Representational State Transfer)
        1. Métodos HTTP
        2. Status Codes
  4. Introducción a las APIs
    1. GraphQL
    2. RESTful

Unidad Didáctica 2: Programación Web

Contenido: 2. Introducción a Principios, Patrones y Arquitectura

  1. Principios de desarrollo
    1. DRY
    2. KISS
    3. YAGNI
    4. SOLID
  2. Patrones de Diseño
    1. MVC
    2. Singleton
    3. Factory
    4. Builder
  3. Arquitecturas Web
    1. Monolítica
    2. MVC
    3. Microservicios
    4. Serverless
  4. Creación de una aplicación web del lado del servidor
  5. Configuración del proyecto y entorno de desarrollo
  6. Conexión a base de datos
  7. Operaciones CRUD (Crear, Leer, Actualizar, Eliminar)

Unidad Didáctica 3: MVC (Modelo-Vista-Controlador)

Contenido: 3. MVC como patron de diseño y arquitectura

  1. Organización de un proyecto con MVC
  2. Modelo: Gestión de Datos y Lógica de Negocio
  3. Vista: Presentación de Datos y Componentes de Interfaz
  4. Controlador: Gestión de Eventos y Lógica de Aplicación
  5. Conexión con la Base de Datos
  6. Rutas (Routing)
  7. Operaciones CRUD (Crear, Leer, Actualizar, Eliminar)
  8. Autenticación y Autorización
  9. Sesiones
    1. Cookies
    2. JWT (JSON Web Token)
    3. OAuth
  10. Documentación de APIs
    1. OpenAPI

Unidad Didáctica 4: Frameworks

Contenido: 4. Introducción a los Frameworks

  1. ¿Qué es un Framework?
  2. Configuración de una proyecto con un Framework
  3. Desarrollo guiado por pruebas
    1. Pruebas Unitarias
      1. Introducción
      2. Importancia y Beneficios
      3. Desarrollo e Implementación
      4. Tipos de Pruebas Unitarias
        1. Pruebas Automatizadas
        2. Pruebas Manuales
  4. Estrategias de Despliegue
    1. Despliegue en entornos de desarrollo
    2. Despliegue en entornos de producción
    3. Despliegue en plataforma como servicio (PaaS)
    4. Despliegue con contenedores
    5. Integración continua
    6. Despliegue continuo

Evaluación

  • Primer Parcial = 25 pts
  • Segundo Parcial = 25 pts
  • Examen Final = 35 pts
  • Practicas = 10 pts
  • Participación = 5 pts

Bibliografia:

  • Blé Jurado, C. (2023). Diseño Ágil con TDD: Una introducción práctica a las pruebas de software automatizadas. Savvily Editorial S.L.U
  • Blé Jurado, C. (2022). Código sostenible: Cómo programar código fácil de mantener. Editorial Canal de Distribución.
  • Newman, S. (2021). Building Microservices, 2nd Edition. O'Reilly Media
  • Freeman, E., Robson, E., Bates, B., & Sierra, K. (2020). Head First Design Patterns: A Brain-Friendly Guide. O'Reilly Media
  • Hunt, A., & Thomas, D. (2019). The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition). Addison-Wesley.
  • Martin, R. C. (2019). Clean Agile: Back to Basics. Prentice Hall.
  • Martin, R. C. (2018). Clean Architecture: A Craftsman's Guide to Software Structure and Design. Prentice Hall.
  • Shvets, A. (2018). Sumérgete en los patrones de diseño. Independently published.
  • Porcello, E., & Banks, A. (2018). Learning GraphQL: Declarative Data Fetching for Modern Web Apps. O'Reilly Media.
  • Parecki, A. (2017). OAuth 2.0: Simplify API Authorization with OAuth 2.0. Lulu.com.
  • Kim, G., Debois, P., Willis, J., & Humble, J. (2016). The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. IT Revolution Press.
  • Richardson, L., & Ruby, S. (2013). RESTful Web Services. O'Reilly Media.
  • Humble, J., & Farley, D. (2010). Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley.
  • Martin, R. C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall.
  • Gourley, D., Totty, B., Sayer, M., & Aggarwal, A. (2002). HTTP: The Definitive Guide. O'Reilly Media.
  • Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.