Construyendo un Sitio Web Rápido para Cada Visitante

Rate this content
Bookmark

Aprende cómo construir aplicaciones web rápidas y adaptativas que respondan dinámicamente a las condiciones y el contexto del usuario en esta charla informativa. Descubre los principios y técnicas detrás del diseño adaptativo, incluyendo diseños responsivos e interacciones dinámicas, optimizadas para diferentes navegadores, fortalezas de dispositivos, velocidades de internet, tamaños de pantalla y preferencias del usuario. Explora el papel de la toma de decisiones basada en datos y la analítica de usuarios para adaptar contenido y características de manera rápida y eficiente basándose en estas variables. Obtén ideas prácticas sobre la implementación de aplicaciones web rápidas y adaptativas utilizando varias tecnologías y frameworks. Comprende la importancia de las pruebas de usuario y los ciclos de retroalimentación en la mejora de la aplicación para una experiencia de usuario fluida y rápida. Sal con estrategias accionables para crear experiencias web personalizadas y de alto rendimiento que impulsen el compromiso y el éxito.

This talk has been presented at React Advanced 2024, check out the latest edition of this React Conference.

Medhat Dawoud
Medhat Dawoud
31 min
25 Oct, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla se centra en construir un sitio web rápido y accesible para todos los usuarios, destacando la importancia de la optimización del rendimiento y la experiencia del usuario. Se enfatiza la necesidad de una implementación adaptativa para atender a diferentes dispositivos y condiciones del usuario. La charla también discute los factores que están más allá del control del desarrollador, como el tamaño de la pantalla, navegadores, dispositivos, conexión a internet y posición al sentarse. Se destaca la importancia de optimizar los componentes de imagen para varios dispositivos y el papel del soporte del navegador y los motores de renderizado. El orador discute el uso de futuras APIs y los desafíos de la compatibilidad del navegador, así como la optimización de formatos de imagen y la compatibilidad del bundler. La charla proporciona ideas sobre el control de la compatibilidad del bundler y del dispositivo, la optimización del uso de la CPU, la conexión a internet y el envío de formularios en JavaScript. Concluye con una propuesta para responder con guardar datos en lugar de tipo efectivo para conexiones a internet limitadas y recomienda usar React con hooks adaptativos para mejores experiencias de usuario. En general, la charla cubre aspectos esenciales de la construcción de un sitio web rápido y accesible.

1. Building a Fast and Accessible Website

Short description:

Hola a todos. Esta charla trata sobre construir un sitio web rápido y accesible para cada visitante. No podemos controlar varios aspectos de la experiencia de navegación del usuario, como el tamaño de la pantalla, la conexión a Internet, la versión del navegador y la potencia del dispositivo. Como desarrolladores, tenemos el privilegio de usar la última tecnología, pero hay una cosa que no deberíamos simular: la posición de sentado del usuario. Construir un sitio web rápido es esencial, pero la accesibilidad es igualmente importante. Permítanme presentarme como Mehtad Dawood, un ingeniero de software senior en Miro y un experto desarrollador de Google en rendimiento.

Hola a todos. Es muy bueno estar aquí por primera vez hablando en el Reino Unido. Así que hola, Londres. Y hola a las personas que nos ven en línea y a las personas que van a vernos más tarde en la grabación también.

Esta charla, como advertencia, es un poco más larga. Así que si quieren encontrarme para hacer preguntas más tarde, si no pude recoger algo en el escenario, por favor encuéntrenme de todos modos, no solo después, durante el día estaré disponible.

Esta charla trata sobre construir un sitio web rápido para cada visitante. Y cada visitante es una parte que voy a enfatizar hoy. Y comenzaré con una pregunta rápida. ¿Qué hace que un usuario web sea tan especial, tan desafiante? Responderé a esta. Así que tenemos algunas cosas que no podemos controlar como desarrolladores web o ingenieros, especialmente dónde van a navegar por su sitio web, en qué tamaño de pantalla, qué conexión a Internet, incluso sin conexión a Internet a veces, qué navegador, ni siquiera qué navegador, qué versión del navegador, no podemos controlar eso. Y también qué dispositivo están usando, qué tan fuerte o débil es el dispositivo que están usando. Ni siquiera podemos controlar cómo están sentados navegando por su sitio web, ¿verdad?

Por otro lado, los desarrolladores somos muy privilegiados. Deberíamos sentir eso porque siempre usamos la última tecnología, los últimos dispositivos, y lo necesitamos. Hay una razón para eso. Estamos ejecutando muchas cosas difíciles y usualmente estamos usando el mejor Internet, digamos. Y tendemos a usar la última versión de cualquier navegador para poder aprovechar cualquier UI. Sin embargo, hay solo una cosa para la que estamos simulando al usuario, y no deberíamos, que es la posición de sentado. Esta es la única cosa que no necesitamos, pero ahí lo tienes.

Así que no solo necesitamos construir un sitio web rápido para cada visitante, también necesitamos que sea más accesible. Todo se trata de accesibilidad aquí. No se trata solo de ser rápido. Rápido es solo un factor de eso.

Así que permítanme presentarme. Gracias Matim por dar una introducción. Mi nombre es Mehtad Dawood. Soy un ingeniero de software senior trabajando para Miro. Y también soy un experto desarrollador de Google en rendimiento. Si les gusta lo que ven hoy, pueden seguirme en Twitter o encontrar algunos artículos que estoy escribiendo en mi blog. Así que volvamos a lo que hacemos.

2. Optimizing Performance and User Experience

Short description:

El rendimiento depende de la percepción del usuario. Diferentes modos de transporte pueden parecer más rápidos o más lentos dependiendo de la perspectiva del observador. Para medir el rendimiento, hay dos maneras: pruebas de laboratorio, que simulan la experiencia del usuario pero no son precisas, y pruebas de campo o monitoreo real del usuario, que proporcionan información detallada sobre el comportamiento del usuario y la distribución de dispositivos. Es importante personalizar la experiencia del sitio web según las necesidades del usuario y optimizar para la accesibilidad. Elige un objetivo y apunta a construir una gran experiencia de usuario.

El rendimiento solo depende de la percepción del usuario. No hay nada que puedas percibir similar a lo que yo puedo percibir. Así que imagina que estás en un monopatín y has visto a alguien con una bicicleta. ¿Qué sentirías? Él es más rápido que tú, ¿verdad? Y si estás en una bicicleta y ves a alguien en un coche, él sigue siendo, esto es más rápido que tú. Pero si estás en el coche y ves a alguien en un Ferrari, sentirás que todavía él es más rápido. Así que realmente depende de dónde estés. Cada vez que estás a la derecha y te mueves a la izquierda, sientes que esto es más rápido y todo al revés. Si estás en el coche, sentirás que el ciclista es incluso más lento. Así que solo para asegurarte de que entiendes esto. Entonces, ¿una moto o motocicleta sería más rápida o más lenta? Realmente depende de dónde estés. ¿Verdad? Así que para esas personas, sentirás que, está bien, esto es relativamente más lento. Está bien. Y para esas personas que sentirán que esto es rápido. Así que necesitamos aprender cómo y dónde está el usuario.

Así que para medir el rendimiento, simplemente tenemos dos formas básicas. La primera es la prueba de laboratorio, que es simular cómo el usuario va a experimentar esto, y debes tener suficientes datos para decidir si es rápido o lento, cómo están haciendo eso. Y esto no es preciso. Realmente depende nuevamente de tus grandes dispositivos que estás usando. Tienes un M1, buscas un M2 o M3 y el comportamiento basado en pruebas de laboratorio para un M3 es diferente que un Intel. Estoy hablando por experiencia y la otra forma, que me interesa más hoy, que es la prueba de campo o también conocida como prueba de Rome, monitoreo real del usuario. Y para esta, obtienes toneladas de información, incluyendo core vitals, diferentes métricas. También obtienes la distribución de dispositivos. También obtienes la distribución de la conexión. Y te sorprenderás si ejecutas esto en tu sitio web o cualquier aplicación que estés construyendo. Encontrarás que muchas personas todavía están usando 3G o 2G, por lo que no es muy accesible para ellos. Y basado en esta información, reconocerás que no hay una talla única para todos. Tienes que hacerlo muy personalizado para el usuario y cómo están sintiendo tu sitio web. Todo se trata de percepción nuevamente. Así que necesitas elegir un objetivo. Ya sea que lo construyas para las mejores condiciones del usuario y construyas la gloriosa experiencia de usuario.

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 2022React Advanced 2022
25 min
Una Guía del Comportamiento de Renderizado de React
Top Content
This transcription provides a brief guide to React rendering behavior. It explains the process of rendering, comparing new and old elements, and the importance of pure rendering without side effects. It also covers topics such as batching and double rendering, optimizing rendering and using context and Redux in React. Overall, it offers valuable insights for developers looking to understand and optimize React rendering.
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
Mishko, the creator of Angular and AngularJS, discusses the challenges of website performance and JavaScript hydration. He explains the differences between client-side and server-side rendering and introduces Quik as a solution for efficient component hydration. Mishko demonstrates examples of state management and intercommunication using Quik. He highlights the performance benefits of using Quik with React and emphasizes the importance of reducing JavaScript size for better performance. Finally, he mentions the use of QUIC in both MPA and SPA applications for improved startup performance.
Concurrencia en React, Explicada
React Summit 2023React Summit 2023
23 min
Concurrencia en React, Explicada
Top Content
React 18's concurrent rendering, specifically the useTransition hook, optimizes app performance by allowing non-urgent updates to be processed without freezing the UI. However, there are drawbacks such as longer processing time for non-urgent updates and increased CPU usage. The useTransition hook works similarly to throttling or bouncing, making it useful for addressing performance issues caused by multiple small components. Libraries like React Query may require the use of alternative APIs to handle urgent and non-urgent updates effectively.
El Futuro de las Herramientas de Rendimiento
JSNation 2022JSNation 2022
21 min
El Futuro de las Herramientas de Rendimiento
Top Content
Today's Talk discusses the future of performance tooling, focusing on user-centric, actionable, and contextual approaches. The introduction highlights Adi Osmani's expertise in performance tools and his passion for DevTools features. The Talk explores the integration of user flows into DevTools and Lighthouse, enabling performance measurement and optimization. It also showcases the import/export feature for user flows and the collaboration potential with Lighthouse. The Talk further delves into the use of flows with other tools like web page test and Cypress, offering cross-browser testing capabilities. The actionable aspect emphasizes the importance of metrics like Interaction to Next Paint and Total Blocking Time, as well as the improvements in Lighthouse and performance debugging tools. Lastly, the Talk emphasizes the iterative nature of performance improvement and the user-centric, actionable, and contextual future of performance tooling.
How React Compiler Performs on Real Code
React Advanced 2024React Advanced 2024
31 min
How React Compiler Performs on Real Code
Top Content
I'm Nadia, a developer experienced in performance, re-renders, and React. The React team released the React compiler, which eliminates the need for memoization. The compiler optimizes code by automatically memoizing components, props, and hook dependencies. It shows promise in managing changing references and improving performance. Real app testing and synthetic examples have been used to evaluate its effectiveness. The impact on initial load performance is minimal, but further investigation is needed for interactions performance. The React query library simplifies data fetching and caching. The compiler has limitations and may not catch every re-render, especially with external libraries. Enabling the compiler can improve performance but manual memorization is still necessary for optimal results. There are risks of overreliance and messy code, but the compiler can be used file by file or folder by folder with thorough testing. Practice makes incredible cats. Thank you, Nadia!
Depuración de JS
React Summit 2023React Summit 2023
24 min
Depuración de JS
Top Content
Debugging JavaScript is a crucial skill that is often overlooked in the industry. It is important to understand the problem, reproduce the issue, and identify the root cause. Having a variety of debugging tools and techniques, such as console methods and graphical debuggers, is beneficial. Replay is a time-traveling debugger for JavaScript that allows users to record and inspect bugs. It works with Redux, plain React, and even minified code with the help of source maps.

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 🤐)
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.
Construye Aplicaciones Modernas Utilizando GraphQL y Javascript
Node Congress 2024Node Congress 2024
152 min
Construye Aplicaciones Modernas Utilizando GraphQL y Javascript
Featured Workshop
Emanuel Scirlet
Miguel Henriques
2 authors
Ven y aprende cómo puedes potenciar tus aplicaciones modernas y seguras utilizando GraphQL y Javascript. En este masterclass construiremos una API de GraphQL y demostraremos los beneficios del lenguaje de consulta para APIs y los casos de uso para los que es adecuado. Se requiere conocimiento básico de Javascript.
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
Construyendo una Aplicación de Shopify con React & Node
React Summit Remote Edition 2021React Summit Remote Edition 2021
87 min
Construyendo una Aplicación de Shopify con React & Node
Top Content
WorkshopFree
Jennifer Gray
Hanna Chen
2 authors
Los comerciantes de Shopify tienen un conjunto diverso de necesidades, y los desarrolladores tienen una oportunidad única para satisfacer esas necesidades construyendo aplicaciones. Construir una aplicación puede ser un trabajo duro, pero Shopify ha creado un conjunto de herramientas y recursos para ayudarte a construir una experiencia de aplicación sin problemas lo más rápido posible. Obtén experiencia práctica construyendo una aplicación integrada de Shopify utilizando el CLI de la aplicación Shopify, Polaris y Shopify App Bridge.Te mostraremos cómo crear una aplicación que acceda a la información de una tienda de desarrollo y pueda ejecutarse en tu entorno local.
Depuración del Rendimiento de React
React Advanced 2023React Advanced 2023
148 min
Depuración del Rendimiento de React
Workshop
Ivan Akulov
Ivan Akulov
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Veía una interacción lenta, probaba una optimización aleatoria, veía que no ayudaba, y seguía probando 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. Hacía una grabación en Chrome DevTools o React Profiler, la examinaba, intentaba hacer clic en cosas al azar, y luego la cerraba 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 cómo 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, cubriremos el rendimiento de interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)