# Bloque 3 · Tema 7 # Aplicaciones web. Desarrollo web front-end y en servidor. HTML, XML y derivaciones. Navegadores. Lenguajes de script. Validación de datos. --- # Esquema resumen **Tecnologías front-end** | Tecnología | Función | |---|---| | **HTML** | Estructura del contenido; etiquetas semánticas | | **CSS** | Presentación y diseño; diseño responsivo | | **JavaScript** | Comportamiento e interactividad | | **TypeScript** | Superset tipado de JavaScript | | **AJAX** | Peticiones asíncronas sin recargar la página | | **WebSocket** | Comunicación bidireccional en tiempo real | **Lenguajes de marcado** | Lenguaje | Propósito | Clave | |---|---|---| | **HTML5** | Estructura de páginas web | Semántica; etiquetas header, nav, article, footer | | **XML** | Intercambio y almacenamiento de datos | Extensible; jerárquico; sin presentación | | **XHTML** | HTML basado en XML | Más estricto que HTML | | **SVG** | Gráficos vectoriales escalables | Derivación de XML | | **JSON** | Intercambio de datos ligero | No XML; basado en objetos JS | **Back-end: lenguajes y frameworks** | Lenguaje | Frameworks / Entorno | |---|---| | Java | Jakarta EE, Spring Boot | | C# | ASP.NET Core | | PHP | Laravel, Symfony | | Python | Django, Flask, FastAPI | | JavaScript | Node.js, Express | **Navegadores y motores** | Navegador | Motor renderizado | Motor JS | |---|---|---| | Chrome / Edge | Blink | V8 | | Firefox | Gecko | SpiderMonkey | | Safari | WebKit | JavaScriptCore | --- # 1. Concepto de aplicación web ## 1.1. Definición y características Una aplicación web es un software accesible mediante un navegador que se ejecuta en Internet o en una intranet corporativa. Sus características principales son: - **Sin instalación**: el usuario accede solo con un navegador. - **Actualización centralizada**: los cambios se despliegan en el servidor y llegan a todos los usuarios inmediatamente. - **Multiplataforma y multidispositivo**: funciona en cualquier SO y dispositivo que tenga navegador. - **Arquitectura cliente/servidor**: el navegador es el cliente y el servidor gestiona la lógica y los datos. - **Escalabilidad**: se puede escalar el servidor sin modificar los clientes. --- ## 1.2. Tipos de aplicaciones web | Tipo | Descripción | Ejemplo | |---|---|---| | **MPA** (Multi-Page Application) | El servidor genera una página completa en cada petición | Aplicaciones con Thymeleaf, JSP, PHP | | **SPA** (Single-Page Application) | Se carga una única página; el contenido se actualiza sin recarga completa | Angular, React, Vue | | **PWA** (Progressive Web App) | SPA con capacidades offline y notificaciones push | Google Maps, Twitter Lite | | **SSR** (Server-Side Rendering) | La página inicial se renderiza en el servidor para SEO y rendimiento | Next.js, Nuxt.js | --- --- # 2. Desarrollo web front-end ## 2.1. HTML5 **HTML** (HyperText Markup Language) es el lenguaje estándar para definir la **estructura** del contenido de una página web. HTML5 es la versión actual e introduce mejoras importantes: **Etiquetas semánticas** (HTML5): | Etiqueta | Significado | |---|---| | `
` | Cabecera del documento o sección | | `