<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Perry Blog</title>
    <link>https://www.perryts.com/es/blog/</link>
    <description>Notas de versión, tutoriales y artículos técnicos de Perry, con fecha. Las mediciones históricas quedan ligadas a su versión original.</description>
    <language>es</language>
    <item>
      <title>Compiling JavaScript AOT is complicated, here is why</title>
      <link>https://www.perryts.com/es/blog/compiling-javascript-aot/</link>
      <guid>https://www.perryts.com/es/blog/compiling-javascript-aot/</guid>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <description>An ahead-of-time compiler has to know, before the program runs, whether item.price is one load or a full lookup. How Perry proves whole-program facts about your JavaScript, the design that hit a wall, the per-unit design that replaced it, what failed, and where it stands.</description>
    </item>
    <item>
      <title>Construir un GC para un compilador nativo de TypeScript: decisiones, sorpresas y cómo va</title>
      <link>https://www.perryts.com/es/blog/gc-decisions-surprises/</link>
      <guid>https://www.perryts.com/es/blog/gc-decisions-surprises/</guid>
      <pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate>
      <description>Perry compila TypeScript a código nativo con LLVM, lo que significa que necesita un recolector de basura de verdad. Las decisiones que tomamos, los fallos que no dejaron pruebas, las puertas de CI que no podían fallar y la situación de las cifras frente a Node y un competidor AOT con conteo de referencias.</description>
    </item>
    <item>
      <title>Compilar Claude Code: un bundle minificado y 160 correcciones del compilador</title>
      <link>https://www.perryts.com/es/blog/compiling-claude-code/</link>
      <guid>https://www.perryts.com/es/blog/compiling-claude-code/</guid>
      <pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate>
      <description>Intentamos convertir en un binario nativo el archivo cli.js minificado de 13 MB que npm distribuye para Claude Code. Un mes después, arranca, inicia sesión, recibe respuestas reales de la API en streaming y muestra lo que escribes. Para lograrlo se integraron 160 pull requests en Perry, desde un MessageChannel que no hacía nada hasta una barrera de escritura del GC ausente en los encabezados RegExp.</description>
    </item>
    <item>
      <title>Publicar una app exclusiva de Apple Watch en el App Store cuando todo lo demás falla</title>
      <link>https://www.perryts.com/es/blog/shipping-a-watch-only-app-to-the-app-store/</link>
      <guid>https://www.perryts.com/es/blog/shipping-a-watch-only-app-to-the-app-store/</guid>
      <pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate>
      <description>Todas las vías documentadas para subir una app independiente de watchOS al App Store fallan: altool, iTMSTransporter, xcodebuild e incluso Organizer de Xcode 26 rechazan la plataforma. Esta solución no documentada funciona y conserva arm64_32 para relojes antiguos: un stub de iOS marcado como ITSWatchOnlyContainer y enviado con iTMSTransporter.</description>
    </item>
    <item>
      <title>Paquetes npm reales ya compilan: axios, zod, express — y un barrido de conformidad</title>
      <link>https://www.perryts.com/es/blog/real-npm-packages-and-a-conformance-sweep/</link>
      <guid>https://www.perryts.com/es/blog/real-npm-packages-and-a-conformance-sweep/</guid>
      <pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate>
      <description>Las ~270 releases de v0.5.875 a v0.5.1146 no fueron sobre un benchmark — fueron sobre hacer que paquetes npm reales compilen y corran. axios, zod v4, express, fastify y hono ahora funcionan; la paridad de test262 saltó (String 60→79%, Array 61→72%); Windows se volvió Fluent con Mica; y DatePicker + arrastrar y soltar aterrizaron en cada plataforma.</description>
    </item>
    <item>
      <title>Lo que el benchmark de aya_koto nos enseñó sobre el GC de Perry</title>
      <link>https://www.perryts.com/es/blog/closing-the-gc-gap/</link>
      <guid>https://www.perryts.com/es/blog/closing-the-gc-gap/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Un lector benchmarkeó Perry en AtCoder ABC451D y lo midió 3,85× más lento que Bun. Una regresión silenciosa había ampliado el gap a 6,59× desde entonces. El fix no estaba donde lo esperábamos, el trade-off deliberado del GC que reveló era real, y Perry v0.5.875 ahora empata con Bun en el mismo bench: 425 ms vs 431 ms.</description>
    </item>
    <item>
      <title>Auto-actualización, un inspector en vivo y el compilador que se redujo a la mitad</title>
      <link>https://www.perryts.com/es/blog/updater-live-inspector-and-compiler-refactor/</link>
      <guid>https://www.perryts.com/es/blog/updater-live-inspector-and-compiler-refactor/</guid>
      <pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.5.306 → v0.5.359 en cuatro días — 53 patch releases, ~30 issues cerradas y aterrizaron tres cosas grandes: perry/updater para auto-actualización en desktop, un inspector en vivo en localhost:7676 y un refactor del compilador que recortó los cuatro archivos más grandes entre un 33 y un 91 %.</description>
    </item>
    <item>
      <title>GC generacional, JSON perezoso y benchmarks que aguantan el escrutinio</title>
      <link>https://www.perryts.com/es/blog/gen-gc-lazy-json-and-defensible-benchmarks/</link>
      <guid>https://www.perryts.com/es/blog/gen-gc-lazy-json-and-defensible-benchmarks/</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.5.174 → v0.5.306 en tres días, más el trabajo de GC y JSON que aterrizó en paralelo. El GC generacional pasa a ser el predeterminado. La Small String Optimization pasa a ser predeterminada. La pipeline de JSON estrena una cinta perezosa que aterriza en 75 ms de mediana en validate-and-roundtrip — la mejor del pelotón de tipado dinámico. La página de benchmarks se reescribe con mediana RUNS=11 + p95 + σ, simdjson y AssemblyScript+json-as añadidos como pares, y cada debilidad de Perry expuesta con honestidad.</description>
    </item>
    <item>
      <title>Distribución en npm, perry dev y ganando cada benchmark</title>
      <link>https://www.perryts.com/es/blog/npm-perry-dev-and-beating-bun/</link>
      <guid>https://www.perryts.com/es/blog/npm-perry-dev-and-beating-bun/</guid>
      <pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.5.80 → v0.5.174 en seis días. @perryts/perry se publica en npm para las siete plataformas soportadas. perry dev añade recompilación automática en modo watch sobre una cache de AST en memoria y una cache de objetos en disco por módulo. json_roundtrip cierra su último hueco — Perry ahora gana cada benchmark tanto a Node.js como a Bun.</description>
    </item>
    <item>
      <title>Optimizarlo todo: una semana, 68 versiones y un acelerón JSON 547x</title>
      <link>https://www.perryts.com/es/blog/optimizing-everything/</link>
      <guid>https://www.perryts.com/es/blog/optimizing-everything/</guid>
      <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.5.13 → v0.5.80 en siete días. JSON.parse cierra una brecha 547x con Node. mimalloc aterriza como asignador global. Inline caches, transiciones de shape, slots de Buffer tipados, operaciones bitwise nativas en i32, scalar replacement y un event loop nativo que mantiene vivos los servidores Fastify y WebSocket.</description>
    </item>
    <item>
      <title>De Cranelift a LLVM: qué se rompió y cómo lo arreglamos</title>
      <link>https://www.perryts.com/es/blog/cranelift-to-llvm/</link>
      <guid>https://www.perryts.com/es/blog/cranelift-to-llvm/</guid>
      <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
      <description>La migración del backend de Perry de Cranelift a LLVM está completa. La transición inicial hizo los benchmarks 70x más lentos — esto es lo que se rompió y las seis optimizaciones específicas que lo arreglaron.</description>
    </item>
    <item>
      <title>tvOS, compilación cruzada de iOS desde Linux y Perry Login</title>
      <link>https://www.perryts.com/es/blog/tvos-cross-compile-and-perry-login/</link>
      <guid>https://www.perryts.com/es/blog/tvos-cross-compile-and-perry-login/</guid>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.4.24: tvOS como 10.º objetivo de compilación, compilación cruzada de iOS y macOS desde Linux vía ld64.lld, perry login con facturación por uso, renovación de la UI de Windows, notarización de macOS y 120 commits en 5 días.</description>
    </item>
    <item>
      <title>Multi-threading real, i18n en tiempo de compilación y watchOS</title>
      <link>https://www.perryts.com/es/blog/true-multithreading-i18n-and-watchos/</link>
      <guid>https://www.perryts.com/es/blog/true-multithreading-i18n-and-watchos/</guid>
      <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
      <description>Perry v0.4.0: hilos reales del sistema operativo con seguridad en tiempo de compilación, un sistema de internacionalización sin ceremonias para más de 30 idiomas, watchOS como 9.º objetivo de compilación, APIs de audio y cámara, y un pipeline de compilación en paralelo.</description>
    </item>
    <item>
      <title>Compilación cruzada a Windows, game loops en iOS y 100 % de paridad en tests</title>
      <link>https://www.perryts.com/es/blog/cross-compile-windows-game-loops-and-parity/</link>
      <guid>https://www.perryts.com/es/blog/cross-compile-windows-game-loops-and-parity/</guid>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <description>103 commits en una semana: compilación cruzada a Windows desde Linux vía lld-link, soporte de game loop en iOS, informes de fallos, un pipeline de build Hub en dos etapas y el compilador autoalojado alcanza 68/68 de paridad determinista en tests.</description>
    </item>
    <item>
      <title>El pipeline completo: documentación, distribución y WidgetKit</title>
      <link>https://www.perryts.com/es/blog/the-full-pipeline/</link>
      <guid>https://www.perryts.com/es/blog/the-full-pipeline/</guid>
      <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
      <description>82 commits en una semana: un sitio de documentación de 49 páginas, publicación automatizada en App Store y Play Store, paquetes Homebrew y APT, extensiones nativas de WidgetKit desde TypeScript, nuevos widgets, módulos http/https y un compilador LLVM autoalojado.</description>
    </item>
    <item>
      <title>De compilador a ecosistema: React, bases de datos y builds en la nube</title>
      <link>https://www.perryts.com/es/blog/from-compiler-to-ecosystem/</link>
      <guid>https://www.perryts.com/es/blog/from-compiler-to-ecosystem/</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <description>Perry crece de compilador a un ecosistema completo. perry/ui en el núcleo, ORMs compatibles con Prisma para MySQL/PostgreSQL/SQLite, notificaciones push universales, builds distribuidos con publicación en App Store y una capa de compatibilidad con React — todo en una semana.</description>
    </item>
    <item>
      <title>Las seis plataformas, paridad total de funcionalidades</title>
      <link>https://www.perryts.com/es/blog/all-six-platforms-ui-parity/</link>
      <guid>https://www.perryts.com/es/blog/all-six-platforms-ui-parity/</guid>
      <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
      <description>Más de 20 widgets UI nativos, un widget Canvas, vistas de tabla, notificaciones del sistema, acceso al llavero, soporte multi-ventana y paridad completa de funcionalidades en macOS, iOS, iPadOS, Android, Linux y Windows — todo desde un único código TypeScript.</description>
    </item>
    <item>
      <title>Los sistemas de plugins son un impuesto al rendimiento</title>
      <link>https://www.perryts.com/es/blog/plugin-systems-are-a-performance-tax/</link>
      <guid>https://www.perryts.com/es/blog/plugin-systems-are-a-performance-tax/</guid>
      <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
      <description>Las arquitecturas de plugins sacrifican rendimiento por extensibilidad. Pero ¿y si la extensibilidad ocurriera en tiempo de compilación en vez de en runtime? La composición en tiempo de compilación te da ambas cosas — cero overhead, máxima flexibilidad.</description>
    </item>
    <item>
      <title>Compilar Hono, tRPC y Strapi a binarios nativos</title>
      <link>https://www.perryts.com/es/blog/compiling-hono-trpc-strapi/</link>
      <guid>https://www.perryts.com/es/blog/compiling-hono-trpc-strapi/</guid>
      <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
      <description>Perry ahora compila tres grandes frameworks TypeScript — Hono, tRPC y Strapi — en ejecutables ARM64 nativos. Se compilan en menos de un segundo, producen binarios de menos de 2 MB y funcionan sin fallos.</description>
    </item>
    <item>
      <title>Construyendo Pry: un visor de JSON nativo en TypeScript</title>
      <link>https://www.perryts.com/es/blog/building-pry/</link>
      <guid>https://www.perryts.com/es/blog/building-pry/</guid>
      <pubDate>Thu, 20 Feb 2025 00:00:00 GMT</pubDate>
      <description>Un tutorial sobre la creación de Pry, un visor nativo JSON compilado a partir de TypeScript para código máquina con el tiempo de ejecución Perry y GC vinculado y sin vista web.</description>
    </item>
    <item>
      <title>UI nativa multiplataforma desde TypeScript</title>
      <link>https://www.perryts.com/es/blog/cross-platform-native-ui/</link>
      <guid>https://www.perryts.com/es/blog/cross-platform-native-ui/</guid>
      <pubDate>Sat, 01 Feb 2025 00:00:00 GMT</pubDate>
      <description>Cómo Perry asigna una base de código TypeScript a widgets de plataforma en sus objetivos documentados, incluidas las limitaciones y requisitos previos específicos de la plataforma.</description>
    </item>
    <item>
      <title>Presentamos Perry</title>
      <link>https://www.perryts.com/es/blog/introducing-perry/</link>
      <guid>https://www.perryts.com/es/blog/introducing-perry/</guid>
      <pubDate>Wed, 15 Jan 2025 00:00:00 GMT</pubDate>
      <description>Perry compila TypeScript en ejecutables nativos independientes con su tiempo de ejecución y GC vinculados, sin necesidad de un Node.js o motor JavaScript.</description>
    </item>
  </channel>
</rss>
