<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Joan León</title><description>Blog de desarrollo web: Web Performance, CSS, JavaScript, React, Web Animation, Media Optimization y Creative Coding.</description><link>https://joanleon.dev/</link><item><title>HTTP cache partitioning: la misma imagen, descargada dos veces</title><link>https://joanleon.dev/posts/http-cache-partitioning-cross-origin-storage/</link><guid isPermaLink="true">https://joanleon.dev/posts/http-cache-partitioning-cross-origin-storage/</guid><description>Una página con un iframe cross-site pide la misma imagen desde el iframe y desde el padre. En Chrome se descarga dos veces; en Firefox y Safari, una. Por qué la cache key no es la misma en los tres motores, por qué compartir partición no garantiza el hit, y qué propone Cross-Origin Storage para solucionarlo.</description><pubDate>Tue, 25 Aug 2026 10:00:00 GMT</pubDate></item><item><title>Una skill que no sabe nada: la arquitectura de Modern Web Guidance</title><link>https://joanleon.dev/posts/modern-web-guidance-semantic-retrieval/</link><guid isPermaLink="true">https://joanleon.dev/posts/modern-web-guidance-semantic-retrieval/</guid><description>Modern Web Guidance no guarda el conocimiento en la skill, enseña al agente a recuperarlo. Búsqueda semántica local con MiniLM y TensorFlow.js, guías con grader propio y calibración empírica del contenido.</description><pubDate>Thu, 13 Aug 2026 10:00:00 GMT</pubDate></item><item><title>La ventana móvil de 28 días de CrUX</title><link>https://joanleon.dev/posts/crux-28-day-window/</link><guid isPermaLink="true">https://joanleon.dev/posts/crux-28-day-window/</guid><description>Cómo funciona de verdad la ventana móvil de 28 días de CrUX, qué publica cada fuente y por qué el p75 tarda tanto en moverse aunque los datos solo tengan dos días de retraso.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Un 301 en cada clic: la trailing slash que ralentizaba toda la navegación interna</title><link>https://joanleon.dev/posts/trailing-slash-301-internal-navigation/</link><guid isPermaLink="true">https://joanleon.dev/posts/trailing-slash-301-internal-navigation/</guid><description>Un hallazgo real en skills.addy.ie: cada enlace interno provocaba una redirección 301 en Netlify por una barra final que faltaba. Qué le cuesta a la UX, cómo lo detecté en las DevTools, el fix rápido que se me ocurrió y la solución de fondo (Astro directory format + trailingSlash: &apos;always&apos;). Con la evidencia de la pestaña Network antes y después.</description><pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Keep-Alive no es Cache-Control: anatomía de una cascada de red</title><link>https://joanleon.dev/posts/keep-alive-cache-control-preconnect/</link><guid isPermaLink="true">https://joanleon.dev/posts/keep-alive-cache-control-preconnect/</guid><description>Un caso real de auditoría: dos imágenes pesadas (608 KB y 403 KB) bajo HTTP/1.1 con Connection: Keep-Alive pero sin Cache-Control. Por qué son cosas distintas, qué arregla HTTP/2 y cómo preconnect adelanta el handshake. Con demo interactiva del waterfall.</description><pubDate>Thu, 02 Jul 2026 10:00:00 GMT</pubDate></item><item><title>El misterio del #document que se repinta solo: Paint flashing y capas de composición</title><link>https://joanleon.dev/posts/paint-flashing-document-layer/</link><guid isPermaLink="true">https://joanleon.dev/posts/paint-flashing-document-layer/</guid><description>Por qué la capa #document acumula cientos de repintados en reposo por culpa de un ticker animado con transform, cómo cazarlo con la pestaña Layers y Paint flashing, y cómo promocionar el elemento a su propia capa de composición con will-change.</description><pubDate>Sun, 21 Jun 2026 10:00:00 GMT</pubDate></item><item><title>Antigravity Skills: configuración avanzada del frontmatter YAML</title><link>https://joanleon.dev/posts/antigravity-skills-advanced-config/</link><guid isPermaLink="true">https://joanleon.dev/posts/antigravity-skills-advanced-config/</guid><description>Los campos kind, model, temperature, max_turns y tools del frontmatter de SKILL.md permiten configurar con precisión cómo se ejecuta cada agente en Antigravity. Guía práctica con los campos extendidos que Google aún no documenta oficialmente.</description><pubDate>Sat, 13 Jun 2026 10:00:00 GMT</pubDate></item><item><title>Edición de vídeo en el browser con WebGPU</title><link>https://joanleon.dev/posts/webgpu-video-browser/</link><guid isPermaLink="true">https://joanleon.dev/posts/webgpu-video-browser/</guid><description>WebGPU permite aplicar efectos y transformaciones a vídeo en tiempo real en el browser. Implementación práctica con benchmarks y limitaciones reales.</description><pubDate>Tue, 28 Apr 2026 10:00:00 GMT</pubDate></item><item><title>Forced Synchronous Layout: cómo detectarlo y analizarlo con DevTools</title><link>https://joanleon.dev/posts/forced-synchronous-layout/</link><guid isPermaLink="true">https://joanleon.dev/posts/forced-synchronous-layout/</guid><description>Cómo un reset de scroll tras una manipulación masiva del DOM provoca un Forced Synchronous Layout, cómo detectarlo en el Performance Panel y en Selector Stats de Chrome DevTools, y cómo corregirlo con requestAnimationFrame.</description><pubDate>Mon, 27 Apr 2026 10:00:00 GMT</pubDate></item><item><title>ML en el browser con WebGPU: inferencia en tiempo real</title><link>https://joanleon.dev/posts/webgpu-ml-browser/</link><guid isPermaLink="true">https://joanleon.dev/posts/webgpu-ml-browser/</guid><description>Cómo usar WebGPU como backend de TensorFlow.js para ejecutar modelos de ML en el browser con rendimiento real. Benchmarks y casos prácticos.</description><pubDate>Tue, 21 Apr 2026 10:00:00 GMT</pubDate></item><item><title>Automatiza el navegador desde la terminal con Chrome DevTools MCP CLI</title><link>https://joanleon.dev/posts/chrome-devtools-mcp-cli/</link><guid isPermaLink="true">https://joanleon.dev/posts/chrome-devtools-mcp-cli/</guid><description>El paquete chrome-devtools-mcp incluye una CLI experimental que permite controlar Chrome directamente desde la terminal: navegar, interactuar, auditar rendimiento, analizar red y memoria, todo sin salir de la shell.</description><pubDate>Thu, 16 Apr 2026 10:00:00 GMT</pubDate></item><item><title>Procesamiento de imágenes en el browser con WebGPU</title><link>https://joanleon.dev/posts/webgpu-image-processing/</link><guid isPermaLink="true">https://joanleon.dev/posts/webgpu-image-processing/</guid><description>Cómo usar WebGPU para aplicar filtros y transformaciones a imágenes en el browser. Benchmarks reales comparando con Canvas 2D.</description><pubDate>Tue, 14 Apr 2026 10:00:00 GMT</pubDate></item><item><title>WebGPU: el nuevo motor de rendimiento del navegador</title><link>https://joanleon.dev/posts/webgpu-browser-performance/</link><guid isPermaLink="true">https://joanleon.dev/posts/webgpu-browser-performance/</guid><description>WebGPU expone la GPU directamente al browser y abre nuevas posibilidades para el procesamiento intensivo: imágenes, vídeo, ML y mucho más.</description><pubDate>Tue, 07 Apr 2026 10:00:00 GMT</pubDate></item><item><title>IA en auditorías de Web Performance: medición determinística e informes accionables</title><link>https://joanleon.dev/posts/ai-web-performance-audits-scripts-reports/</link><guid isPermaLink="true">https://joanleon.dev/posts/ai-web-performance-audits-scripts-reports/</guid><description>Cómo combinar scripts determinísticos y agentes de IA para ir de la recopilación de métricas a un informe accionable, y sentar las bases del test de regresión continuo en rendimiento.</description><pubDate>Thu, 26 Mar 2026 10:00:00 GMT</pubDate></item><item><title>AI-Driven Performance Debugging: Gemini + Chrome DevTools MCP</title><link>https://joanleon.dev/posts/gemini-chrome-devtools-mcp-debugging/</link><guid isPermaLink="true">https://joanleon.dev/posts/gemini-chrome-devtools-mcp-debugging/</guid><description>Workshop práctico de diagnóstico de rendimiento con Gemini CLI conectada al navegador vía Chrome DevTools MCP: desde identificar un Long Task en código minificado hasta dejar que el agente cree la rama y prepare la PR con la solución.</description><pubDate>Wed, 18 Mar 2026 10:00:00 GMT</pubDate></item><item><title>Añadiendo un resumen IA a los posts del blog con la Chrome Summarizer API</title><link>https://joanleon.dev/posts/ai-summary-chrome-summarizer-api/</link><guid isPermaLink="true">https://joanleon.dev/posts/ai-summary-chrome-summarizer-api/</guid><description>Cómo implementar un botón de resumen IA en un blog Astro usando la Chrome Summarizer API nativa del navegador, sin servidores ni APIs externas.</description><pubDate>Fri, 13 Mar 2026 11:10:58 GMT</pubDate></item><item><title>WebPerf Snippets: progressive disclosure en Claude Skills</title><link>https://joanleon.dev/posts/webperf-snippets-progressive-disclosure/</link><guid isPermaLink="true">https://joanleon.dev/posts/webperf-snippets-progressive-disclosure/</guid><description>Cómo aplicar el sistema de progressive disclosure de Anthropic (L1/L2/L3) para reducir el contexto cargado por las Skills de WebPerf Snippets y liberar espacio en la ventana de contexto del agente.</description><pubDate>Tue, 10 Mar 2026 10:00:00 GMT</pubDate></item><item><title>WebPerf Snippets agent-first: retornos estructurados y tokens mínimos</title><link>https://joanleon.dev/posts/webperf-snippets-agent-first/</link><guid isPermaLink="true">https://joanleon.dev/posts/webperf-snippets-agent-first/</guid><description>Los scripts de WebPerf Snippets devuelven ahora JSON estructurado directamente desde evaluate_script() y se minifican en el build eliminando el código muerto, reduciendo el footprint de tokens de forma significativa.</description><pubDate>Sun, 08 Mar 2026 10:00:00 GMT</pubDate></item><item><title>WebPerf Snippets y Agent SKILLs: auditorías determinísticas con Chrome DevTools MCP</title><link>https://joanleon.dev/posts/webperf-snippets-agent-skills/</link><guid isPermaLink="true">https://joanleon.dev/posts/webperf-snippets-agent-skills/</guid><description>Los WebPerf Snippets se convierten en Agent SKILLs con scripts como herramientas determinísticas para agentes de IA, ejecutables directamente en el navegador via Chrome DevTools MCP.</description><pubDate>Wed, 04 Mar 2026 10:00:00 GMT</pubDate></item><item><title>WebPerf Snippets + WebMCP: métricas web que entiende la IA</title><link>https://joanleon.dev/posts/webperf-snippets-webmcp/</link><guid isPermaLink="true">https://joanleon.dev/posts/webperf-snippets-webmcp/</guid><description>WebPerf Snippets expone sus herramientas de medición de rendimiento vía WebMCP, el nuevo protocolo que permite a los asistentes de IA interactuar con el navegador de forma nativa.</description><pubDate>Tue, 03 Mar 2026 10:00:00 GMT</pubDate></item><item><title>WebAssembly: el estándar olvidado del W3C</title><link>https://joanleon.dev/posts/webassembly/webassembly-w3c-standard/</link><guid isPermaLink="true">https://joanleon.dev/posts/webassembly/webassembly-w3c-standard/</guid><description>WebAssembly es un estándar del W3C desde 2019, pero muchos desarrolladores aún lo desconocen. Qué es realmente, cómo funciona y por qué deberíais conocerlo.</description><pubDate>Sun, 01 Mar 2026 10:00:00 GMT</pubDate></item><item><title>SVGs en la web: comparativa de rendimiento según cómo los cargas</title><link>https://joanleon.dev/posts/svg-optimization/</link><guid isPermaLink="true">https://joanleon.dev/posts/svg-optimization/</guid><description>Inline, sprite con &lt;use&gt;, &lt;object&gt;, &lt;img&gt;... cada forma de cargar un SVG tiene implicaciones distintas en rendimiento, caché y renderizado. Un análisis práctico para elegir bien.</description><pubDate>Tue, 24 Feb 2026 10:00:00 GMT</pubDate></item><item><title>Guía práctica del elemento &lt;img&gt;: de lo básico a LCP</title><link>https://joanleon.dev/posts/guia-practica-elemento-img/</link><guid isPermaLink="true">https://joanleon.dev/posts/guia-practica-elemento-img/</guid><description>El elemento &lt;img&gt; tiene atributos que marcan una diferencia real en rendimiento: loading, decoding, fetchpriority, srcset y sizes. Una guía práctica para usarlos bien.</description><pubDate>Sun, 22 Feb 2026 10:00:00 GMT</pubDate></item><item><title>Yield to Main: setTimeout vs queueMicrotask vs scheduler.postTask</title><link>https://joanleon.dev/posts/yield-to-main-optimize-inp/</link><guid isPermaLink="true">https://joanleon.dev/posts/yield-to-main-optimize-inp/</guid><description>Guía práctica sobre cómo usar setTimeout, queueMicrotask y scheduler.postTask para dividir tareas largas y optimizar INP. Comparativa con ejemplos medibles.</description><pubDate>Wed, 18 Feb 2026 10:00:00 GMT</pubDate></item><item><title>Optimización de scripts de consentimiento para Core Web Vitals</title><link>https://joanleon.dev/posts/consent-scripts-performance/</link><guid isPermaLink="true">https://joanleon.dev/posts/consent-scripts-performance/</guid><description>Los scripts de gestión del consentimiento (CMP) compiten con recursos críticos si no se priorizan bien. Una estrategia server-side para optimizar su carga según el tipo de visita.</description><pubDate>Fri, 13 Feb 2026 10:00:00 GMT</pubDate></item><item><title>Chrome DevTools para depurar el rendimiento de una web</title><link>https://joanleon.dev/posts/chrome-devtools-debugging-2025/</link><guid isPermaLink="true">https://joanleon.dev/posts/chrome-devtools-debugging-2025/</guid><description>Una guía paso a paso de cómo utilizo Google Chrome DevTools para detectar problemas de Web Performance en una web, y validar algunas hipótesis para solventarlos.</description><pubDate>Fri, 02 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Optimiza el renderizado con content-visibility</title><link>https://joanleon.dev/posts/content-visibility/</link><guid isPermaLink="true">https://joanleon.dev/posts/content-visibility/</guid><description>La propiedad CSS content-visibility mejora el rendimiento de renderizado. Caso práctico con métricas y snippets para detectar oportunidades.</description><pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Análisis de Media Queries en CSS para Optimizar el Rendimiento</title><link>https://joanleon.dev/posts/analisis-media-queries-css/</link><guid isPermaLink="true">https://joanleon.dev/posts/analisis-media-queries-css/</guid><description>Descubre cómo analizar las media queries del CSS para detectar y optimizar estilos no utilizados en mobile, mejorando el rendimiento de tu web con un simple snippet de JavaScript.</description><pubDate>Tue, 02 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Más Allá de INP: LCP y el 90% invisible del rendimiento</title><link>https://joanleon.dev/posts/loaf/mas-alla-del-inp/</link><guid isPermaLink="true">https://joanleon.dev/posts/loaf/mas-alla-del-inp/</guid><description>Descubre cómo LoAF va más allá de INP. Aprende a detectar scripts que bloquean el LCP y a distinguir entre JavaScript pesado y layout thrashing para aplicar la optimización correcta.</description><pubDate>Fri, 21 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Debugging de INP: Del &apos;algo va lento&apos; al &apos;esto es lo que lo rompe&apos;</title><link>https://joanleon.dev/posts/loaf/debugging-inp/</link><guid isPermaLink="true">https://joanleon.dev/posts/loaf/debugging-inp/</guid><description>Aprende a depurar el INP (Interaction to Next Paint) de forma efectiva. En este artículo vemos cómo correlacionar Event Timing con la API de Long Animation Frames (LoAF) para identificar los scripts culpables de las interacciones lentas, cómo optimizar la recolección de datos y cómo analizar la información para priorizar las tareas de optimización.</description><pubDate>Wed, 05 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Fundamentos de Long Animation Frames API</title><link>https://joanleon.dev/posts/loaf/fundamentos/</link><guid isPermaLink="true">https://joanleon.dev/posts/loaf/fundamentos/</guid><description>Descubre cómo Long Animation Frames API (LoAF) resuelve el mayor problema al debuggear INP: saber exactamente qué código causó una interacción lenta. Fundamentos, código práctico y conceptos clave.</description><pubDate>Thu, 30 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Glosario de Términos: Long Animation Frames API</title><link>https://joanleon.dev/posts/loaf/glosario/</link><guid isPermaLink="true">https://joanleon.dev/posts/loaf/glosario/</guid><description>Referencia rápida de términos, acrónimos y conceptos relacionados con LoAF y web performance.</description><pubDate>Thu, 30 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Charlas 2023</title><link>https://joanleon.dev/posts/charlas-2023/</link><guid isPermaLink="true">https://joanleon.dev/posts/charlas-2023/</guid><description>Un repaso a las charlas que he hecho durante el 2023</description><pubDate>Sun, 31 Dec 2023 00:00:00 GMT</pubDate></item><item><title>Interpreta bien tus métricas</title><link>https://joanleon.dev/posts/interpreta-bien-tus-metricas/</link><guid isPermaLink="true">https://joanleon.dev/posts/interpreta-bien-tus-metricas/</guid><description>El número de una métrica no es más que un número, hasta que sabes cómo interpretarlo.</description><pubDate>Sat, 04 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Analizando la Web Performance del flujo de usuarias/os con Chrome DevTools</title><link>https://joanleon.dev/posts/chrome-devtools-user-flow/</link><guid isPermaLink="true">https://joanleon.dev/posts/chrome-devtools-user-flow/</guid><description>En Chrome 97 aparece una nueva herramienta en las DevTools para poder medir la performance en la experiencia de navegación e interación de las visitas a nuestra web</description><pubDate>Mon, 08 Nov 2021 00:00:00 GMT</pubDate></item><item><title>Mi opinión sobre Tailwind CSS</title><link>https://joanleon.dev/posts/tailwindcss/</link><guid isPermaLink="true">https://joanleon.dev/posts/tailwindcss/</guid><description>Los frameworks CSS basados en &quot;Utility-First&quot; están cogiendo mucha tracción, y en especial Tailwind CSS, ¿es una buena opción?</description><pubDate>Tue, 26 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Yo prefiero PostCSS</title><link>https://joanleon.dev/posts/postcss/</link><guid isPermaLink="true">https://joanleon.dev/posts/postcss/</guid><description>Déjame que te explique el motivo de porqué prefiero PostCSS para escribir CSS.</description><pubDate>Fri, 08 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Es curioso cómo de olvidado y maltratado está el CSS</title><link>https://joanleon.dev/posts/css-maltratado/</link><guid isPermaLink="true">https://joanleon.dev/posts/css-maltratado/</guid><description>Con más de 24 años, CSS sigue siendo un lenguaje despreciado.</description><pubDate>Mon, 04 Jan 2021 00:00:00 GMT</pubDate></item><item><title>AVIF in CSS con PostCSS</title><link>https://joanleon.dev/posts/avif-in-css/</link><guid isPermaLink="true">https://joanleon.dev/posts/avif-in-css/</guid><description>Implementa el nuevo formato de imágenes AVIF en los `background-image` de tu CSS con este plugin PostCSS.</description><pubDate>Sun, 20 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Detecta el soporte AVIF para las imágenes de tu CSS</title><link>https://joanleon.dev/posts/avif-css/</link><guid isPermaLink="true">https://joanleon.dev/posts/avif-css/</guid><description>Implementa el nuevo formato de imágenes AVIF en los `background-image` de tu CSS.</description><pubDate>Sun, 06 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Libros CSS</title><link>https://joanleon.dev/posts/libros-css/</link><guid isPermaLink="true">https://joanleon.dev/posts/libros-css/</guid><description>Recopilación de libros CSS que te podrán ayudar a mejorar tus conocimientos en el arte de dar estilos a tus proyectos.</description><pubDate>Sat, 17 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Aprender a programar con Processing y P5js</title><link>https://joanleon.dev/posts/aprender-programar/</link><guid isPermaLink="true">https://joanleon.dev/posts/aprender-programar/</guid><description>Hay muchas metodologías y lenguajes para aprender a programar, por eso, lo primero que se encuentra una persona que quiere aprender a programar, es frente a la elección de un lenguaje o plataforma de desarrollo.</description><pubDate>Sat, 12 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Diseño Ágil con TDD</title><link>https://joanleon.dev/posts/diseno-agil-con-tdd/</link><guid isPermaLink="true">https://joanleon.dev/posts/diseno-agil-con-tdd/</guid><description>En este artículo quiero compartir mi opinión del libro &apos;Diseño Ágil con TDD&apos;, del cual he podido aprender las bases del TDD.</description><pubDate>Mon, 24 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Clean JavaScript: Código Limpio, SOLID y Testing</title><link>https://joanleon.dev/posts/clean-javascript/</link><guid isPermaLink="true">https://joanleon.dev/posts/clean-javascript/</guid><description>Os quiero recomendar el libro Clean JavaScript, de Miguel A. Gómoez, donde nos enseña a aplicar buenas prácticas, escribir código robusto y fácil de mantener. Con el objetivo de conseguir desarrollar buen software con JavaScript.</description><pubDate>Wed, 19 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Animaciones CSS</title><link>https://joanleon.dev/posts/animaciones-css/</link><guid isPermaLink="true">https://joanleon.dev/posts/animaciones-css/</guid><description>Con las animaciones CSS tenemos mucho más control, que con las transiciones, para crear animaciones gracias a los @keyframes.</description><pubDate>Sun, 12 Jul 2020 00:00:00 GMT</pubDate></item><item><title>Transiciones CSS</title><link>https://joanleon.dev/posts/transiciones-css/</link><guid isPermaLink="true">https://joanleon.dev/posts/transiciones-css/</guid><description>Las Transiciones CSS permiten que los cambios de valor de una propiedad CSS se realicen progresivamente durante un período de tiempo especificado.</description><pubDate>Sun, 23 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Animación Web</title><link>https://joanleon.dev/posts/animacion-web/</link><guid isPermaLink="true">https://joanleon.dev/posts/animacion-web/</guid><description>Hace mucho tiempo que tenemos animación en la web, echemos un vistazo a las diferentes maneras de hacer animación web.</description><pubDate>Mon, 10 Feb 2020 00:00:00 GMT</pubDate></item><item><title>AVIF, el formato de imagen definitivo?</title><link>https://joanleon.dev/posts/avif/</link><guid isPermaLink="true">https://joanleon.dev/posts/avif/</guid><description>AVIF es un formato de imágenes de nueva generación que reduce hasta un ~50% el peso de las imágenes JPEG.</description><pubDate>Mon, 10 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Finalmente entiendo JPG</title><link>https://joanleon.dev/posts/finalmente-entiendo-jpg/</link><guid isPermaLink="true">https://joanleon.dev/posts/finalmente-entiendo-jpg/</guid><description>Traducción al castellano del gran artículo original &quot;JPG endlich verstehen&quot; de Christoph Erdmann.</description><pubDate>Tue, 04 Feb 2020 00:00:00 GMT</pubDate></item><item><title>CSS Pixel Art</title><link>https://joanleon.dev/posts/css-pixel-art/</link><guid isPermaLink="true">https://joanleon.dev/posts/css-pixel-art/</guid><description>El Pixel Art es una técnica de diseño que se sigue utilizando como recurso en muchos video juegos. Con CSS podemos utilizar esta técnica de una manera muy sencilla.</description><pubDate>Sun, 12 Jan 2020 00:00:00 GMT</pubDate></item><item><title>CSS Houdini, algo más que magia</title><link>https://joanleon.dev/posts/css-houdini/</link><guid isPermaLink="true">https://joanleon.dev/posts/css-houdini/</guid><description>Para mucha gente CSS es cosa de magos, incluso habrá quien crea que es brujería, pero eso es por que no conocen los hechizos necesarios para tener un auténtico control sobre el CSS.</description><pubDate>Sat, 04 Jan 2020 00:00:00 GMT</pubDate></item><item><title>Motion Craftsmanship</title><link>https://joanleon.dev/posts/motion-craftsmanship/</link><guid isPermaLink="true">https://joanleon.dev/posts/motion-craftsmanship/</guid><description>Poco hay que decir de la importancia de la animación en webs y aplicaciones, los diseñadores y desarrolladores están concienciados de ello, simplemente con abrir el navegador o aplicaciones y podremos apreciarlo. Pero veamos qué se esconde bajo la definición Motion Craftsmanship.</description><pubDate>Sat, 04 Jan 2020 00:00:00 GMT</pubDate></item><item><title>Por dónde empiezo para optimizar mis imágenes</title><link>https://joanleon.dev/posts/por-donde-empiezo-para-optimizar-mis-imagenes/</link><guid isPermaLink="true">https://joanleon.dev/posts/por-donde-empiezo-para-optimizar-mis-imagenes/</guid><description>Como profesionales del desarrollo web, nos preocupamos de escoger el mejor framework, la librería más actual, aplicar buenas prácticas en Javascript y CSS, ser cuidadosos de la semántica en el HTML para mejorar el SEO, estamos mejorando la accesibilidad de nuestro contenido, empaquetamos y dividimos los archivos para optimizar la carga, pero ¿qué pasa con las imágenes?</description><pubDate>Sat, 04 Jan 2020 00:00:00 GMT</pubDate></item></channel></rss>