UT00 Introducción
El módulo Desarrollo Web en Entorno Servidor (DWES) es el de mayor cantidad de horas de trabajo dentro del segundo curso del ciclo DAW.
Este módulo profesional tiene como objetivo principal capacitar a los estudiantes en el desarrollo de aplicaciones web dinámicas y funcionales utilizando tecnologías del lado del servidor. A lo largo del curso, los estudiantes aprenderán a diseñar, implementar y mantener aplicaciones web que interactúan con bases de datos, gestionan sesiones de usuario y proporcionan una experiencia de usuario enriquecida.
Para lograr estos objetivos, se abordarán múltiples aspectos cruciales dentro del desarrollo de aplicaciones:
- Se trabajará con herramientas de control de versiones e IDEs modernos.
- Se profundizará en el conocimiento de arquitecturas y patrones de desarrollo.
- Se estudiarán diversos protocolos de comunicaciones entre servidores y clientes.
- Se implementarán soluciones para administrar la seguridad de sitios web.
- Se abordarán las técnicas de testing de aplicaciones y el desarrollo de test en entornos web.
- Y, sobretodo, se aprenderá a programar en múltiples lenguajes aplicando los conocimientos del módulo de primero.
Debido a la complejidad del contenido que se abordará en el módulo, es fundamental que los estudiantes tengan una base sólida de conocimientos.
Aunque la mayoría de los siguientes temas se han tratado en módulos del primer curso, se recomienda refrescar los conocimientos utilizando los recursos que se proporcionan en esta unidad.
Para todo aquel alumnado que no haya visto alguno de los temas que se listan a continuación, será necesario que dedique tiempo a estudiar y comprender estos conceptos antes de avanzar en el módulo DWES.
1. Entornos de Desarrollo IDEs - Visual Studio Code
El ecosistema de herramientas en el entorno web es amplio, rico y en constante evolución. Es por ello que hacer una lista exhaustiva se hace difícil, y puede quedar obsoleta en unos pocos meses. En este enlace se propone una muestra de estas herramientas.
Durante este curso podrás utilizar el IDE o editor de texto de tu elección. Visual Studio Code (para cualquier lenguaje de programación) o PyCharm (para Python) son la opción recomendada.
Como fuentes de consulta de problemas específicos, StackOverflow es una de las plataformas más utilizadas.
Finalmente, como base para lenguajes de programación y de marcado, o como repaso del primer curso del ciclo, te puedes apoyar en los manuales de W3CSchools.
2. Control de Versiones
¿Qué es un sistema de control de versiones?
Un Sistema de Control de Versiones (VCS) es una herramienta que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo. Git es un sistema distribuido diseñado para gestionar y rastrear cambios en proyectos de software.
Git y GitHub
Linus Torvalds creó Git en 2005 como respuesta directa a la pérdida del acceso gratuito a BitKeeper, el sistema propietario de control de versiones usado por la comunidad del kernel Linux.
Git permite a los desarrolladores trabajar en colaboración en un proyecto, manteniendo un historial completo de todos los cambios realizados, con capacidad para trabajar de manera distribuida y offline.
Además, proporciona ramas, fusiones, reversión de cambios y resolución de conflictos.
Documentación para aprender a usar Git
💊 ¿Cómo colaborar o corregir un cambio de un proyecto/repositorio git?
- Hacer un fork del proyecto.
- Crear una rama con tu nombre de usuario de GitHub.
- Añadir en la carpeta
updatesun fichero con tu nombre y tus aportaciones. - Indicar número de página, texto y corrección.
- Si añades imágenes o gráficos, súbelos también en la carpeta
updates. - Añadir referencias y herramientas útiles.
- Hacer commit en tu repo y un pull request detallando los cambios.
Gracias por colaborar y entre todos mejorar el contenido con GitHub. ¡Espero vuestros pull requests 😄!
3. Tecnologías
El ecosistema de tecnologías alrededor de las aplicaciones web es muy variado y en constante evolución.
- Virtualización
- Proxmox
- Docker
- Kubernetes
- Servidores web
- Nginx
- Apache
- Servidores de aplicaciones
- Payara
- Tomcat
- GlassFish
- DenoJS
- Flask
- Gestores de BBDD
- MySQL
- PostgreSQL
- Oracle
- SQLServer
- MongoDB
- Redis
- Frameworks servidor
- Laravel
- Frameworks backend más populares
- Django
- Jakarta EE
- Spring Boot
- ExpressJS
- Laravel
- Frameworks frontend más populares
- VueJS
- NuxtJS
- ReactJS
- AngularJS
- Svelte
3.1 Navegadores. Tipos y características
Dado que el entorno de ejecución en el lado cliente es el navegador web, se analiza en la siguiente tabla:
| Criterio | Comparativa |
|---|---|
| Etiquetado HTML | HTML Reference - Browser Support |
| Etiquetado CSS | CSS Browser Support Reference |
| Rendimiento | Browser performance |
| Velocidad | The Fastest Browser Options in 2022 |
| Seguridad | Navegadores seguros: comparativa de Chrome, Firefox, Brave y otros |
4. Estándares web
Se citan varios de estos estándares:
- HTML5: del W3C
- CSS: también del W3C
- ECMAScript: desarrollado por ECMA International
No comments to display
No comments to display