# PRNext 0.1.22-alpha: mucho más rendimiento

PRNext 0.1.22-alpha está disponible en npm. En nuestro benchmark de desarrollo con una tabla de mil filas, las solicitudes Flight por segundo se multiplican por 7,7, las de SSR por 3,97 y el payload Flight decodificado se reduce un 72,1 %. Las mediciones comparan la misma tabla con la optimización desactivada y activada.

El cambio es automático para los componentes de presentación compatibles. No hay que añadir «use presentation»: PRNext envía una estructura reutilizable y los valores mostrados, mantiene los cálculos en el servidor y conserva el HTML completo. Actualiza PRNext y vuelve a compilar la aplicación para utilizarlo.

## Hasta 7,7× las solicitudes Flight por segundo en nuestra prueba

La campaña de desarrollo sobre el código 270ae481 compara la misma tabla con la optimización desactivada y activada. Con mil filas, la mediana de rendimiento SSR pasa de 48,611 a 192,765 solicitudes por segundo, unas 3,97 veces. Flight pasa de 80,472 a 619,413, unas 7,70 veces. El p95 baja de 100,52 a 28,78 ms y de 61,65 a 8,806 ms.

El HTML de la tabla es idéntico. Flight decodificado pasa de 266 672 a 74 353 bytes, un 72,1 % menos. Con gzip baja un 36,1 %. El JavaScript codificado del navegador aumenta 606 bytes y requiere dos solicitudes adicionales.

La medición local utiliza Windows x64, Node 24.22.1, dos workers y cuatro conexiones en un PC compartido de 12 procesadores lógicos y 32 GiB. La campaña también incluye un escenario SSR de 100 filas. Tres pares alternos, con un segundo de calentamiento y tres de medición por ventana, suman 18 ventanas y 21 523 respuestas validadas sin errores. Ambas variantes usan el mismo binario nativo 0.1.21 recompilado. Son medidas del código de desarrollo, no de los archivos npm finales ni una comparación con Next.js. La memoria varía y la mejora del navegador no es concluyente. SQL, la lógica de negocio y el DOM no se aceleran siete veces.

## Transferir la estructura una vez

Flight transporta el resultado de los React Server Components al navegador. Si muchas filas comparten estructura, describir cada elemento puede costar más que sus datos visibles. PRNext reconoce ciertos componentes síncronos y puros, compila su marcado estático y utiliza una referencia cliente oficial de React con posiciones compactas. El protocolo y el decodificador Flight siguen siendo los de React.

El navegador descarga un pequeño módulo de presentación, así que sigue habiendo JavaScript que transferir y ejecutar. El servidor genera el HTML completo antes de cargarlo. Una lista pequeña o un valor incompatible puede usar la representación habitual sin sustituir su raíz DOM solo por cambiar de formato.

Las tablas de datos, los directorios y las listas largas de tarjetas de presentación pueden repetir mucho marcado. Separar esa estructura de los valores mostrados reduce el trabajo necesario para describir la interfaz en Flight. El servidor sigue ejecutando los cálculos y las autorizaciones de la aplicación; la mejora depende de cuánta presentación compatible deba transmitirse.

## Los cálculos privados permanecen en el servidor

En la ruta compacta, una expresión como row.revenue-row.privateCost se evalúa en el servidor. El navegador recibe el resultado mostrado, no ambos operandos ni la expresión original. Lo mismo ocurre con las condiciones que eligen texto. Los campos no utilizados no se convierten automáticamente en props del navegador.

La transformación no crea una caché compartida entre cuentas ni sustituye autorizaciones. La aplicación debe seguir autorizando los datos que muestra. Imports, hooks, efectos, componentes personalizados, controles interactivos, HTML sin procesar y atributos no verificados conservan la ruta habitual.

## Un alcance deliberadamente preciso

La compilación automática se aplica a builds Node de producción con App Router. Desarrollo, Pages, Edge y HTML sin hidratación conservan su comportamiento. Los pipelines webpack o JSX personalizados mantienen el renderizado habitual si no se puede demostrar su compatibilidad, incluidos hooks de plugins. No quite un plugin útil para aumentar la cobertura.

El archivo .prnext/presentation-report.json explica decisiones del compilador, no la proporción real de solicitudes compactadas. La validación distingue una carga compacta compatible de un SaaS PostgreSQL autenticado con su pipeline de traducción, cuyo renderizado habitual se conserva. Un diagnóstico de veinte minutos es distinto de la campaña de dos horas.

## Actualizar y comprobar la aplicación

Conserve el código, lockfile, configuración y despliegue anteriores para revertir. Instale la versión, reconstruya la aplicación y reinicie sus workers con versiones coincidentes del framework y del paquete nativo. Sustituir archivos bajo un proceso activo no actualiza el código cargado.

Para comparar su aplicación, configure presentationComponents: false en prnext.config.mjs y reconstruya ambas variantes. Compruebe hidratación, navegación, cambios de cuenta, formularios, cancelación de streams y una pestaña abierta durante despliegue y reversión. Las mutaciones obsoletas deben rechazarse sin repetición automática. PRNext sigue siendo una alpha con compatibilidad parcial con Next.js: el resultado de su aplicación es el que cuenta.

```sh
npm install @thomas.f/prnext@0.1.22-alpha
npx --no-install prnext check --production --json
npx --no-install prnext build
```

[Implementación y alcance](https://github.com/Lorkydey/PRNext/pull/64)

[Guía de actualización](https://github.com/Lorkydey/PRNext/blob/main/docs/UPGRADING-0.1.22.md)

Publicado: 2026-11-08

Modificado: 2026-11-08

Autor: PRNext

---

Idioma: es

Canonical: https://prnext.dev/es/blog/prnext-0-1-22-presentacion-flight-automatica

Index: https://prnext.dev/llms.txt
