Tema 7: Aplicaciones web, multiplataforma y multidispositivo
Framework
Un framework es un conjunto de clases que proporcionan una arquitectura base para el desarrollo de aplicaciones. Un buen framework facilita el desarrollo rápido y eficiente.
- Proporciona una arquitectura estructurada.
- Incluye bibliotecas y herramientas preconfiguradas.
- Fomenta la reutilización de código.
Ejemplos: Angular, React, Vue.js, Django, Spring. API (Application Programming Interface)
Una API es un conjunto de especificaciones formales que deben cumplir una serie de librerías. Las APIs permiten la comunicación entre aplicaciones y la integración de servicios.
- Facilita la integración de servicios.
- Permite cambiar de librerías sin modificar el código.
Ejemplos: REST, GraphQL, Google Maps API. Librería
Una librería es un conjunto de funciones o clases reutilizables. Las librerías permiten ahorrar tiempo y esfuerzo al proporcionar soluciones ya implementadas para tareas comunes.
- Ejemplo: Lodash, NumPy, Bootstrap.
Arquitectura web
La arquitectura web describe la estructura y los componentes de una aplicación web. Es fundamental comprender cómo interactúan el cliente, el servidor y otros componentes clave.
- Cliente-Servidor: Comunicación entre el cliente y el servidor.
- SPA (Single Page Application): Aplicaciones que cargan una sola página y actualizan dinámicamente el contenido.
- Microservicios: Arquitectura que divide las aplicaciones en servicios pequeños e independientes.
Navegadores y motores de renderizado
Los navegadores utilizan motores de renderizado para procesar HTML, CSS y JavaScript, lo que permite que el contenido web sea visible y funcional.
- Blink (Chrome, Edge): Motor de renderizado de Google.
- WebKit (Safari): Motor de renderizado utilizado por Apple.
- Gecko (Firefox): Motor de renderizado de Mozilla.
HTML5
El HTML5 es el lenguaje de marcado utilizado para estructurar contenido web. Introduce nuevas etiquetas y características que mejoran la semántica y accesibilidad.
- Etiquetas semánticas: Facilitan la comprensión del contenido por parte de los motores de búsqueda y desarrolladores.
- Soporte multimedia: Integración de vídeo, audio y gráficos directamente en la web.
CSS3
CSS3 define la apariencia y estilo de las páginas web, lo que permite personalizar el diseño y la disposición de los elementos en una página.
- Animaciones y transiciones: Permiten efectos visuales para mejorar la interacción con el usuario.
- Diseño responsivo: Se adapta a diferentes tamaños de pantalla y dispositivos.
JavaScript y ecosistema de desarrollo
JavaScript es el lenguaje de programación utilizado para crear interactividad en la web. Es fundamental para el desarrollo de aplicaciones dinámicas.
- Node.js: Entorno de ejecución para JavaScript en el servidor.
- npm/yarn: Gestores de paquetes para instalar y administrar dependencias en proyectos.
- Babel: Transpila código JavaScript moderno a una versión compatible con navegadores antiguos.
XML y su aplicación en desarrollo web
XML es un lenguaje de marcado utilizado para almacenar y transportar datos de manera estructurada y legible tanto para humanos como para máquinas. Es ampliamente utilizado en la integración de servicios web.
XHTML
XHTML es una versión más estricta de HTML basada en XML. Se asegura de que las páginas web cumplan con reglas estrictas de sintaxis y validación.