Mejora la velocidad y eficiencia de tu sitio web con Partytown

Rate this content
Bookmark

¡Desata todo el potencial de tu sitio web con Partytown! Di adiós a las páginas lentas y a las bajas puntuaciones de Lighthouse causadas por scripts de terceros pesados. Con Partytown, tu hilo principal se dedica únicamente a tu código, liberándolo para que se ejecute de manera más suave, rápida y eficiente que nunca. Potencia tu sitio web con un rendimiento ultrarrápido moviendo todos los scripts no críticos a un web worker, donde se ejecutarán sin problemas en segundo plano. Prepárate para alcanzar el siguiente nivel de rendimiento web con Partytown.

FAQ

PartyTown es una herramienta que permite ejecutar scripts de terceros en un web worker, liberando así el hilo principal de la interfaz de usuario para que maneje el código del usuario. Esto minimiza las posibilidades de que los scripts de terceros bloqueen el hilo principal y mejoren el rendimiento general de la interfaz de usuario.

JavaScript puede ralentizar un sitio web debido a scripts pesados y sobrecargados, interactividad cronometrada, carga de red aumentada y manipulación excesiva del DOM. Estos elementos pueden bloquear el hilo principal, deteriorando la experiencia del usuario.

PartyTown mejora significativamente el rendimiento al ejecutar scripts de terceros desde un web worker, lo que resulta en una mejor puntuación de rendimiento en herramientas como Lighthouse. Por ejemplo, una página que normalmente tendría una puntuación baja debido a scripts pesados, puede alcanzar una puntuación perfecta cuando estos se manejan a través de PartyTown.

En PartyTown, los scripts de terceros se ejecutan dentro de web workers mediante el cambio del atributo 'type' del elemento script a un valor no reconocido por el navegador, como 'text/partytown', lo que permite que estos scripts se ejecuten de manera aislada del hilo principal.

Una limitación de PartyTown es que no puede modificar el código de los scripts de terceros y debe gestionar la comunicación asincrónica entre el web worker y el hilo principal. Esto puede complicar la integración y el rendimiento de operaciones que dependen de acceso síncrono al DOM.

Para el análisis de rendimiento en producción, se recomienda usar herramientas que incorporan métricas de usuarios reales, como PageSpeed Insights, webpagetest.org y speedcurve.com, ofreciendo una perspectiva más precisa de la experiencia real del usuario.

Los scripts de terceros compiten por recursos con el código propio del sitio en el hilo principal, lo que puede llevar a una degradación del rendimiento al interferir con la ejecución fluida del código propio y causar fragmentación del diseño.

Para integrar PartyTown, simplemente cambia el atributo 'type' de los scripts que desees ejecutar en un web worker a 'text/partytown'. Esto no requiere cargadores o preprocesadores y es compatible con cualquier tecnología web, facilitando su adopción en diversos proyectos.

PartyTown mejora la experiencia del usuario al reducir el tiempo de bloqueo del hilo principal, permite una mayor personalización sobre qué scripts ejecutar en el hilo de fondo y mejora las tasas de conversión del sitio al acelerar los tiempos de carga de la página.

Adam Bradley
Adam Bradley
20 min
06 Jun, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La charla de hoy trata sobre cómo mejorar la velocidad y eficiencia del sitio utilizando PartyTown, una herramienta que ejecuta scripts de terceros desde un web worker, minimizando su impacto en el hilo principal de la interfaz de usuario. La inclusión de scripts de terceros en las páginas web debe considerarse cuidadosamente debido a su posible impacto en el rendimiento. Las pruebas en el mundo real son cruciales para identificar problemas de rendimiento que pueden no aparecer durante el desarrollo. PartyTown ofrece funciones como la capacidad de incluir scripts en una lista blanca y es compatible con varios frameworks para una integración sencilla. Fue desarrollado por el equipo de builder.io para garantizar que los sitios web puedan escalar sin sacrificar el rendimiento.

1. Introducción a la velocidad y eficiencia del sitio

Short description:

Hoy discutiremos cómo mejorar la velocidad y eficiencia del sitio utilizando PartyTown. JavaScript es un gran contribuyente a las páginas web lentas, causando problemas como mayor interactividad, carga de red, manipulación del DOM y bloqueo de hilos. Los sitios web más rápidos conducen a tasas de conversión más altas, respaldadas por estudios de casos. Si bien hay muchos consejos sobre cómo optimizar el código, los scripts de terceros suelen ser los principales culpables de los problemas de rendimiento. Estos scripts, como Google Analytics y Optimizely, pueden agregar solicitudes HTTP, bloquear la representación de la página y consumir recursos. Las organizaciones deben equilibrar los beneficios de los scripts de terceros con sus consecuencias en el rendimiento.

♪♪ Hoy estoy muy emocionado de hablar sobre cómo mejorar la velocidad y eficiencia de tu sitio utilizando PartyTown. Mi nombre es Adam Bradley. Soy director de tecnología de código abierto en Build.io. Otros proyectos de código abierto en los que he participado incluyen Ionic y Stencil. Y me divierto mucho trabajando en otro proyecto de código abierto de Builder llamado Quick.

Así que primero sumerjámonos en cuál es el problema. La respuesta corta es, bueno, es JavaScript. JavaScript es uno de los mayores contribuyentes a las páginas web lentas. A menudo se puede generalizar que cuanto más JavaScript se agrega a una página, más lenta es para el usuario. Ahora, la razón por la que JavaScript puede ralentizar una página varía por muchas razones diferentes. Pero algunos de los problemas más comunes provienen de los scripts pesados y sobrecargados que incluyen la interactividad cronometrada aumentada, la carga de red aumentada, la manipulación excesiva del DOM que los archivos JavaScript pueden hacer, y también cómo JavaScript puede bloquear el hilo principal.

La investigación muestra que cuanto más rápido es el sitio web, más altas son las tasas de conversión, independientemente de cuál sea la métrica de conversión. Y hay muchos estudios de casos bien documentados que proporcionan evidencia para respaldar esta afirmación. Y esta es solo una pequeña muestra de estudios de casos que profundizan en por qué importa el rendimiento. Pero profundicemos un poco más en lo que podemos hacer para mejorar el rendimiento y, en última instancia, mejorar las tasas de conversión de tu sitio. Ahora la web está llena de todo tipo de consejos sobre cómo mejorar el rendimiento de JavaScript, lo que puede ser un poco abrumador. Las numerosas optimizaciones ponen presión en los desarrolladores, y se centra a menudo en cómo mejorar tu código. Sin embargo, incluso con un código óptimo, aún hay problemas de rendimiento que abordar. Así que como puedes ver aquí, esta es solo una pequeña lista de cosas que a menudo aparecen en los resultados de búsqueda, como esto es lo que debes hacer con tu código. Así que recuerda esa parte.

Sin embargo, el mayor culpable del rendimiento del sitio web a menudo proviene de los scripts de terceros. Los scripts de primera parte son tu código, el código sobre el que tienes control y puedes mejorar. Sin embargo, los scripts de terceros se refieren a código externo que un sitio web carga desde un dominio y servidor diferente, sobre los cuales el propietario del sitio web no tiene control, o acceso directo para mejorar. Es código que se ejecuta en tu sitio, en la misma ventana y documento, pero no tienes control sobre él. Un ejemplo común de scripts de terceros incluye Google Analytics, Google Tag Manager, Optimizely, Hotjar y muchos otros. Si bien los scripts de terceros se utilizan a menudo para proporcionar funcionalidad valiosa y recopilación de datos, también tienen muchos problemas. Pueden agregar solicitudes HTTP adicionales que pueden llevar a tiempos de carga de página más largos, o bloquear la representación de la página principal, lo que puede resultar en una mala experiencia de usuario. Los scripts de terceros también pueden ser intensivos en recursos, utilizando valiosos recursos de CPU y memoria, lo que también puede llevar a tiempos de carga de página más lentos, especialmente en dispositivos móviles. A pesar de todos estos problemas, las organizaciones a menudo tienen razones válidas para incluir scripts de terceros, ya que los datos que proporcionan ayudan a tomar decisiones comerciales en toda la organización. Sin embargo, es importante sopesar los beneficios frente a las posibles consecuencias de rendimiento al cargar demasiados scripts de terceros.

2. Impacto de los Scripts de Terceros

Short description:

Es importante considerar cuidadosamente la inclusión de scripts de terceros en tu página web. Estudios recientes muestran un aumento en el número de scripts de terceros cargados en dispositivos móviles. Cuantos más scripts de primera parte tenga un sitio web, es más probable que agreguen scripts de terceros para funcionalidad adicional y recopilación de datos. Los desarrolladores deben considerar el impacto de los scripts de terceros en el rendimiento y evaluar su uso.

Por lo tanto, es importante considerar cuidadosamente cuáles debes y no debes incluir en tu página web. Ahora, estudios recientes han demostrado que el número de scripts de terceros cargados en un dispositivo móvil está aumentando. Según el HTTP Archive, un dispositivo móvil solicita 10 scripts de terceros y 9 scripts de primera parte, lo cual es un aumento significativo con respecto a años anteriores, y la tendencia solo se espera que continúe. Y cuando llegamos al percentil 90, las páginas móviles solicitan 34 scripts de terceros y 33 scripts de primera parte. Por lo tanto, cuantos más scripts de primera parte tenga un sitio web, es más probable que agreguen scripts de terceros para proporcionar funcionalidad adicional y recopilar más data. Por lo tanto, es importante que los desarrolladores consideren el impacto de los scripts de terceros en el rendimiento de una página webperformance y evalúen cuidadosamente su uso.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Una Guía del Comportamiento de Renderizado de React
React Advanced Conference 2022React Advanced Conference 2022
25 min
Una Guía del Comportamiento de Renderizado de React
Top Content
React es una biblioteca para "renderizar" UI a partir de componentes, pero muchos usuarios se encuentran confundidos acerca de cómo funciona realmente el renderizado de React. ¿Qué significan términos como "renderizado", "reconciliación", "Fibers", y "committing"? ¿Cuándo ocurren los renderizados? ¿Cómo afecta el Contexto al renderizado, y cómo las bibliotecas como Redux causan actualizaciones? En esta charla, aclararemos la confusión y proporcionaremos una base sólida para entender cuándo, por qué, y cómo React renderiza. Veremos: - Qué es realmente el "renderizado" - Cómo React encola los renderizados y el comportamiento de renderizado estándar - Cómo se utilizan las claves y los tipos de componentes en el renderizado - Técnicas para optimizar el rendimiento del renderizado - Cómo el uso del contexto afecta al comportamiento del renderizado - Cómo las bibliotecas externas se integran en el renderizado de React
No resuelvas problemas, elimínalos
React Advanced Conference 2021React Advanced Conference 2021
39 min
No resuelvas problemas, elimínalos
Top Content
Los humanos son solucionadores de problemas naturales y somos lo suficientemente buenos en eso que hemos sobrevivido a lo largo de los siglos y nos hemos convertido en la especie dominante del planeta. Debido a que somos tan buenos en eso, a veces también nos convertimos en buscadores de problemas, buscando problemas que podemos resolver. Aquellos que logran sus objetivos de la manera más exitosa son los eliminadores de problemas. Hablemos de la distinción entre resolver y eliminar problemas con ejemplos de dentro y fuera del mundo de la codificación.
Uso efectivo de useEffect
React Advanced Conference 2022React Advanced Conference 2022
30 min
Uso efectivo de useEffect
Top Content
¿Puede useEffect afectar negativamente a tu base de código? Desde la obtención de datos hasta la lucha con las APIs imperativas, los efectos secundarios son una de las mayores fuentes de frustración en el desarrollo de aplicaciones web. Y seamos honestos, poner todo en ganchos useEffect no ayuda mucho. En esta charla, desmitificaremos el gancho useEffect y obtendremos una mejor comprensión de cuándo (y cuándo no) usarlo, así como descubriremos cómo los efectos declarativos pueden hacer que la gestión de efectos sea más mantenible incluso en las aplicaciones React más complejas.
Acelerando tu aplicación React con menos JavaScript
React Summit 2023React Summit 2023
32 min
Acelerando tu aplicación React con menos JavaScript
Top Content
¿Demasiado JavaScript te está agobiando? Los nuevos marcos que prometen no usar JavaScript parecen interesantes, pero tienes una aplicación React existente que mantener. ¿Qué tal si Qwik React es tu respuesta para un inicio de aplicaciones más rápido y una mejor experiencia de usuario? Qwik React te permite convertir fácilmente tu aplicación React en una colección de islas, que pueden ser renderizadas en el servidor y rehidratadas con retraso, e incluso en algunos casos, se puede omitir la rehidratación por completo. Y todo esto de manera incremental sin una reescritura.
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
React Advanced Conference 2021React Advanced Conference 2021
47 min
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
Top Content
Los sistemas de diseño buscan aportar consistencia al diseño de una marca y hacer que el desarrollo de la interfaz de usuario sea productivo. Las bibliotecas de componentes con una API bien pensada pueden facilitar esto. Pero, ¡a veces una elección de API puede accidentalmente sobrepasar y ralentizar al equipo! Hay un equilibrio allí... en algún lugar. Exploremos algunos de los problemas y posibles soluciones creativas.
Concurrencia en React, Explicada
React Summit 2023React Summit 2023
23 min
Concurrencia en React, Explicada
Top Content
¡React 18! ¡Funciones concurrentes! Tal vez ya hayas probado las nuevas APIs como useTransition, o tal vez solo hayas oído hablar de ellas. Pero, ¿sabes cómo React 18 logra las mejoras de rendimiento que trae consigo? En esta charla, echemos un vistazo bajo el capó de las características de rendimiento de React 18: - Cómo React 18 reduce el tiempo que tu página permanece congelada (también conocido como TBT) - Qué sucede exactamente en el hilo principal cuando ejecutas useTransition() - Cuál es la trampa con las mejoras (¡no hay torta gratis!), y por qué Vue.js y Preact se negaron rotundamente a lanzar algo similar

Workshops on related topic

Masterclass de Depuración de Rendimiento de React
React Summit 2023React Summit 2023
170 min
Masterclass de Depuración de Rendimiento de React
Top Content
Featured WorkshopFree
Ivan Akulov
Ivan Akulov
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Vería una interacción lenta, intentaría una optimización aleatoria, vería que no ayudaba, y seguiría intentando otras optimizaciones hasta que encontraba la correcta (o se rendía).
En aquel entonces, Ivan no sabía cómo usar bien las herramientas de rendimiento. Haría una grabación en Chrome DevTools o React Profiler, la examinaría, intentaría hacer clic en cosas aleatorias, y luego la cerraría frustrado unos minutos después. Ahora, Ivan sabe exactamente dónde y qué buscar. Y en esta masterclass, Ivan te enseñará eso también.
Así es como va a funcionar. Tomaremos una aplicación lenta → la depuraremos (usando herramientas como Chrome DevTools, React Profiler, y why-did-you-render) → identificaremos el cuello de botella → y luego repetiremos, varias veces más. No hablaremos de las soluciones (en el 90% de los casos, es simplemente el viejo y regular useMemo() o memo()). Pero hablaremos de todo lo que viene antes - y aprenderemos a analizar cualquier problema de rendimiento de React, paso a paso.
(Nota: Esta masterclass es más adecuada para ingenieros que ya están familiarizados con cómo funcionan useMemo() y memo() - pero quieren mejorar en el uso de las herramientas de rendimiento alrededor de React. Además, estaremos cubriendo el rendimiento de la interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)
Consejos sobre React Hooks que solo los profesionales conocen
React Summit Remote Edition 2021React Summit Remote Edition 2021
177 min
Consejos sobre React Hooks que solo los profesionales conocen
Top Content
Featured Workshop
Maurice de Beijer
Maurice de Beijer
La adición de la API de hooks a React fue un cambio bastante importante. Antes de los hooks, la mayoría de los componentos tenían que ser basados en clases. Ahora, con los hooks, estos son a menudo componentes funcionales mucho más simples. Los hooks pueden ser realmente simples de usar. Casi engañosamente simples. Porque todavía hay muchas formas en las que puedes equivocarte con los hooks. Y a menudo resulta que hay muchas formas en las que puedes mejorar tus componentes con una mejor comprensión de cómo se puede usar cada hook de React.Aprenderás todo sobre los pros y los contras de los diversos hooks. Aprenderás cuándo usar useState() versus useReducer(). Veremos cómo usar useContext() de manera eficiente. Verás cuándo usar useLayoutEffect() y cuándo useEffect() es mejor.
React, TypeScript y TDD
React Advanced Conference 2021React Advanced Conference 2021
174 min
React, TypeScript y TDD
Top Content
Featured WorkshopFree
Paul Everitt
Paul Everitt
ReactJS es extremadamente popular y, por lo tanto, ampliamente soportado. TypeScript está ganando popularidad y, por lo tanto, cada vez más soportado.

¿Los dos juntos? No tanto. Dado que ambos cambian rápidamente, es difícil encontrar materiales de aprendizaje precisos.

¿React+TypeScript, con los IDEs de JetBrains? Esa combinación de tres partes es el tema de esta serie. Mostraremos un poco sobre mucho. Es decir, los pasos clave para ser productivo, en el IDE, para proyectos de React utilizando TypeScript. En el camino, mostraremos el desarrollo guiado por pruebas y enfatizaremos consejos y trucos en el IDE.
Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
React Summit 2023React Summit 2023
151 min
Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
Top Content
Featured Workshop
Josh Justice
Josh Justice
La Biblioteca de Pruebas de React es un gran marco para las pruebas de componentes de React porque responde muchas preguntas por ti, por lo que no necesitas preocuparte por esas preguntas. Pero eso no significa que las pruebas sean fáciles. Todavía hay muchas preguntas que tienes que resolver por ti mismo: ¿Cuántas pruebas de componentes debes escribir vs pruebas de extremo a extremo o pruebas de unidad de nivel inferior? ¿Cómo puedes probar una cierta línea de código que es difícil de probar? ¿Y qué se supone que debes hacer con esa persistente advertencia de act()?
En esta masterclass de tres horas, presentaremos la Biblioteca de Pruebas de React junto con un modelo mental de cómo pensar en el diseño de tus pruebas de componentes. Este modelo mental te ayudará a ver cómo probar cada bit de lógica, si debes o no simular dependencias, y ayudará a mejorar el diseño de tus componentes. Te irás con las herramientas, técnicas y principios que necesitas para implementar pruebas de componentes de bajo costo y alto valor.
Tabla de contenidos- Los diferentes tipos de pruebas de aplicaciones de React, y dónde encajan las pruebas de componentes- Un modelo mental para pensar en las entradas y salidas de los componentes que pruebas- Opciones para seleccionar elementos DOM para verificar e interactuar con ellos- El valor de los mocks y por qué no deben evitarse- Los desafíos con la asincronía en las pruebas de RTL y cómo manejarlos
Requisitos previos- Familiaridad con la construcción de aplicaciones con React- Experiencia básica escribiendo pruebas automatizadas con Jest u otro marco de pruebas unitarias- No necesitas ninguna experiencia con la Biblioteca de Pruebas de React- Configuración de la máquina: Node LTS, Yarn
Construyendo aplicaciones web que iluminan Internet con QwikCity
JSNation 2023JSNation 2023
170 min
Construyendo aplicaciones web que iluminan Internet con QwikCity
Featured WorkshopFree
Miško Hevery
Miško Hevery
Construir aplicaciones web instantáneas a gran escala ha sido elusivo. Los sitios del mundo real necesitan seguimiento, análisis y interfaces y interacciones de usuario complejas. Siempre comenzamos con las mejores intenciones pero terminamos con un sitio menos que ideal.
QwikCity es un nuevo meta-framework que te permite construir aplicaciones a gran escala con un rendimiento de inicio constante. Veremos cómo construir una aplicación QwikCity y qué la hace única. El masterclass te mostrará cómo configurar un proyecto QwikCity. Cómo funciona el enrutamiento con el diseño. La aplicación de demostración obtendrá datos y los presentará al usuario en un formulario editable. Y finalmente, cómo se puede utilizar la autenticación. Todas las partes básicas para cualquier aplicación a gran escala.
En el camino, también veremos qué hace que Qwik sea único y cómo la capacidad de reanudación permite un rendimiento de inicio constante sin importar la complejidad de la aplicación.
Next.js 13: Estrategias de Obtención de Datos
React Day Berlin 2022React Day Berlin 2022
53 min
Next.js 13: Estrategias de Obtención de Datos
Top Content
WorkshopFree
Alice De Mauro
Alice De Mauro
- Introducción- Prerrequisitos para la masterclass- Estrategias de obtención: fundamentos- Estrategias de obtención – práctica: API de obtención, caché (estática VS dinámica), revalidar, suspense (obtención de datos en paralelo)- Prueba tu construcción y sírvela en Vercel- Futuro: Componentes de servidor VS Componentes de cliente- Huevo de pascua de la masterclass (no relacionado con el tema, destacando la accesibilidad)- Conclusión