Elevando la Privacidad y Accesibilidad

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2025
November 18 - 21, 2025
New York, US & Online
The biggest React conference in the US
Learn More
In partnership with Focus Reactive
Upcoming event
React Summit US 2025
React Summit US 2025
November 18 - 21, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

En React, Elevar el Estado es un concepto fundamental. El objetivo de esta charla es abordar dos preocupaciones muy importantes en nuestro entorno: la privacidad y la accesibilidad, y cómo podemos lograrlo y construirlo desde los componentes.


Esta charla mostrará mi trabajo con un pequeño componente de código abierto y su evolución para abordar la privacidad y la accesibilidad con la ayuda de la comunidad y cómo nosotros, como desarrolladores, debemos preocuparnos y ofrecer lo mejor para las personas que utilizan nuestras herramientas, incluso en el componente más simple.

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

FAQ

Ibran Cesar es un miembro activo de la comunidad de AWS y un entusiasta de TypeScript. Se involucra en la construcción de bibliotecas y componentes, y participa activamente en conferencias como la Cumbre de React.

CDK (Cloud Development Kit) es una herramienta que permite escribir infraestructura como código en lenguajes de programación como TypeScript, que es el principal utilizado por Ibran. Él cree que CDK tiene un potencial comparable al de jQuery en sus inicios, facilitando mucho a los desarrolladores.

La motivación de Ibran Cesar surgió después de asistir a la Cumbre de la Web de Chrome en 2018, donde se destacó la importancia de considerar el rendimiento y la accesibilidad en el desarrollo de aplicaciones, especialmente para dispositivos con capacidades limitadas.

Light YouTube es un componente web diseñado para mejorar el rendimiento de carga de videos. Utiliza una imagen estática que solo carga el iFrame cuando el usuario interactúa con ella. Ibran incorporó esta funcionalidad en React, mejorando así el rendimiento y la accesibilidad de su biblioteca.

Inicialmente, un usuario contribuyó con una opción para mejorar la privacidad utilizando una directiva de no-cookie en YouTube. Posteriormente, Ibran decidió hacer de esta configuración de privacidad un ajuste predeterminado en su biblioteca, promoviendo así mejores prácticas de privacidad.

Ibran Cesar enfatiza que la accesibilidad es crucial para llegar a un público más amplio, incluyendo personas con discapacidades o aquellas que utilizan dispositivos de baja gama. Incorporar accesibilidad desde el inicio en el desarrollo asegura una mejor experiencia de usuario para todos.

Ibran mencionó que muchos problemas de accesibilidad son fácilmente solucionables y subrayó la importancia de utilizar elementos HTML semánticamente correctos para mejorar la accesibilidad y la experiencia del usuario en general.

Ibrahim Cesar Bevilacqua
Ibrahim Cesar Bevilacqua
25 min
21 Jun, 2022

Comments

Sign in or register to post your comment.
Video Summary and Transcription
En esta charla, el orador discute la creación de una biblioteca de componentes que prioriza la accesibilidad y la privacidad. Destaca la importancia de construir aplicaciones que se adapten a los dispositivos y limitaciones de red de los usuarios. El orador comparte su experiencia en la resolución de problemas de rendimiento con un iframe de YouTube e introduce Light YouTube, un componente web enfocado en el rendimiento. Enfatiza la necesidad de priorizar la accesibilidad y la privacidad en las aplicaciones y brinda ideas sobre cómo abordar problemas comunes. La charla concluye con un llamado a priorizar la accesibilidad y crear valores predeterminados sensatos en las bibliotecas para mejorar la experiencia del usuario.

1. Introducción

Short description:

En esta charla, discutiré cómo creé una biblioteca de componentes que prioriza la accesibilidad y la privacidad. Ser parte del Comité de la Cumbre de React y de la comunidad global nos permite intercambiar ideas y ofrecer mejores experiencias de usuario.

♪♪♪ Olá y hola y bienvenidos a esta charla, Mejorando la Accesibilidad en la Aplicación de Privacidad. Es realmente genial estar aquí, como parte del Comité de la Cumbre de React. Esta es una historia de comunidad, porque hablaré sobre cómo creé, hace años, una biblioteca de componentes que, en el camino, con la ayuda de la comunidad, incorporamos la accesibilidad pero también la privacidad, convirtiendo esta biblioteca de componentes no solo en más accesible, sino con privacidad por defecto. Es realmente genial ser parte de esta comunidad global donde podemos compartir e intercambiar ideas, código, y ayudar a ofrecer una mejor experiencia de usuario. Creo que esto es parte de la magia del código abierto, y es la magia de conferencias como esta, que nos permite ver otras historias, ver nuevos desarrollos, y compartir lo que sabemos y ver lo que otras personas están construyendo allá afuera.

2. Introducción a CDK

Short description:

Soy Ibran Cesar, un constructor de la comunidad de AWS y un fanático explícito de TypeScript. CDK, una forma de escribir infraestructura como código, tiene el potencial de ser tan impactante como lo fue jQuery para los desarrolladores front-end.

Soy Ibran Cesar. A veces solo me llaman Ibra. Soy un constructor de la comunidad de AWS. Soy un fanático explícito de TypeScript. Es mi herramienta principal para construir cualquier cosa. Y debido a eso, realmente soy, realmente un fanático de CDK. Es una forma de escribir tu infraestructura como código en tu lenguaje, como TypeScript en mi caso, pero podría ser Python y otros. Y creo que tiene el mismo potencial que jQuery cuando comenzó porque para mí, jQuery fue un punto de inflexión en la web porque permitió mucho a los desarrolladores front-end, y creo que CDK jugará el mismo papel en el espacio de la nube.

3. Creating the Library

Short description:

Comenzaré con una pequeña historia sobre por qué creé la biblioteca en el espacio de Flare. En 2018, tuve la suerte de estar en la Cumbre de la Web de Chrome, donde enfatizaron la importancia de construir aplicaciones que se adapten a los dispositivos y limitaciones de red de los usuarios. Esto resonó conmigo, ya que en Brasil a menudo tenemos que desarrollar para teléfonos inteligentes de gama baja y conectividad limitada. Me di cuenta de la necesidad de priorizar la accesibilidad y el rendimiento, lo que me llevó a crear la biblioteca.

Pero basta de hablar de mí y de lo que veo o me gusta para la web en general. Comenzaré con una pequeña historia sobre por qué creé la biblioteca en el espacio de Flare. En 2018, tuve la suerte de estar en la Cumbre de la Web de Chrome. Fue una experiencia realmente genial donde pude ver y participar en la conferencia en San Francisco. Y uno de los momentos que más me sorprendió fue cómo estaban hablando de comenzar a observar cómo los usuarios realmente usan nuestras aplicaciones en lugar de, ya sabes, construir para nosotros mismos o, ya sabes, computadoras con alta potencia o teléfonos inteligentes de gama baja. Y para mí fue un poco difícil este tipo de discurso, porque en Brasil siempre tuvimos que desarrollar para este tipo de equipos. La gente usa teléfonos realmente básicos o teléfonos inteligentes muy básicos con capacidades limitadas. Así que ver que solo en 2018 estaban prestando atención a esto fue un poco impactante para mí, porque desde entonces siempre pensé que realmente estaban investigando esto. Pero de todos modos, fue un movimiento realmente genial, diría yo. Y vi con mucho cuidado que promovieron esta forma de respetar el hardware y la red de los usuarios, ambos problemas a los que nos enfrentamos aquí en Brasil todos los días, para que las personas accedan a información, servicios y cosas que les permitan acceder plenamente a Internet.

4. Solving Performance Issues with YouTube Iframe

Short description:

Estaba resolviendo los problemas de rendimiento de un sitio web con varios componentes, incluido un iframe de YouTube. Inicialmente pensé que el problema era culpa mía, pero resultó que el iframe de YouTube tenía una carga enorme que ralentizaba el sitio web. En un evento, conocí Light YouTube, un componente web centrado en el rendimiento que carga el iframe solo cuando el usuario interactúa con él.

Estaba resolviendo eso y pensando en todos los problemas que tenía todos los días para construir una aplicación para entregar noticias a las personas aquí en Brasil. Teníamos este sitio web realmente grande con muchos componentes en la página principal, teníamos más de 150 piezas de contenido que iban desde imágenes, texto, títulos y cosas así, y teníamos solo un iframe de YouTube. Estaba buscando obtener la mejor puntuación en Lighthouse y cosas así, y estaba resolviendo algo de lo que no estaba realmente seguro si era culpa mía, y estaba pensando para mí mismo, creo que el problema es el iframe, pero al mismo tiempo estaba pensando, bueno, ellos son Google, ¿verdad?, ellos no proporcionarán algo que, ya sabes, disminuya mi rendimiento. Entonces, es obvio que es algún tipo de error por mi parte, pero esto no es lo que realmente es cierto.

5. Optimización de rendimiento y mejora de privacidad

Short description:

El iframe de YouTube tiene una carga enorme que ralentiza los sitios web. Light YouTube es un componente web centrado en el rendimiento que carga el iframe solo cuando el usuario interactúa con él. Comencé a portarlo a React y a aplicar las mejores prácticas. Se agregó un modo de mejora de privacidad y ahora es el valor predeterminado. Los comentarios de la comunidad han ayudado a mejorar la biblioteca y crear mejores experiencias de usuario.

Como se señaló en el mismo evento, el iframe de YouTube tiene una carga enorme, no solo carga los scripts para el video en sí, sino también para la red de publicidad, para el seguimiento que necesitan y otros tipos de tareas que deben ejecutarse en el hilo principal, lo que pone una carga pesada en el hilo único y ralentiza por completo el sitio web, incluso el lugar que estábamos colocando en nuestra página de inicio. Y en el mismo evento presentaron estos componentes web que llamaron Light YouTube. Light YouTube era una forma de proporcionar videos realmente enfocados en el rendimiento. Era más de 200 veces más rápido que la carga de la página con el uso de este elemento personalizado. ¿Qué hace? En realidad, lo que hace es tomar la imagen para un ID de video, porque puedes obtener estáticamente la imagen para un video si conoces el ID, y solo coloca la imagen y carga el iFrame solo cuando los usuarios quieren interactuar con él, con el mouse y el botón de reproducción. Entonces, cuando el usuario inicia estas acciones, en segundo plano comienza a cargar el iFrame y presenta al usuario el video que desean ver. Pero todas las URIs se cargan con la directiva Per-Load, lo que deja el hilo único libre para que su página se cargue más rápido.

Y debido a eso, desde que regresé a Brasil, comencé a portarlo a React, porque para mí era realmente algo que me molestaba. Y creo que sería realmente genial compartir este tipo de trabajo con otras personas. Esa presentación de Paul Irish fue realmente genial para mí y me mostró, ya sabes, el camino hacia el código abierto. Desde entonces, solo estaba trabajando en algunos problemas menores de paquetes de otras personas, pero desde que publiqué esta pequeña biblioteca, cada vez más estoy creando mis propias bibliotecas y componentes. Y ¿por qué es tan importante de lo que estoy hablando? Creo que una de las cosas que desde el principio, coloqué en la biblioteca fue, ya sabes, hacer cumplir algún tipo de mejor práctica, como, ya sabes, tenía un ID para obtener el ID del video que se usa tanto en la referencia de imagen como en la ruta y el título, porque para generar y que la imagen sea más accesible, debe ser un texto alternativo. Entonces, a propósito, hice que fuera obligatorio no solo poner el ID sino también el título porque creo que cuando implementamos este tipo de rieles anchos, hacemos una mella en la forma en que los desarrolladores abordan sus implementaciones.

Algunos meses después de mi primer lanzamiento, recibí esta solicitud de extracción en la que un usuario agregó esta opción para usar un modo de mejora de privacidad. Utiliza una directiva de no-cook que YouTube proporciona para que las personas decidan si quieren o no que su iFrame obtenga información de usted en ese lugar porque está en el sitio web de otra persona y no desea que, ya sabes, Google omita el seguimiento de las personas allí o la persona que estaba en nuestro sitio web en ese momento no quiere ser rastreada. Es una opción que las personas deberían tener, ¿verdad? Y no sabía que existía este tipo de opción antes de esta solicitud de extracción. Pero desde que la recibí, no solo la vi como una buena opción, sino que meses después decidimos poner esto no solo como una opción, sino definido a propósito como una privacidad predeterminada. Porque hay este libro, Noti, que habla sobre cómo las personas reaccionan en una conferencia de React. Es algo divertido de decir. Pero Noti habla sobre cómo los pequeños valores predeterminados pueden ayudar a las personas a tomar una mejor decisión para la comunidad en su conjunto. Como si las personas donaran sangre por defecto, o sus órganos, en ese sentido, de hecho, el país tendría más donantes porque si las personas tuvieran que decir prácticamente: quiero ser donante de órganos, no lo harían y dirían menos, no quiero ser donante. Entonces, solo las personas que realmente se oponen a ser donantes de órganos podrán tener esta opción. Pero, inducir a las personas a tomar mejores decisiones para el bien de todos, es el propósito de crear este tipo de barreras de protección. Y otra cosa, fue un problema que un usuario abrió, ya sabes, encontró un error de blanqueo SSS en la biblioteca que estaba usando un GV cuando necesitaba usar un botón, es un problema muy común. Y siempre uso el elemento correcto y tengo que, ya sabes, poner algo en su lugar para que el contenedor no sea interactivo y para mí fue realmente genial ver los comentarios de la comunidad después de solucionar el problema, porque no solo las personas, no solo una persona, ya sabes, se quejaba y cómo con poco esfuerzo a veces podemos marcar una gran diferencia en la experiencia de alguien. Y para mí, mostrar cómo esta frase es realmente genial para pensar en cada decisión que tomamos en nuestros componentes, en nuestras aplicaciones y cómo podemos comenzar a pensar en mejores formas de proporcionar una mejor experiencia de usuario desde cero, desde nuestros componentes, como en esta biblioteca. Las buenas intenciones nunca funcionan. Necesitas buenos mecanismos para hacer que cualquier cosa suceda. Creo que esta es una gran cita de Jeff Bezos, porque habla de que todos tenemos buenas intenciones, ¿verdad? No creé mi biblioteca pensando en usar Jib solo porque sí, no quiero ser

6. Priorizando Accesibilidad y Privacidad

Short description:

Necesitamos priorizar la accesibilidad y privacidad en nuestras aplicaciones. Al implementar comprobaciones en nuestras aplicaciones TypeScript, podemos abordar estos problemas de manera efectiva. Muchos problemas comunes en nuestras aplicaciones, como el bajo contraste, la falta de texto alternativo para imágenes y los enlaces vacíos, se pueden corregir fácilmente. React y otros frameworks pueden tener más errores de los que nos damos cuenta, lo que destaca la necesidad de centrarse en las experiencias de usuario y la accesibilidad desde el principio. Leer la documentación y seguir el hashtag #A11y en Twitter puede proporcionar ideas valiosas y ayudarnos a ofrecer mejores experiencias de usuario. Prioricemos la accesibilidad y creemos valores predeterminados sensatos en nuestras bibliotecas para hacer de la web un lugar mejor para todos.

accesible para las personas. No, simplemente no sabía mejor en ese momento. Y necesitamos un mecanismo para hacer que algo de esto suceda. Creo que si lo integro en mi componente, los desarrolladores que lo usen se beneficiarán de este tipo de decisiones. Entonces, para esto, las aplicaciones serán un poco más accesibles y generarán más conciencia al respecto. Y creo que cosas como esa, como, ya sabes, la extensión de accesibilidad es genial. Pero ¿qué tal si tuviéramos este tipo de comprobación en nuestras aplicaciones de typescript, como en el caso del componente? Que realmente deberíamos realizar para abordar los problemas relacionados con la accesibilidad y la privacidad. Sería un mecanismo, no solo, ya sabes, confiar en nuestras buenas intenciones que estoy seguro de que todos tendremos. Y cuando ves, ya sabes, las estadísticas de las 1 millón de páginas principales, puedes ver que muchos de los principales problemas en nuestras aplicaciones son fácilmente corregibles, como, ya sabes, el bajo contraste entre texto y colores, la falta de alternativas para imágenes que creo que fácilmente podemos, ya sabes, encontrar formas de evitar enlaces vacíos, etiquetas de entrada faltantes, botones vacíos, falta de idioma del documento. Creo que si dedicamos un poco más de esfuerzo en nuestros componentes, en nuestras bibliotecas, realmente podemos proporcionar una mejor experiencia de usuario. Y si ves el mismo informe, nos muestra que React en sí no es, ya sabes, como tiene casi el mismo tipo de problemas que, ya sabes, cualquier otra página. Puedes ver que Angular tiene el mismo número promedio de errores, pero puedes ver que algunas bibliotecas que consideramos, ya sabes, de mejor rendimiento, como React, tienen muchos más errores en comparación con, ya sabes, React o comparando, ya sabes, con otros tipos de frameworks como WordPress y Laravel. Creo que esto puede mostrar que a veces nos enfocamos tanto en una parte de nuestra aplicación que perdemos de vista que la experiencia de usuario no es una sola cosa. No se trata solo de interacciones rápidas. No es solo una cosa. Cuando hablamos de la experiencia de usuario, tenemos que hablar en plural. Tenemos que hablar de experiencias de usuario y para llegar a más personas, debemos tener accesibilidad desde el principio, porque cuando obtienes los números de personas que tienen algún tipo de problema, y esto puede incluir incluso a personas que leen en dispositivos de gama baja, que necesitan un mejor contraste en el teléfono, verás que no es un problema que afecta a un pequeño porcentaje de tus usuarios. Y diría que leas la documentación, la documentación es realmente genial, verás que cuando uses jiv y uses roles, de hecho, si usas los elementos correctos de HTML, obtienes todo por defecto, ves las formas correctas de usar secciones y cosas así, a veces la gente piensa que solo usando secciones en lugar de jiv se resuelve el problema y no es exactamente así, si lees los documentos de Db3 verás que es una lectura mucho más amigable, creo que es muy amigable y aprenderás mucho y sigue el hashtag A11y en Twitter para la accesibilidad, ya sabes, verás varios usuarios y tweets sobre este tema y formas que te ayudarán no solo a crear un mejor código sino a ofrecer una mejor experiencia de usuario. Y no te equivoques. Muchos de los problemas de accesibilidad también son problemas semánticos con tu código. Y me gustaría dejarles con el mensaje, depende de ti, depende de nosotros dar a los usuarios una mejor experiencia al usar nuestras aplicaciones. Y si, desde el principio, al crear nuestras bibliotecas, por pequeña que sea nuestra biblioteca, creo que si pensamos y creamos valores predeterminados sensatos, creamos mecanismos para que las personas ofrezcan experiencias accesibles y privadas por defecto, creo que haremos una web mejor y brindaremos una mejor experiencia para todos en la web y en nuestras aplicaciones de React. Quiero agradecer a React Summit por tenerme y crear una web mejor para todos. Adiós. Ciao.

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

No resuelvas problemas, elimínalos
React Advanced 2021React Advanced 2021
39 min
No resuelvas problemas, elimínalos
Top Content
Kent C. Dodds discusses the concept of problem elimination rather than just problem-solving. He introduces the idea of a problem tree and the importance of avoiding creating solutions prematurely. Kent uses examples like Tesla's electric engine and Remix framework to illustrate the benefits of problem elimination. He emphasizes the value of trade-offs and taking the easier path, as well as the need to constantly re-evaluate and change approaches to eliminate problems.
Uso efectivo de useEffect
React Advanced 2022React Advanced 2022
30 min
Uso efectivo de useEffect
Top Content
Today's Talk explores the use of the useEffect hook in React development, covering topics such as fetching data, handling race conditions and cleanup, and optimizing performance. It also discusses the correct use of useEffect in React 18, the distinction between Activity Effects and Action Effects, and the potential misuse of useEffect. The Talk highlights the benefits of using useQuery or SWR for data fetching, the problems with using useEffect for initializing global singletons, and the use of state machines for handling effects. The speaker also recommends exploring the beta React docs and using tools like the stately.ai editor for visualizing state machines.
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
React Advanced 2021React Advanced 2021
47 min
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
Top Content
The Talk discusses the balance between flexibility and consistency in design systems. It explores the API design of the ActionList component and the customization options it offers. The use of component-based APIs and composability is emphasized for flexibility and customization. The Talk also touches on the ActionMenu component and the concept of building for people. The Q&A session covers topics such as component inclusion in design systems, API complexity, and the decision between creating a custom design system or using a component library.
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.
Gestión del Estado de React: 10 Años de Lecciones Aprendidas
React Day Berlin 2023React Day Berlin 2023
16 min
Gestión del Estado de React: 10 Años de Lecciones Aprendidas
Top Content
This Talk focuses on effective React state management and lessons learned over the past 10 years. Key points include separating related state, utilizing UseReducer for protecting state and updating multiple pieces of state simultaneously, avoiding unnecessary state syncing with useEffect, using abstractions like React Query or SWR for fetching data, simplifying state management with custom hooks, and leveraging refs and third-party libraries for managing state. Additional resources and services are also provided for further learning and support.
TypeScript y React: Secretos de un matrimonio feliz
React Advanced 2022React Advanced 2022
21 min
TypeScript y React: Secretos de un matrimonio feliz
Top Content
React and TypeScript have a strong relationship, with TypeScript offering benefits like better type checking and contract enforcement. Failing early and failing hard is important in software development to catch errors and debug effectively. TypeScript provides early detection of errors and ensures data accuracy in components and hooks. It offers superior type safety but can become complex as the codebase grows. Using union types in props can resolve errors and address dependencies. Dynamic communication and type contracts can be achieved through generics. Understanding React's built-in types and hooks like useState and useRef is crucial for leveraging their functionality.

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 Workshop
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 2021React Advanced 2021
174 min
React, TypeScript y TDD
Top Content
Featured Workshop
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.
Domina los Patrones de JavaScript
JSNation 2024JSNation 2024
145 min
Domina los Patrones de JavaScript
Top Content
Featured Workshop
Adrian Hajdin
Adrian Hajdin
Durante esta masterclass, los participantes revisarán los patrones esenciales de JavaScript que todo desarrollador debería conocer. A través de ejercicios prácticos, ejemplos del mundo real y discusiones interactivas, los asistentes profundizarán su comprensión de las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables. Al final de la masterclass, los participantes ganarán una nueva confianza en su capacidad para escribir código JavaScript de alta calidad que resista el paso del tiempo.
Puntos Cubiertos:
1. Introducción a los Patrones de JavaScript2. Patrones Fundamentales3. Patrones de Creación de Objetos4. Patrones de Comportamiento5. Patrones Arquitectónicos6. Ejercicios Prácticos y Estudios de Caso
Cómo Ayudará a los Desarrolladores:
- Obtener una comprensión profunda de los patrones de JavaScript y sus aplicaciones en escenarios del mundo real- Aprender las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables- Mejorar las habilidades de resolución de problemas y la legibilidad del código- Mejorar la colaboración y la comunicación dentro de los equipos de desarrollo- Acelerar el crecimiento de la carrera y las oportunidades de avance en la industria del software
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
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
Workshop
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