Un Futuro con Menos JavaScript - Nuevas APIs de Navegador y su Impacto en el Futuro del Desarrollo de React

Bookmark
Rate this content

En los últimos años hemos visto a los navegadores ofrecer potentes APIs como popover, anchor, Navigation, View Transition, interpolate-size, :has(), y muchas más. Cada una aborda un problema que anteriormente solo se podía resolver con JavaScript. ¿Qué significa esto para el futuro del desarrollo de React? Un futuro con menos JavaScript para la lógica de interacción. En esta masterclass discutiremos cómo puedes aprovechar estas nuevas APIs y los impactos que tendrán en el rendimiento de la aplicación, la experiencia del desarrollador, la experiencia del usuario y el futuro del desarrollo de aplicaciones React.

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

Ameer Sami
Ameer Sami
21 min
21 Nov, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Introducción a un futuro con menos JavaScript, impacto de las nuevas APIs de navegador en el desarrollo front-end, visión general de S&C Electric Company, cambio hacia menos JavaScript, perspectiva histórica de los desafíos del desarrollo web, importancia de las APIs de navegador en el desarrollo moderno, enfoque en las principales APIs de navegador para mejorar las experiencias de usuario, demostración de la funcionalidad del selector de fecha. Exploración de la funcionalidad del selector de fecha con integración de código y APIs de navegador. Panel de cierre y utilización de nuevas APIs de navegador para el selector de fecha y hora. Control de la posición del panel del selector de fecha y hora con nuevas APIs de navegador. Personalización del estilo del rango de fechas con CSS y Anchor API. Animación del selector de rango de fechas con View Transitions y atributos CSS. Desarrollo de un formateador de texto con capas duales y manejo de eventos. Desarrollo de una capa editable de contenido solo de texto plano con Highlighting API. Aplicación de estilos con CSS Selector y Color API.

1. Understanding JavaScript Less Future

Short description:

Introducción a JavaScript Less Future, impacto de las nuevas APIs de navegador en el desarrollo front-end, resumen de S&C Electric Company, cambio hacia menos JavaScript, perspectiva histórica de los desafíos del desarrollo web, importancia de las APIs de navegador en el desarrollo moderno, enfoque en las principales APIs de navegador para mejorar las experiencias de usuario, demostración de la funcionalidad del selector de fechas.

Hola, bienvenidos a un futuro con menos JavaScript. Nuevas APIs de navegador y su impacto en el futuro del desarrollo front-end. Mi nombre es Amir Sami. Soy ingeniero de software en S&C Electric Company. Para que no seamos extraños, les contaré un poco sobre mí. En mi tiempo libre, me gusta hornear deliciosos productos horneados, como este pastel. Me gusta programar. No es solo una profesión, también es un pasatiempo mío. Me gusta hacer senderismo y explorar la naturaleza, y me gusta levantar círculos pesados por alguna extraña razón. Sé que es una combinación extraña. Ahora, trabajo en S&C Electric Company, que es un proveedor global de equipos y servicios para sistemas de energía eléctrica.

Fuimos fundados en 1911 en Chicago, donde diseñamos y fabricamos productos de conmutación y protección. Hoy en día, nuestra diversa fuerza laboral global desarrolla soluciones innovadoras para una red eléctrica más inteligente y resistente. Basándonos en este legado de innovación tecnológica y servicio al cliente, S&C impulsa la transformación de la red para un futuro de energía eléctrica sostenible y sin interrupciones. Entonces, el título de la charla es un futuro con menos JavaScript, pero probablemente se pregunten, ¿qué diablos quiero decir con eso?

Me refiero a un futuro con menos JavaScript. Pero no es un futuro sin JavaScript, solo menos. Ahora, antes de hablar sobre el futuro, quiero dar un paso atrás en el tiempo y ver lo difícil que era ser un ingeniero de software para la web hace unos 14 años. Para algunos de los ingenieros de software más experimentados en la audiencia, estoy seguro de que probablemente han visto preguntas en Stack Overfill como esta, como ¿cómo puedo centrar horizontalmente un elemento? Esto se preguntó hace unos 17 años, y la primera respuesta aceptada para esto fue simplemente establecer un margen automático con 50%, lo cual sabemos ahora que hay muchas más cosas que podemos hacer para centrar un elemento. Otra pregunta era, ¿cómo puedo modificar la URL sin recargar la página? Y la respuesta a esto en el 09 era simplemente que no había forma de hacerlo. Ahora sabemos que hay formas de hacerlo, pero en ese entonces, esto no era algo que se pudiera hacer. Y por último, está la pregunta de cómo se puede cambiar el estilo de un marcador de posición con una entrada. La respuesta a esto en 2010 era que esto solo estaba disponible o era posible con navegadores que estaban habilitados con WebKit. Así que ahora hemos echado un vistazo a cómo era ser un ingeniero de software en el pasado sin algunas de las nuevas APIs de navegador que están disponibles para nosotros ahora. Y tenemos una mejor apreciación por las APIs de navegador y lo que nos permiten hacer. Así que ha habido muchas nuevas APIs de navegador que se han lanzado en los años más recientes, como el selector de sombrero en CSS, filtro de fondo, la función de atributo en CSS, scope, junto con muchas otras poderosas APIs de navegador. Pero para el propósito de la charla de hoy, solo me voy a centrar en estas ocho APIs de navegador y cómo creo que podemos usarlas para escribir menos JavaScript y proporcionar mejores experiencias a nuestros usuarios. Ahora les guiaré a través de eso mostrándoles dos demostraciones, un selector de fechas, específicamente un selector de rango de fechas y un formateador de texto. ¿Cómo se ve el selector de fechas? Bueno, este es el selector de fechas que creé. Puedes abrirlo y cerrarlo haciendo clic en el campo. El panel aparece debajo del campo.

2. Enhancing Date Picker Functionality

Short description:

Explorando la funcionalidad del selector de fechas con integración de código y APIs de navegador.

Cuando seleccionas una fecha de inicio y pasas el ratón sobre cualquier otra fecha después de la fecha de inicio, podemos ver que el rango se resalta y puedes cerrar el panel haciendo clic en el campo o haciendo clic fuera del componente por completo.

Ahora echemos un vistazo a algo de código para ver cómo funciona esto antes de integrar con las nuevas APIs de navegador. Aquí tenemos el elemento button, que es representativo del campo que vimos. Y notarás que hay un controlador de clic aquí, que cuando el usuario hace clic en el botón, establecemos una variable de estado para alternar si el panel aparece o no.

Si echamos un vistazo al código del panel, notaremos que se renderiza condicionalmente. Y si miramos más dentro del panel, tenemos múltiples botones. Cada botón representa cada una de las fechas individuales dentro del rango o dentro del selector. Y tenemos un controlador de ratón, más bien un controlador de mouse over para cada uno de esos botones.

Y lo que hace este controlador de mouse over es que si lo miramos, notaremos que cada vez que el usuario pasa el ratón sobre una de esas fechas, obtenemos todos los hijos dentro del panel y los iteramos. Y si está dentro del rango de la fecha de inicio seleccionada y la fecha o el elemento sobre el que el usuario está pasando el ratón, establecemos un fondo de este color azul. Y si no lo está, entonces preestablecemos el valor a nada. Así que vuelve al estilo predeterminado.

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

Instala Nada: Interfaces de Usuario de Aplicaciones con APIs Nativas del Navegador
JSNation 2024JSNation 2024
31 min
Instala Nada: Interfaces de Usuario de Aplicaciones con APIs Nativas del Navegador
Top Content
This Talk introduces real demos using HTML, CSS, and JavaScript to showcase new or underutilized browser APIs, with ship scores provided for each API. The dialogue element allows for the creation of modals with minimal JavaScript and is supported by 96% of browsers. The web animations API is a simple and well-supported solution for creating animations, while the view transitions API offers easy animation workarounds without CSS. The scroll snap API allows for swipers without JavaScript, providing a smooth scrolling experience.
Ampliando los límites de la codificación de video en navegadores con WebCodecs
JSNation 2023JSNation 2023
25 min
Ampliando los límites de la codificación de video en navegadores con WebCodecs
Top Content
This Talk explores the challenges and solutions in video encoding with web codecs. It discusses drawing and recording video on the web, capturing and encoding video frames, and introduces the WebCodecs API. The Talk also covers configuring the video encoder, understanding codecs and containers, and the video encoding process with muxing using ffmpeg. The speaker shares their experience in building a video editing tool on the browser and showcases Slantit, a tool for making product videos.
API WebHID: Controla Todo a través de USB
JSNation 2022JSNation 2022
23 min
API WebHID: Controla Todo a través de USB
Today's Talk introduces the webHID API, which allows developers to control real devices from the browser via USB. The HID interface, including keyboards, mice, and gamepads, is explored. The Talk covers device enumeration, input reports, feature reports, and output reports. The use of HID in the browser, especially in Chrome, is highlighted. Various demos showcase working with different devices, including a DualShock controller, microphone, gamepad, and Stream Deck drum pad. The Talk concludes with recommendations and resources for further exploration.
Automatiza el Navegador con la API de Renderizado del Navegador de Workers
JSNation 2024JSNation 2024
20 min
Automatiza el Navegador con la API de Renderizado del Navegador de Workers
The Talk discusses browser automation using the Worker's Browser Rendering API, which allows tasks like navigating websites, taking screenshots, and creating PDFs. Cloudflare integrated Puppeteer with their workers to automate browser tasks, and their browser rendering API combines remote browser isolation with Puppeteer. Use cases for the API include taking screenshots, generating PDFs, automating web applications, and gathering performance metrics. The Talk also covers extending sessions and performance metrics using Durable Objects. Thank you for attending!
Visualización de Cuellos de Botella de Rendimiento Front-End
React Summit 2020React Summit 2020
34 min
Visualización de Cuellos de Botella de Rendimiento Front-End
React's web-based tools allow for independent learning. Dazzone, a sports streaming service, faces challenges with low memory and CPU targets. Measuring, analyzing, and fixing performance issues is crucial. Virtualization improves rendering efficiency and performance. The application is now much faster with significantly less jank.
¡MIDI en el Navegador... ¡Vamos a Rockear la Web!
JSNation 2022JSNation 2022
28 min
¡MIDI en el Navegador... ¡Vamos a Rockear la Web!
MIDI is a versatile communication protocol that extends beyond music and opens up exciting possibilities. The Web MIDI API allows remote access to synths and sound modules from web browsers, enabling various projects like music education systems and web audio-based instruments. Developers can connect and use MIDI devices easily, and the Web MIDI API provides raw MIDI messages without semantics. The WebMidi.js library simplifies working with the Web MIDI API and offers a user-friendly interface for musicians and web developers. MIDI on the web has generated significant interest, with potential for commercial growth and endless possibilities for web developers.

Workshops on related topic

Escribiendo Módulos Universales para Deno, Node y el Navegador
Node Congress 2022Node Congress 2022
57 min
Escribiendo Módulos Universales para Deno, Node y el Navegador
Workshop
Luca Casonato
Luca Casonato
En este masterclass te guiaré en la escritura de un módulo en TypeScript que pueda ser utilizado por usuarios de Deno, Node y los navegadores. Explicaré cómo configurar el formato, linting y pruebas en Deno, y luego cómo publicar tu módulo en deno.land/x y npm. Comenzaremos con una breve introducción sobre qué es Deno.