Patrones de diseño
Patrones de diseño creados con APIs de CSS modernas para ayudarte a crear interfaces comunes, como tarjetas, áreas de cuadrícula dinámicas y diseños de página completa.
- Parte 2: Crea una detección de toxicidad de IA del cliente
- Parte 1: IA del cliente para combatir la toxicidad en línea
- Tiempo de bloqueo total (TBT)
- Optimiza el procesamiento de imagen con contenido más grande
- Comienza a medir las Métricas web
- Las formas más eficaces de mejorar las Métricas web esenciales
- Web Vitals
- Compara la capacidad de LLM con el resumen
- La propiedad content-visibility del CSS ahora está disponible como línea de base
- Cómo se definieron los umbrales de las métricas de Core Web Vitals
- Flujos de trabajo de las Métricas web esenciales con las herramientas de Google
- Cómo diagnosticar interacciones lentas en el lab de forma manual
- Referencia
- Memoria caché atrás/adelante
- El anidamiento de CSS mejora con CSSNestedDeclarations
- First Input Delay (FID)
- Depura el rendimiento en el campo
- Correlaciona las Métricas web esenciales y los ingresos publicitarios con las herramientas de Google
- Mejora el rendimiento y la UX de la IA del cliente
- Cómo realizar comparativas del rendimiento de la propiedad @ de CSS
- Es hora de realizar una carga diferida de iframes fuera de pantalla.
- El protocolo de envío web
- Cómo compilar varias apps web progresivas en el mismo dominio
- Cómo maneja Chrome las actualizaciones del manifiesto de la app web
- Permite la reutilización de llaves de acceso en tus sitios con las solicitudes de origen relacionadas
- Carga diferida de imágenes a nivel del navegador para la Web
- Métricas personalizadas
- Mide y depura el rendimiento con Google Analytics 4 y BigQuery
- Prácticas recomendadas sobre permisos web
- Prácticas recomendadas para los avisos de cookies
- Personaliza las notificaciones multimedia y los controles de reproducción con la API de Media Session
- Cómo usar tabindex
- Busque interacciones lentas en el campo
- Tiempo hasta el primer byte (TTFB)
- Ingeniería práctica de instrucciones para LLM más pequeños
- Optimiza las tareas largas
- Optimiza el tiempo hasta el primer byte
- Interacción a la siguiente pintura (INP)
- Colores de CSS que dependen del esquema de colores con claro-oscuro()
- Patrones de rendimiento de WebAssembly para aplicaciones web
- Diseños de cuadrícula animados de CSS
- Disfruta del juego del dinosaurio de Chrome con tu control de mando
- El atributo inerte
- Conoce al equipo de IA de Web.dev
- ¿Qué es la inteligencia artificial?
- Actualiza la búsqueda en tu sitio: Respuestas contextuales con la IA generativa
- IA y ética
- Determina el proveedor de llaves de acceso con AAGUID
- Compilación y optimización de Wasm con Binaryen
- El componente web <model-viewer>
- Capturar audio y video en HTML5
- Análisis detallado de user Verification
- ¿Por qué los datos de CrUX son diferentes de mis datos de RUM?
- Accesibilidad para desarrolladores web
- Cargar JavaScript de terceros
- Largest Contentful Paint (LCP)
- Impedir la creación de una llave de acceso nueva si ya existe una
- Trabaja con IndexedDB
- 5 fragmentos de CSS que todo desarrollador front-end debe conocer en 2024
- ¿Cuáles son las partes de una URL?
- Análisis detallado de las credenciales detectables
- Rendimiento del procesamiento
- Optimiza la codificación y el tamaño de transferencia de los recursos de texto
- Precargar módulos
- OffscreenCanvas: Acelera tus operaciones de lienzo con un trabajador web
- First Contentful Paint (FCP)
- Redes de distribución de contenidos (CDN)
- ¿Qué se necesita para una buena experiencia de salida?
- Tiempo de carga (TTI)
- Optimiza la carga de recursos con la API de Fetch Priority
- Seudoclases :user-valid y :user-invalid
- Optimiza las Métricas web esenciales para los responsables de tomar decisiones empresariales
- Los matices de las strings de codificación en Base64 en JavaScript
- Subcuadrícula CSS
- Carga eficaz de anuncios sin afectar la velocidad de la página
- Cuatro tipos comunes de cobertura de código
- Para probar o no, desde una perspectiva técnica
- Definición de casos de prueba y prioridades
- Métricas de rendimiento centradas en el usuario
- Precargar imágenes responsivas
- Adaptar la tipografía a las preferencias del usuario con CSS
- ¿Pirámide o cangrejo? Encuentra una estrategia de pruebas que se adapte
- Tres tipos comunes de automatización de pruebas
- Eliminación de descargas innecesarias
- ¿Qué es WebAssembly y de dónde proviene?
- Cómo compilar mkbitmap en WebAssembly
- El sistema de archivos privados de origen
- Aloja datos de usuarios de forma segura en aplicaciones web modernas
- Implementa AVIF para sitios web más responsivos
- Optimiza la interacción para el siguiente procesamiento de imagen
- Funciones de Baseline que puedes usar en la actualidad
- De qué manera los tamaños grandes de DOM afectan la interactividad y qué puedes hacer al respecto
- Cómo optimizar el retraso de entrada
- Evaluación de secuencias de comandos y tareas largas
- Renderización de HTML e interactividad del cliente
- Cómo usar la extensión de Métricas web para depurar problemas de Métricas web esenciales
- Cómo optimizar el cambio de diseño acumulado
- Cumulative Layout Shift (CLS)
- Crea experiencias de WordPress en el navegador con WordPress Playground y WebAssembly
- WebAssembly ofrece nuevas funciones para desarrolladores
- AWP en tiendas de aplicaciones
- ¿Qué son los mapas de origen?
- 6 fragmentos de CSS que todo desarrollador front-end debe conocer en 2023
- Funciones trigonométricas en CSS
- Realiza operaciones eficientes por fotograma en video con requestVideoFrameCallback()
- Momento destacado de la comunidad de GDE: Lars Knudsen
- Nuevos patrones para apps de música
- Sugerencia de CSS rápida Texto gradiente animado
- Compilando Chrometober
- Compila un componente de información sobre la herramienta
- Accede con una llave de acceso mediante el autocompletado del formulario
- Crea una llave de acceso para los accesos sin contraseña
- Cómo compilar un componente de botón de acción flotante (BAF)
- Prácticas recomendadas para fuentes
- Sugerencia de CSS rápida Cargador animado
- Cómo probar el contraste de colores de un diseño web
- Destacado de la comunidad de GDE: Alba Silvente Fuentes
- Cómo crear la navegación principal para un sitio web
- ¿Es :modal?
- Estilo de la lista de creatividades
- Prácticas recomendadas para las etiquetas y los administradores de etiquetas
- Construir una ilusión de cuadrícula torcida
- Cómo Nordhealth usa propiedades personalizadas en componentes web
- Control más detallado sobre las transformaciones de CSS con propiedades de transformación individuales
- Animaciones de bordes CSS
- Cómo la BBC está implementando HSTS para mejorar la seguridad y el rendimiento.
- Por qué los datos de lab y de campo pueden ser diferentes (y qué hacer al respecto)
- Una situación beneficiosa para todos
- El fin de Internet Explorer
- Dile adiós a HTML5Rocks
- Recetas de galletas propias
- Sincroniza la reproducción de audio y video en la Web
- Usar gradientes cónicos para crear un borde frío
- La diferencia entre las bibliotecas y los frameworks de JavaScript
- Elige un framework o una biblioteca de JavaScript
- Implementa el manejo de errores cuando se usa la API de recuperación
- Una API para fuentes web rápidas y atractivas
- Guía para desarrolladores de frontend sobre la terminal
- GOV.UK descarta jQuery desde su frontend.
- Cómo compilar un componente de botón
- No te comprometas con el escáner de precarga del navegador
- Prácticas recomendadas para medir las Métricas web en el campo
- Ayudamos a reducir la brecha
- Cómo encontrar el coraje y la inspiración en la comunidad de desarrolladores
- Fuentes variables en la vida real
- Crea rápidamente gradientes de CSS atractivos con el Creador de gradientes de CSS
- Análisis detallado de los principales problemas de los desarrolladores web
- Crea una imagen perfecta de tu sitio con images.tooling.report
- Alcance de las variables globales y locales
- Cómo compilar un componente de diálogo
- Cómo depurar errores de reproducción de contenido multimedia en la Web
- Momento destacado de la comunidad de GDE: Nishu Goel
- Los efectos en el rendimiento de un exceso de carga diferida
- Cómo compilar un componente de barra de carga
- Guardar credenciales desde Formularios
- Chrome y Firefox pronto llegarán a la versión principal 100
- Cómo compilar un ícono de página adaptable
- Cómo dibujar a lienzo en Emscripten
- Actualiza la caché HTTP para mejorar la seguridad y la privacidad
- Elementos HTML adicionales
- Portabilidad de aplicaciones USB a la Web Parte 2: gPhoto2
- Registro de errores de red (NEL)
- Detección de funciones de WebAssembly
- Portabilidad de aplicaciones USB a la Web Parte 1: libusb
- Cómo compilar un componente de cambio de tema
- Incorporación de fragmentos de JavaScript en C++ con Emscripten
- AWP en Oculus Quest 2
- Diseño del edificio
- Calculadora de diseño
- Copia profunda en JavaScript con estructuradoClone
- Cómo compilar un componente de aviso
- UI Fund
- Cómo compilar un componente del menú del juego en 3D
- Hacia una métrica de fluidez de animación
- Novedades de PageSpeed Insights
- Todos los anuncios de Chrome Dev Summit 2021
- Flujos de usuarios de Lighthouse
- El recorrido de Photoshop hacia la Web
- Compila un componente de selección múltiple
- Cómo evaluar el rendimiento de carga en el campo con Navigation Timing y Resource Timing
- Manipulación segura de DOM con la API de Sanitizer
- Prácticas recomendadas para usar incorporaciones de terceros
- Cómo afectan las arquitecturas de SPA a las Métricas web esenciales
- Análisis detallado de los eventos de JavaScript
- Cómo crear paquetes de recursos que no son de JavaScript
- Cómo compilar un componente de botón dividido
- Uso de secuencias de comandos del módulo CSS para importar hojas de estilo
- Cómo compilar un componente de interruptor
- Encabezados de sugerencias de clientes para las funciones multimedia de preferencias de los usuarios
- Cómo compilar un componente de rutas de navegación
- Cómo usar subprocesos de WebAssembly desde C, C++ y Rust
- Frameworks de contenido multimedia
- AWP con transmisión sin conexión
- Encriptación de contenido multimedia
- Conceptos básicos de la transmisión de contenido multimedia
- Mejore su camino con los datos de campo de la actualización de la extensión de Métricas web
- Ajuste de tamaño de CSS para @font-face
- Cómo crear un esquema de colores
- Cómo usar AVIF para comprimir imágenes en tu sitio
- CSS para Métricas web
- Evolucion del cambio de diseño acumulado en las herramientas web
- Ya está disponible la nueva capacitación sobre apps web progresivas
- Excalidraw y Fugu: cómo mejorar los recorridos principales de los usuarios
- Módulos de ES en service workers
- Cómo compilar un componente de desplazamiento multimedia
- Optimización de las Métricas web con Lighthouse
- Personaliza la superposición de los controles de la ventana de la barra de título de tu AWP
- Mantén bajo control las secuencias de comandos de terceros
- Supera los obstáculos con la API de DataTransfer
- Completar formularios de OTP dentro de iframes de origen cruzado con la API de WebOTP
- Cómo crear animaciones de texto dividido
- Evoluciona la métrica de CLS
- Satisfacción de los desarrolladores web
- Cómo compilar un componente de configuración
- Cómo depurar cambios de diseño
- Ideas finales de un desarrollador web sobre miniapps
- Cómo programar la miniapp
- Componentes de la miniapp
- Aplicar los principios de programación de miniapps a un proyecto de ejemplo
- Miniproyectos de código abierto de app
- Estructura, ciclo de vida y paquetes del proyecto
- ¿Qué son H5 y QuickApp?
- Lenguaje de marcado, estilo, secuencia de comandos y actualización de miniapps
- Cómo compilar un componente de pestañas
- Solicita el aislamiento de rendimiento con el encabezado Origin-Agent-Cluster
- La propiedad aspect-ratio de CSS
- Prácticas recomendadas para carruseles
- Codelab: Compila un componente de navegación lateral
- Cómo compilar un componente de navegación lateral
- Centrar en CSS
- Codelab: Centrar en CSS
- Me encanta tu caché ❤️
- Publica, instala y envía JavaScript moderno para aplicaciones más rápidas
- Trabajadores de pintura entre navegadores y Houdini.how
- Codelab de prácticas recomendadas para el formulario de registro
- Automatiza auditorías con AutoWebPerf
- Codelab de prácticas recomendadas para el formulario de dirección
- Codelab de prácticas recomendadas para los formularios de pago
- Comunicación bidireccional con los service workers
- Guía de almacenamiento en caché imperativo
- Transmite actualizaciones a las páginas con service workers
- Descripción general de los trabajadores
- Inhabilita la aceleración del mouse para brindar una mejor experiencia de juego FPS
- Cómo crear un componente Historias
- Codelab: Compila un componente de historias
- Schemeful SameSite
- Carga diferida de CMS a nivel del navegador
- Codelab: Compila un servidor de notificaciones push
- Codelab: Compila un cliente de notificaciones push
- Descripción general de las notificaciones push
- Mide el uso sin conexión
- Ejemplos de animaciones de CSS de alto rendimiento
- Mejoras lógicas en el diseño con abreviaturas relativas de flujo
- ¿Por qué algunas animaciones son lentas?
- Cómo crear animaciones CSS de alto rendimiento
- Cómo manejar solicitudes de rango en un service worker
- Cómo controlar el desplazamiento lateral, la inclinación y el zoom de la cámara
- ¿Qué son las pruebas de origen de terceros?
- Fugas de memoria de la ventana separada
- Core Web Vitals
- Crea formas de imagen interesantes con la propiedad de ruta de recorte de CSS
- Viñetas personalizadas con marcador de CSS
- Cómo manejar información de pago opcional con un service worker
- Organización de transacciones de pago con un service worker
- ARIA: ¿veneno o antídoto?
- Cómo depurar fugas de memoria en WebAssembly con Emscripten
- content-visibility: la nueva propiedad de CSS que mejora el rendimiento de su renderización
- Web en Android
- Cómo compilar una AWP en Google (parte 1)
- Supervisión del rendimiento con Lighthouse CI
- Diseño de la experiencia del usuario de las llaves de acceso en Cuentas de Google
- @property: Otorga superpoderes a las variables de CSS
- Cómo registrar una app de pagos basada en la Web
- Proporciona información de contacto y de envío desde una app de pagos de Android
- Descripción general de las apps de pago basadas en la Web
- Relación entre la velocidad del sitio y las métricas empresariales
- Cómo controlar las solicitudes de navegación
- Uso del informe de UX de Chrome para analizar el rendimiento en el campo
- Renderización perfecta de píxeles con devicePixelContentBox
- Resumen de web.dev EN VIVO
- Usar funciones de navegador multiplataforma para crear un formulario de acceso
- Herramientas para desarrolladores web que permiten depurar problemas de JavaScript en la Búsqueda de Google
- Crea experiencias de búsqueda resilientes con Workbox
- Agregar medios a una página web
- Mide el rendimiento con el modelo RAIL
- Acelera la navegación en React con Quicklink
- Reordenamiento de contenido
- Mejoras de la API de Web Animations en Chromium 84
- Ciclo de una transacción de pago
- Potencia las apps de pago con pagos web
- Más opciones de fuentes variables para la fuente system-ui de macOS en Chromium 83
- Cómo generar perfiles de apps de audio web en Chrome
- Rendimiento mejorado de carga de páginas de Next.js y Gatsby con fragmentación detallada
- Cómo hacer que tu sitio web esté "aislado de origen cruzado" con COOP y COEP
- Supervisa el uso total de memoria de tu página web con MeasureUserAgentSpecificMemory()
- Blog de ingeniería de web.dev n.o 1: Cómo creamos el sitio y usamos componentes web
- Asegúrese de que su sitio web esté disponible y sea utilizable para todos durante el brote de COVID-19
- Diseño adaptable accesible
- Evita los cambios de diseño y los destellos de texto invisible (FOIT) precargando fuentes opcionales.
- Cómo distribuir intercambios HTTP firmados (SXG) con nginx
- Cómo configurar intercambios HTTP firmados (SXG) con nginx
- Optimiza las imágenes de fondo de CSS con consultas de medios
- Corregir de manera multidisciplinaria la velocidad del sitio web
- Ajuste de desplazamiento después de cambiar el diseño
- Cómo configurar intercambios firmados con Web Packager
- Posicionamiento de objetos virtuales en vistas del mundo real
- La realidad virtual llega a la Web (parte II)
- Realidad aumentada: Quizás ya la conozcas
- Avance del ecosistema del framework web
- Integra las AWP en las IUs de uso compartido integradas con Workbox
- Se mejoró el descarte de páginas en XMLHttpRequest() síncrono
- Cómo ejecutar subprocesos en la Web con trabajadores del módulo
- Evoluciones de las herramientas de velocidad: aspectos destacados de Chrome Developer Summit 2019
- Carga adaptable: Mejora el rendimiento de la Web en dispositivos lentos
- Comentarios de la encuesta de optimización de imágenes del verano de 2019
- Compila un servidor de notificaciones push
- Carga previa de la ruta en Next.js
- División de código con importaciones dinámicas en Next.js
- Realiza la integración con la IU de uso compartido del SO mediante la API de Web Share
- Rendimiento como predeterminado con Next.js
- Cómo AMP puede garantizar la rapidez de tu app de Next.js
- La realidad virtual llega a la Web
- Conceptos básicos sobre las cookies
- Los anuncios rápidos son importantes
- Usa notificaciones push para atraer a los usuarios y volver a atraerlos
- Comienza a usar la API de Notifications
- Cómo usar un Service Worker para administrar notificaciones
- Cómo corregir la inestabilidad del diseño
- Técnicas para que una app web se cargue rápido, incluso en teléfonos de gama media
- Propiedades personalizadas más inteligentes con la nueva API de Houdini
- Dos formas de precarga: etiquetas <link> y encabezados HTTP
- Precarga recursos para acelerar la navegación en el futuro
- Más allá de las imágenes con videos básicos para la Web
- Cómo agregar un ícono táctil de Apple a tu app web progresiva
- Ready Player Web
- Reducir el tamaño de la fuente web
- Optimiza la carga y el procesamiento de WebFont
- Crea una app web progresiva con la CLI de Angular
- Carga eficientemente JavaScript de terceros
- Usa CDN de imágenes para optimizar las imágenes
- Identifica JavaScript de terceros lento
- Rendimiento de JavaScript de terceros
- Controles de formularios con mayor capacidad
- Optimiza JavaScript de terceros
- Establece conexiones de red con anticipación para mejorar la velocidad percibida de la página.
- Virtualiza listas grandes con el CDK de Angular
- Estrategias de precarga de rutas en Angular
- Optimiza la detección de cambios de Angular
- Navegación web más rápida con carga previa predictiva
- Adapta el video a la publicación de imágenes en función de la calidad de la red
- Audita la accesibilidad de tu app de Angular con un codificador de código
- Presupuestos de rendimiento con la CLI de Angular
- Cómo almacenar previamente en caché con el service worker de Angular
- División de código a nivel de la ruta en Angular
- Primeros pasos: Optimiza una aplicación de Angular
- Sugerencias principales para el rendimiento de la Web
- Componentes web: el ingrediente secreto que ayuda a potenciar la Web
- Usa Lighthouse para los presupuestos de rendimiento
- El valor de la velocidad
- Actualizaciones de las API de pagos web
- Instalación de la barra de direcciones para apps web progresivas en el escritorio
- ¿Cómo puede el rendimiento mejorar las conversiones?
- Mentalidad de service worker
- ¿Cómo puedo notificar a los usuarios que mi AWP se puede instalar?
- Políticas de imágenes para tiempos de carga rápidos y mucho más
- Extraer e intercalar CSS crítico con Critical
- ¿Las tareas largas de JavaScript retrasan su tiempo de carga?
- Extraer CSS crítico
- Velocidad a gran escala: ¿cuáles son las novedades sobre el rendimiento web?
- Presentamos PROXX
- Búsqueda visual con el kit de herramientas de percepción web
- Entrega adaptable según la calidad de la red
- Reduce y comprime las cargas útiles de red con brotli
- web.dev en I/O 2019
- ¿Cómo se mide la velocidad?
- ¿Cómo mantener la rapidez?
- ¿Qué es la velocidad?
- Procesamiento previo de rutas con reacción-snap
- Primeros pasos: Optimiza tu app de React
- División de código con React.lazy y Suspense
- Almacenamiento previo en caché en la creación de una app de React con Workbox
- Auditoría de accesibilidad con react-axe y eslint-plugin-jsx-a11y
- Codelab: Carga previamente recursos críticos para mejorar la velocidad de carga
- Aplaza el CSS que no sea crítico
- La confianza es buena y la observación es mejor: Intersection Observer v2
- Hojas de estilo para construir
- Renderización en la Web
- Usa bundlesize con Travis CI
- Incorporar presupuestos de rendimiento en el proceso de compilación
- Configura presupuestos de rendimiento con webpack
- Cómo usar el bot de Lighthouse para establecer un presupuesto de rendimiento
- Emscripten y npm
- ¿Tu app está instalada? getInstalledRelatedApps() te lo dirá.
- Publica código moderno en navegadores actualizados para que las páginas se carguen más rápido
- Adapta la app a usuarios con Client Hints
- ¿Qué es la accesibilidad?
- Aspectos básicos del acceso al teclado
- Semántica y lectores de pantalla
- Usa código HTML semántico para lograr una implementación óptima del teclado.
- Enfoque de estilo
- Evita el destello de texto invisible
- Reduce las cargas útiles de JavaScript con la división de código
- Cómo especificar varios anchos de ranura
- Publica código moderno en navegadores actualizados para que las páginas se carguen más rápido
- ¿Qué son los ataques de seguridad?
- Cómo crear imágenes WebP con la línea de comandos
- Introducción a los presupuestos de rendimiento
- Quita el código que no se use
- Zona de pruebas del navegador
- Almacenamiento previo en caché con Workbox
- Publica imágenes responsivas
- Evita solicitudes de red innecesarias con la caché HTTP
- Política del mismo origen y solicitudes de recuperación
- Cómo usar imágenes WebP
- Cómo trabajar con service workers
- Corrige errores 404 engañosos
- Configura el comportamiento del almacenamiento en caché de HTTP
- Cómo usar descriptores de densidad
- Reemplazar los GIF animados por videos para que las páginas se carguen más rápido
- cómo funciona la búsqueda,
- Política del mismo origen
- Almacenamiento en caché del entorno de ejecución con Workbox
- Reduce las cargas útiles de JavaScript con la división de código
- Identifica los recursos cargados desde la red
- Cómo usar Imagemin con webpack
- ¡La seguridad no debería ser tan aterradora!
- Explore el panel Network de Herramientas para desarrolladores
- Cómo usar Imagemin para comprimir imágenes
- Publica imágenes con las dimensiones correctas
- Reemplazar GIF por video
- Cómo medir la optimización para motores de búsqueda con Lighthouse
- Tu primer presupuesto de rendimiento
- Dirección artística
- Aplica la carga instantánea con el patrón PRPL
- Quita el código que no se use
- Política del mismo origen y iframe
- Precarga los recursos críticos para mejorar la velocidad de carga
- Descubre oportunidades de rendimiento con Lighthouse
- Hay subprocesos de WebAssembly listos para probar en Chrome 70
- Conversión de medios
- Cómo funciona la API de Payment Request
- Descripción general de los pagos web
- Cómo funciona el ecosistema de pagos
- Elige el nivel correcto de compresión
- Extiende el navegador con WebAssembly
- Web Performance Easy: Google I/O edición 2018
- La embinada de Emscripten
- Reglas y recomendaciones de PageSpeed
- Próximos pasos
- Auditoría del rendimiento
- Comparte los resultados
- Utiliza herramientas para medir el rendimiento
- Trabajo previo
- Verificar la seguridad del sitio
- Desplazamiento bien controlado con Snap de desplazamiento de CSS
- Reduce las cargas útiles de JavaScript con la eliminación de código no utilizado
- Te damos la bienvenida a la Web envolvente
- Reduce y comprime las cargas útiles de red con gzip
- Precarga fuentes web para mejorar la velocidad de carga
- Carga módulos de WebAssembly de manera eficiente
- Verificación de la detección de atributos de la API de Credential Management
- Escribe una biblioteca de C a Wasm
- Cómo pensar las herramientas de velocidad
- Webpack
- Conclusión del Webpack
- Aprovechar el almacenamiento en caché a largo plazo
- Reduce el tamaño del frontend
- Supervisa y analiza la app
- Optimización de inicio de JavaScript
- API de Cache: Guía rápida
- Componentes de HowTo: Casilla de verificación para instructivos
- Grabación de video del usuario
- Reproducción rápida con precarga de audio y video
- Componentes de construcción
- Elementos personalizados v1: Componentes web reutilizables
- Prácticas recomendadas para los elementos personalizados
- Efectos en tiempo real para imágenes y videos
- Accesibilidad para los equipos
- Tasa de bits
- Cómo preparar archivos multimedia para la Web
- Solución
- ¿Qué es una experiencia multimedia?
- Contenedores y códecs
- Conceptos básicos de las aplicaciones multimedia
- Prácticas recomendadas para conservar el estado de la aplicación con IndexedDB
- WebAPK en Android
- Reproducción de videos web para dispositivos móviles
- Componentes de HowTo: Pestañas de instructivos
- Componentes de HowTo: información sobre la herramienta
- Descripción general de los componentes de HowTo
- Cómo informar errores y problemas habituales
- Cómo revisar la accesibilidad
- Extensiones de fuentes de medios
- Componentes web v1: la nueva generación
- Registro de service worker
- La API de Credential Management
- Usuarios que acceden
- Funciones asíncronas: hacer promesas amigables
- Introducción a ARIA
- Árbol de accesibilidad