Pon a prueba tus reflejos (y mi aplicación)

This ad is not shown to multipass and full ticket holders
React Advanced
React Advanced 2026
October 23 - 26, 2026
London, UK & Online
Upcoming event
React Advanced 2026
React Advanced 2026
October 23 - 26, 2026. London, UK & Online
Bookmark
Rate this content

¿Qué sucede cuando conviertes a tu audiencia en una prueba de carga distribuida en vivo?

Comenzaremos esta sesión con un emocionante desafío multijugador de "Whack-a-Mole" jugado directamente desde tu teléfono. Mientras compites por el primer lugar en la tabla de clasificación, se generará una transmisión en vivo de datos concurrentes para mostrar las capacidades web en tiempo real en acción a través de dispositivos.

Después de jugar un rato, es hora de ponerse serios profundizando en los desafíos, la arquitectura y las tecnologías utilizadas al construir una plataforma de este tipo. Descubre cuán útil o distractiva puede ser la IA durante este proceso.

Los puntos clave incluyen:

  • IA: ¡Lo bueno y lo defectuoso!
  • La pila: NextJS, Supabase.
  • Tiempo real: Ya no es necesario actualizar la página.

Deja atrás la teoría y observa cómo las herramientas modernas y un poco de prueba y error manejan el caos de la interacción en vivo del usuario.

This talk has been presented at JSNation 2026, check out the latest edition of this JavaScript Conference.

Eddie Jaoude
Eddie Jaoude
32 min
11 Jun, 2026

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Eddie de PayPal presenta un juego llamado Whack-A-Mole pero discute la importancia de los datos en tiempo real y su eliminación de la actualización constante de la página para las aplicaciones. La evolución de AJAX a Comet a WebSockets marcó una transición hacia una comunicación de datos bidireccional eficiente, con Socket.IO simplificando procesos complejos. Los cambios en Postgres y Superbase mejoran las características en tiempo real para una mejor experiencia del usuario. El manejo de eventos en tiempo real, el seguimiento de presencia y los eventos de difusión son cruciales para un procesamiento escalable y flexible. La charla también profundiza en los desafíos y soluciones en el manejo de datos en tiempo real, incluyendo la gestión de métricas de presencia y el monitoreo del manejo de eventos.

1. Introduction to Real-time Data and Game

Short description:

Eddie de PayPal introduce un juego llamado Whack-A-Mole pero discute la importancia de los datos en tiempo real. El juego involucra puntos de bonificación con logotipos de PayPal y premios para los participantes. Los datos en tiempo real eliminan la necesidad de actualizar constantemente la página y la encuesta ineficiente, crucial para aplicaciones como el juego que presenta Eddie.

Gracias a todos por la cálida bienvenida. Estoy muy emocionado. Me alegra que tengamos una casa bastante llena aquí hoy. Así que, mi nombre es Eddie, y muchas gracias por estar aquí. Soy un defensor de desarrolladores como parte del equipo de PayPal. Y hoy, quiero hablar sobre datos en tiempo real.

Pero primero, juguemos un juego. Estoy muy emocionado de ver cómo va esto. Como se mencionó, el juego es Whack-A-Mole. ¿Quién conoce el juego Whack-A-Mole? Oh, ¿75%? Sí, eso es realmente bueno. Bien, genial. Les prometo que no se lastimaron topos en la creación o en el juego de este juego. Pero solo para aclarar, esta charla no trata sobre desarrollo de juegos. Se trata de datos en tiempo real con el proyecto de código abierto SuperBase.

El objetivo del juego es golpear al topo si no has jugado antes. Pero no voy a entrar en eso. Quiero saltarme eso. Parece que todos saben cómo hacerlo. Pero la parte que no saben es que, con los topos, hay algunos logotipos de PayPal donde puedes obtener un bono de 10 puntos. Así que, intenta conseguirlos. Y aparecen en la segunda mitad del juego. Juguemos. Así que, si escaneas este código QR. Esta es una gran foto. ¿Puedo tomar una foto con todos ustedes? Perfecto. Escanea el código QR.

Si no quieres escanear el código QR o tu teléfono no tiene una cámara, puedes usar el enlace más tarde y puedes enviarlo a tus amigos si no están aquí también. Por favor, usa el nombre en tu insignia por dos razones. Una, va a estar en la pantalla y no quiero nada grosero. Y dos, hay grandes premios por ganar. Hay regalos adicionales que obtienes por estar aquí, pero es por orden de llegada. Así que, ve al stand directamente después y di que has estado aquí y muéstrales el juego en tu aplicación. Tal vez una foto de mí en el escenario. Y también hay un iPad Air. Creo que es un Air para ganar a las 5pm hoy.

Así que, necesitarás estar en el stand a las 5pm para ver quién ganó. Una última cosa. No cierres el navegador después del juego porque lo necesitamos para el final de la charla. Así que, mientras juegas, hablemos sobre datos en tiempo real. Entonces, ¿por qué son importantes los datos en tiempo real? Nadie quiere seguir actualizando la página. Cuando muestro la tabla de clasificación, no quiero seguir actualizándola y ver si han llegado nuevos datos. Y la encuesta no es realmente una buena solución porque no creo que realmente resuelva nada. Puede que lo haga a corto plazo, pero cada solicitud va al servidor y tal vez nada ha cambiado. Así que, eso desperdicia computación, desperdicia ancho de banda y realmente se complica a escala. Y para este juego, como voy a mostrarles en un minuto, específicamente necesito algunas características en tiempo real. Como, puedo ver cuántas personas están jugando ahora mismo. Llegaremos a cómo eso probablemente funciona en breve. Quiero decir, usas datos en tiempo real todos los días. Slack, Discord, WhatsApp.

2. Explorando el Tablero de Clasificación en Tiempo Real y la Historia del Juego

Short description:

Eddie explica el tablero de clasificación en tiempo real con juegos en curso y el total de juegos jugados. Habla sobre los logros de los jugadores y comparte una breve historia sobre cómo se originó y evolucionó la idea del juego.

probablemente funciona. Quiero decir, usas datos en tiempo real todos los días. Slack, Discord, WhatsApp. Así que, lo ves todo el tiempo. Entonces, déjame mostrarte el tablero de clasificación y ver cómo van las puntuaciones. ¿Cómo le va a todos? Wow. Bien. Mi computadora estaba en reposo y bloqueada. Déjame empezar todo de nuevo. Wow. 160 juegos en progreso. Quiero decir, eso es realmente, realmente increíble. Espero que alguien esté tomando una captura de pantalla de esto. Creo que necesito hacerlo. Espero que eso haya funcionado. Un pequeño atajo de teclado. Pero, sí. La gente está jugando. Muchas gracias. Esto es genial. Entonces, déjame explicarte un poco sobre el tablero de clasificación y qué es en tiempo real. Bueno, todo es en tiempo real. Pero si miras los juegos en progreso, son personas jugando ahora mismo. Y vamos a hablar de cómo podemos lograr eso. Y luego tienes el total de juegos jugados también.

Eso aumentará a medida que los juegos en progreso disminuyan. Entonces, a medida que los resultados lleguen cuando el juego termine, el total de juegos jugados aumentará. Y también, el tablero de clasificación y otras secciones también se actualizarán en tiempo real. Bien. Creo que alguien escribió mal su nombre. Podría haber un error tipográfico en primer lugar. ¿Cuántos juegos has jugado? ¿Solo uno, dos? Bien. Perfecto. Estamos listos para continuar. ¿Alguien logró obtener el logo de PayPal? Algunas personas. ¿Uno de ellos, dos o tres de ellos? ¿Dos? ¿Alguien consiguió tres? Algunos de ustedes. El juego es demasiado fácil. Necesito hacerlo más difícil la próxima vez. Bien. Genial. Quiero darte una historia muy breve, no sobre mis 15 años, cómo llegué aquí, sino cómo llegué aquí hoy con PayPal. Así que, recientemente me uní a PayPal, y ellos dijeron, ¿puedes hacer una charla divertida en JS Nation? Y pensé, bueno, hablo sobre código abierto, desarrollo full-stack, pruebas automatizadas. Creo que eso es divertido. Pero tal vez eso no, ya sabes, cuenta como divertido. Así que pensé en hacer algo un poco diferente. Y vi a Nikki de mi equipo hace un momento, y ella me dio la idea de construir un juego. Y nunca había construido un juego antes, así que pensé que eso sería divertido para mí también. Así que, comencé a pensar en qué juegos funcionarían bien en el navegador y en nuestros teléfonos. ¿Y qué hacemos todos en 2026? Preguntamos a la IA. Curiosamente, no le pedí a la IA ideas de juegos.

QnA

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

El Potencial Caprichoso de los Marcos de Trabajo de JavaScript
React Summit US 2023React Summit US 2023
28 min
El Potencial Caprichoso de los Marcos de Trabajo de JavaScript
Top Content
The speaker discusses the whimsical and detailed work of Stripe, particularly their interactive and dynamic pages. They explain the use of React for building whimsical details and tracking mouse position. The speaker introduces React Spring for smooth animation and React3 Fiber for creating a 3D egg model. They also mention the use of Framer Motion and React server components for animating CSS properties.
Animaciones Emocionales y Funcionales de la Interfaz de Usuario en React
React Day Berlin 2022React Day Berlin 2022
28 min
Animaciones Emocionales y Funcionales de la Interfaz de Usuario en React
Today's Talk discussed the importance of UI animations in React, both functional and emotional. Examples were given using CSS and Framer Motion, with a focus on user feedback and accessibility. Design guidelines and animation usage were highlighted, as well as the consideration of negative emotions in animations. The Talk also touched on designing 404 error pages and concluded with gratitude to the audience and organizers.
JavaScript Haikus: Mis Aventuras en la Programación Mínima
JS GameDev Summit 2023JS GameDev Summit 2023
27 min
JavaScript Haikus: Mis Aventuras en la Programación Mínima
This Talk is about writing super tiny JavaScript programs, known as tiny code. It explores the concept of code golf and the use of a live editor for instant feedback. The Talk discusses various ways to share tiny code, including Twitter.net. It also covers creating graphics, games, and sound in a small space. The speaker highlights inspiring tweets and showcases examples of tiny code, including asemic writing. The future of tiny code includes new techniques, better browser support, and AI-assisted programming.
La Guía del Autoestopista para Arquitecturas Basadas en Eventos
Node Congress 2025Node Congress 2025
30 min
La Guía del Autoestopista para Arquitecturas Basadas en Eventos
Premium
Today's Talk introduced event-driven architectures with Node.js. The event loop in Node.js enables non-blocking interaction between components. The event emitter class is used to handle events synchronously. Redis and Apache Kafka are popular tools for event handling, with Kafka providing scalability and persistence. Kafka.js is a JavaScript library that supports transactions and compression. Server-sent events are used to send events to the client. A plugin and library are used to convert an event emitter to an async iterator. The client displays emojis and updates the vote count.
Hackeando un e-Reader con React
React Advanced 2023React Advanced 2023
7 min
Hackeando un e-Reader con React
React for eBooks? Learn how to hack an eReader to display a tea menu. Create images and write e-books using React. Use EPUB format to create chapters and include CSS. Use Pandoc and Dino to simplify the process and make quick updates.
Control de Robot en Tiempo Real Desde el Navegador Con WebRTC
JSNation 2025JSNation 2025
21 min
Control de Robot en Tiempo Real Desde el Navegador Con WebRTC
Nick Hare, developer advocate at Veeam, learned robotics from open source projects. WebRTC facilitates secure machine connections. Implementing WebRTC involves using Stun, ICE candidates, TURN servers, and signaling. Signaling and Remote Procedure Calls are crucial for peer-to-peer communication. Building a proof of concept with Notify involves PubSub messaging and REST API. Establishing WebRTC connections and data channels enables direct messaging. Video streaming and remote control are demonstrated with a webcam connected to a Raspberry Pi. VM robotics development allows building robots and smart machines with cloud support and SDK.