Más allá de JavaScript: Maximizando React con Web APIs

Rate this content
Bookmark

Esta charla relámpago explora cómo puedes enriquecer tus proyectos de React con Web APIs. Desde el manejo de datos hasta la interacción con las funciones del navegador, los asistentes obtendrán conocimientos sobre cómo aprovechar el poder de las Web APIs para una experiencia de desarrollo de React enriquecida y eficiente, para resaltar las capacidades que ofrecen los navegadores de manera predeterminada.

FAQ

Las APIs de navegador permiten ejecutar muchas funciones de manera directa y eficiente sin la necesidad de instalar módulos NPM adicionales, lo que resulta en aplicaciones más ligeras y con mejor rendimiento.

Las APIs de dispositivo permiten que el navegador replique funciones típicas de dispositivos móviles, como la geolocalización y el acceso a gráficos, audio y video, mejorando la interacción y experiencia del usuario directamente desde el navegador.

La API de Fetch permite realizar solicitudes HTTP directamente desde el navegador, facilitando la obtención y manejo de datos en aplicaciones web sin la necesidad de un servidor intermedio.

La API de Shape está diseñada para detectar formas y objetos, como rostros, en aplicaciones web. Actualmente, se encuentra en una fase experimental y puede requerir habilitar flags específicos en Chrome para su uso.

Para habilitar características experimentales de las APIs web en Chrome, es necesario acceder a las flags de Chrome y activar las características experimentales web específicas de la API que deseas probar.

Puedes mejorar el rendimiento de tus aplicaciones React utilizando APIs de navegador para manejar funciones directamente en el navegador, reduciendo la dependencia de módulos externos y optimizando la carga y ejecución de la aplicación.

En React, puedes utilizar APIs de navegador como la de estado de batería, geolocalización, Fetch para datos y reconocimiento de voz, integrándolos directamente en tus componentes para crear aplicaciones más interactivas y eficientes.

Shivay Lamba
Shivay Lamba
10 min
13 Nov, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Esta charla explora cómo usar el navegador y las Web APIs para mejorar las aplicaciones de React, cubriendo categorías como Fetch API, Device APIs, Storage APIs, Audio y Video APIs, y Shape API. Explica cómo se implementan las Web APIs en las aplicaciones de React y sugiere el uso de funciones nativas de JavaScript o módulos NPM como React Speech Recognition. La charla demuestra el uso de Battery y Face Detection APIs en una aplicación de React, incluyendo características como obtener el porcentaje de batería, coordenadas en vivo y funcionalidad de texto a voz. También menciona la posibilidad de crear filtros de cara de realidad aumentada con la API de detección de rostros. La conclusión destaca la disponibilidad de recursos en los documentos de Mozilla y un repositorio de GitHub para un aprendizaje y ejemplos de código adicionales.

1. Introducción a las APIs de navegador y web

Short description:

En esta parte, exploraremos cómo aprovechar las APIs de navegador y las APIs web para mejorar las aplicaciones de React. Estas APIs pueden manejar tareas que van desde el aprendizaje automático hasta la utilización de la GPU. También discutiremos diferentes categorías de APIs web, como la API de Fetch, las APIs de dispositivo, las APIs de almacenamiento, las APIs de audio y video, y la API de Shape.

Gracias por unirse a nosotros. Esta es mi primera vez en GitNation Talks. Estoy súper emocionado. ¡Gracias!

Por supuesto, esto nos sucede a diario. Amamos y odiamos JavaScript porque es muy popular. Es muy bueno. Puedes hacer un montón de cosas. Pero al mismo tiempo, quieres que tus aplicaciones tengan tanto JavaScript como sea posible. O el menor número de módulos de NPM para hacer tus aplicaciones más ligeras. Porque, por supuesto, cuando tienes muchos módulos de NPM, tus aplicaciones se vuelven mucho más pesadas. Y, quiero decir, si solo estás usando Git también, pueden llegar a ser bastante grandes en tamaño. Como, cientos de megabytes de tamaño.

Entonces, la idea aquí que quiero transmitir es que ¿puedes confiar en el navegador web en el que básicamente estás ejecutando nuestras aplicaciones de React en lugar de tener que usar módulos de NPM o JavaScript en sí. La respuesta simple a eso es sí. Tenemos todas estas APIs de navegador y APIs web que esencialmente nos permiten hacer fácilmente cualquier cosa desde cosas de aprendizaje automático como la detección de rostros hasta cosas estándar como poder aprovechar tu GPU para hacer cosas como renderizado en 3D donde tu navegador es capaz de poder obtener la información de la GPU y aprovecharla con algo como WebGPU. Entonces, todas estas pueden ser manejadas con la ayuda de un conjunto de diferentes APIs de navegador o APIs web que puedes aprovechar para tu propio caso de uso y estaremos explorando algunas de ellas y cómo puedes básicamente integrarlas dentro de una aplicación de React.

Entonces, hay un montón de diferentes categorías de estas APIs web. Muchos de ustedes podrían estar al tanto de estas. Pero para las personas que no lo están, simplemente daré un rápido resumen de estas siete diferentes categorías web amplias que he definido. Entonces, la primera es la API de Fetch, que te permite hacer solicitudes HTTP. La siguiente es las APIs de dispositivo. Entonces, las APIs de dispositivo esencialmente permiten a tu navegador replicar muchas de las diferentes cosas móviles que típicamente tendrás en dispositivos móviles pero también replicar eso dentro de un navegador web también. Entonces, si estás usando un navegador web en tu laptop o quizás en tu teléfono móvil. Entonces, por ejemplo, la API de Geolocalización te permite obtener tus coordenadas y renderizarlas dentro de tu aplicación. O, por supuesto, puedes dibujar gráficos con la ayuda de la API de Canvas. También obtienes muchas APIs de almacenamiento que te permiten hacer cosas como almacenamiento local o si quieres almacenar la duración de una tarea particular que estás implementando dentro de tu navegador. Entonces, todas esas serán capaces con la ayuda de las APIs de almacenamiento. Y, por supuesto, tienes las APIs de Audio y Video que te permiten hacer un montón de cosas con el procesamiento de audio y video. Y luego la API de Shape. Entonces, estas son, creo, personalmente mis favoritas.

2. Implementación de APIs web en aplicaciones React

Short description:

Puedes hacer un montón de cosas diferentes como ser capaz de detectar caras o incluso renderizar ciertas animaciones con la API de Shape. Los equipos de navegadores implementan las APIs web, que inicialmente están en una fase experimental y luego se lanzan como características estables. En las aplicaciones React, puedes implementar APIs web como el estado de la batería y el reconocimiento de voz, utilizando funciones nativas de JavaScript o módulos NPM como React Speech Recognition.

Puedes hacer un montón de cosas diferentes como ser capaz de detectar caras o incluso renderizar ciertas animations que normalmente se te proporcionan con la ayuda de la API de Shape. La API de Shape, diría yo, todavía está en una fase experimental.

Ahora, si tienes curiosidad por saber cómo surgen las APIs de navegador o estas APIs web. Así que principalmente, el Chrome, si hablamos de tus principales navegadores web. Así que el equipo de la plataforma Chrome es básicamente quien está implementando muchas de estas diferentes APIs de navegador. Así que muchas de ellas también están actualmente, digamos, en fase experimental. Así que, cuando estás usando estas diferentes APIs web, encontrarás que muchas veces algunas de ellas podrían estar implementadas o podrían estar en efecto por defecto, pero algunas de ellas podrían no estar soportadas. Y si quieres soportarlas, lo más probable es que estén en una fase experimental, y tendrás que ir a tus flags de Chrome para habilitarlas. Por ejemplo, si quieres habilitar la API de detección de fase, tendrás que habilitar la flag de características experimentales web de Chrome en lugar de tus flags de Chrome para básicamente hacerla pública.

Así que la forma en que básicamente estas APIs web llegan a la fruición es que los equipos de navegadores las implementarán. Estarán en una fase experimental. Una vez que llegamos a un punto donde son lo suficientemente estables, se lanzarán como características estables. Y luego serán implementadas en estos navegadores por defecto.

Ahora, echemos un vistazo rápido a cómo puedes implementar estas dentro de tus aplicaciones React. Así que el primer ejemplo básico que me gusta citar es el estado de la batería. Así que el ejemplo del estado de la batería básicamente te dará el estado de la batería de tu dispositivo, y puedes renderizarlo. Así que lo que ves aquí es el navegador. Con la mayoría de las APIs web, básicamente estás usando la interfaz del navegador que te permite identificar el agente de usuario, en este caso, cualquier computadora que estés usando. Y en este caso, como puedes ver en el código, aquí estoy usando simplemente el navigator.getBattery. Así que no estoy instalando algún módulo de terceros NPM para hacer eso, y soy capaz de usar simplemente una función nativa de JavaScript que obtengo de la browser API, y básicamente estoy renderizando el estado de carga de cuál es mi porcentaje de batería en este momento.

Otro ejemplo donde puedes usar también algunos NPM modules. Así que el siguiente es el reconocimiento de voz. Así que obtienes una browser API para poder hacer reconocimiento de voz en vivo dentro de tu navegador. La biblioteca de reconocimiento de voz de React esencialmente proporciona tu gancho personalizado de React con la API de WebSpeech, así que en lugar de usar directamente la API de WebSpeech, puedes simplemente instalar este módulo NPM y obtener capacidad fuera de la caja. Y mostraré rápidamente una demostración antes de seguir adelante. Así que la primera demostración que me gustaría mostrar es con nuestro app.js. Aquí lo que verás es que estoy usando en realidad un montón de diferentes APIs web, así que la primera estoy estableciendo algunos estados para mi nivel de batería, para mi ubicación, así que estoy usando la API de batería, estoy usando la coordenada que es la API de geolocalización, estoy usando una simple solicitud de fetch para mostrar cómo puedes obtener data, y por supuesto estaré usando el Reconocimiento de Voz de React, que es el modelo NPM que proporciona el gancho de React. Aquí, muy similar a cómo mostré en la muestra de código en las diapositivas, que simplemente usas el navegador y el objeto del navegador y luego cualquier función que normalmente sea soportada. Así que en este caso, estoy ejecutando una para obtener tu estado de batería, de manera similar tengo una para poder usar la API de geolocalización, luego la API de fetch para obtener algunos data, y luego por supuesto la final es la transcripción, donde estoy usando el reconocimiento de voz para hacer una transcripción en vivo. Así que rápidamente voy a ejecutar esto, y esta es una demo, refrescaré rápidamente.

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

Instalar Nada: Interfaces de Aplicación con APIs Nativas del Navegador
JSNation 2024JSNation 2024
31 min
Instalar Nada: Interfaces de Aplicación con APIs Nativas del Navegador
Tal vez no necesites tanto JS como crees para lograr patrones comunes de UI con estas nuevas APIs nativas del navegador. Sumérgete en las nuevas y futuras APIs de CSS, HTML y JS que hacen que nuestro código sea más liviano y rápido de implementar.
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
La codificación de video de alta calidad en los navegadores ha sido tradicionalmente lenta, de baja calidad y no permitía mucha personalización. Esto se debe a que los navegadores nunca tuvieron una forma nativa de codificar videos aprovechando la aceleración de hardware. En esta charla, repasaré los secretos de la creación de videos de alta calidad en los navegadores de manera eficiente con el poder de WebCodecs y WebAssembly. Desde contenedores de video hasta muxing, audio y más allá, esta charla te dará todo lo que necesitas para renderizar tus videos en los navegadores hoy en día!
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
Hay muchas formas de medir el rendimiento web, pero lo más importante es medir lo que realmente importa a los usuarios. Esta charla trata sobre cómo medir, analizar y solucionar el código JavaScript lento utilizando las API del navegador.
API WebHID: Controla Todo a través de USB
JSNation 2022JSNation 2022
23 min
API WebHID: Controla Todo a través de USB
El sistema operativo permite controlar diferentes dispositivos utilizando el protocolo de dispositivo de interfaz humana desde hace mucho tiempo. Con la API WebHID, puedes hacer lo mismo directamente desde el navegador. Vamos a hablar sobre las características y limitaciones del protocolo. Intentaremos conectar algunos dispositivos a la laptop y controlarlos con JavaScript.
¡MIDI en el Navegador... ¡Vamos a Rockear la Web!
JSNation 2022JSNation 2022
28 min
¡MIDI en el Navegador... ¡Vamos a Rockear la Web!
Si tienes un instrumento de música electrónica fabricado en las últimas 3 décadas, es muy probable que admita el protocolo MIDI. ¿Qué tal si te digo que es posible interactuar con tu keytar o máquina de ritmos directamente desde tu amado navegador? Te volverías loco, ¿verdad? Bueno, prepárate para hacerlo...Con soporte incorporado en Chrome, Firefox y Opera, esta posibilidad ahora es una realidad. Esta charla presentará a la audiencia la API Web MIDI y mi propia biblioteca WEBMIDI.js para que puedas empezar a rockear rápidamente.¡Desarrolladores web, preparen sus sintetizadores!
Notificaciones Push Web Bien Hechas
JSNation 2023JSNation 2023
11 min
Notificaciones Push Web Bien Hechas
Finalmente, la API de Notificaciones Push Web está disponible en todos los principales navegadores y plataformas. Es una característica que puede llevar la experiencia de tus usuarios al siguiente nivel o... ¡arruinarla! En mi sesión, después de una introducción técnica sobre cómo funcionan las Notificaciones Push Web, exploraremos la implementación de diálogos inteligentes de solicitud de permisos, varios tipos de notificaciones en sí mismas y la comunicación con tu aplicación para escenarios más sofisticados, todo hecho correctamente, con la mejor experiencia de usuario posible.

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.