Hola a todos, mi nombre es Riaz Varani y hoy vamos a hablar sobre cómo hacer extensiones de Chrome en React. Trabajo para una empresa que poseo llamada EQseminalytics, si quieres obtener más información, si te gusta alguna parte de esta charla, hay información en la URL de abajo, y también hay otras charlas que he dado en riazv.me.
Así que empecemos. ¿Qué es una extensión de Chrome? ¿Verdad? ¿Cómo surge? Bueno, probablemente ya tengas algunas. Son los pequeños iconos que ves en la parte superior derecha de la ventana de tu navegador si estás usando Chrome, pero están en un lugar similar si usas algunos de los otros navegadores. Y de hecho, no solo están en Chrome. Algunas personas que solo han usado Chrome durante mucho tiempo los consideran inherentemente como algo de Chrome, pero en realidad puedes aplicar algunas de las cosas que estamos aprendiendo en esta presentación a todos los demás navegadores. Y de hecho, en la actualidad están estandarizando incluso una especificación común de extensiones web para que todos los navegadores empiecen a ponerse de acuerdo en una forma de hacer las cosas. Obviamente, IE no está ahí. De hecho, IE fue el primero en hacerlas, así que algunas personas piensan que Chrome es el primero en tener extensiones, pero en realidad cada proveedor de navegadores tiene su propia variación de extensión desde hace mucho tiempo.
Bueno, ¿cómo se hace una? Eso es realmente lo más importante que probablemente te interesa. Resulta que ya sabes cómo hacerlo. Uno pensaría, considerando que es nativo del navegador, que sería algo basado en C o algún otro lenguaje complicado, pero en realidad todos los proveedores en la actualidad solo usan HTML, CSS y JS para permitirte escribir tus extensiones, así que probablemente ya sepas cómo hacer una, pero hay un formato específico y una forma específica de empaquetarlas en términos de la funcionalidad de cómo funcionan las extensiones web para que funcione de la forma que realmente deseas.
Lo siguiente que inmediatamente pienso cuando escucho eso, ¿puedo usar HTML, CSS y JS, es qué puedo usar todas las herramientas que estoy acostumbrado a usar en la web? Sí, puedes. Si bien el resultado final debe ser HTML, CSS y JS, puedes usar React, Webpack, ES6 y todo eso para ayudarte a construir tu extensión, siempre y cuando el resultado final sea algo que se parezca a lo que la especificación de la extensión web espera. No hay herramientas excelentes como Create React App o Next que hagan todo esto de una manera empaquetada. Debes encontrar una plantilla o configurarla tú mismo, pero hay varias plantillas decentes que recomendaría que puedes usar. Esta es en realidad una plantilla que recomiendo y que he usado para un par de extensiones que hace un gran trabajo al incluir las cosas más comunes que necesitarás, así que he puesto un código QR allí arriba junto con la URL, y si no lo captas ahora mismo y no quieres tomarlo, tendré otro código QR al final que tiene un enlace a las diapositivas donde puedes obtener este otro código QR o tomar esta URL.
Así que vamos a hacer una demostración. Sé que es un poco peligroso hacer cosas en vivo en una charla, pero eso es, me gusta parecer peligroso que puedo decir. Vamos a ver una bifurcación de esa plantilla, abrirlo, agregarlo al navegador y verás lo fácil que es hacerlo en vivo. Ya he clonado ese proyecto en particular, lo he bifurcado y lo he clonado. Esto es básicamente lo que obtienes de esa plantilla por sí sola. Y vamos a ejecutar NPM run. En realidad están usando yarn aquí. Así que haremos yarn dev. Eso simplemente ejecuta este script que básicamente tomará todo lo que ves, y lo va a colocar en este directorio de disco en un formato que es esperado por un navegador. Así que si voy a Chrome, acabo de crear un nuevo perfil en Chrome y he ido a Chrome colon slash slash extensions, que es cómo se gestionan las extensiones. Y luego tienes que activar el modo de desarrollador si nunca has estado aquí antes, lo que habilita un par de opciones nuevas. Luego haces clic en cargar sin empaquetar.
Comments