Transcripciones
1. Introducción: Hola. Soy Chris Hermione, soy de Berlín, Alemania y he sido desarrollador web desde hace más de 20 años y desde que tuvimos Javascript, esa fue una de mis pasiones. Escribí algunos libros al respecto, hice muchas capacitaciones al respecto, y hoy voy a compartir algo de eso con ustedes. Estoy muy emocionado de que nuestra comunidad web se haya vuelto tan grande que puedes ir a reuniones o conferencias casi todas las semanas y eso es lo que hago. Doy muchas notas clave, doy muchas capacitaciones, y entrevisto en empresas y con empresas lo que quieren hacer con las tecnologías más recientes que incluyen machine learning, inteligencia
artificial, y también buen desarrollo Web antiguo con Javascript y otros idiomas. Este curso es para personas que quieren entender Javascript y quieren usarlo ahora, y están algo abrumados por todas las ofertas que hay y la fragmentación de los materiales de aprendizaje que hay por ahí. Entonces, si eres alguien que acaba de empezar con Javascript, eso también es para ti, o si eres alguien que ha estado haciendo Javascript, pero siente que debería haber más, eso es para ti también. Es una buena visión general de lo que el espacio Javascript está haciendo hoy en día y lo que se puede hacer con el lenguaje, y es mucho más de lo que solía ser en el pasado. Todos los materiales y todos los productos de los que vamos a
hablar en este curso son basados en Web y de código abierto. Entonces, puedes trabajar con ellos a través de plataformas, no
necesitas tener un Macintosh, no
necesitas tener una máquina Windows, puedes usar lo que quieras. No quiero que digas qué ambiente usar y qué ambiente configurar, en cambio deberías encontrar el que te haga más cómodo. Entonces, nada aquí es algo que necesitas comprar porque open source nos ayuda a ser mucho mejores desarrolladores. Espero que encuentres algo que te excite y te conviertas en un mejor desarrollador de Javascript después del final de este curso, así que vamos a empezar.
2. Javascript hoy: Hola y bienvenidos al curso Redescubriendo JavaScript. hoy, queremos hablar de lo que es JavaScript y en qué se ha convertido. El problema en JavaScript es que siempre ha sido algo que mucha gente quiere hacer y sólo unas pocas personas han estado muy entusiasmadas. Probablemente has estado metiendo con JavaScript o has estado escribiendo JavaScript pero la mayoría de las veces habrás usado código de otras personas. Cuando JavaScript apareció, era sólo algo que agregamos a sitios web y aprendimos mirando el código de otras personas. El origen de la vista era nuestro profesor y en realidad miramos lo que estaba pasando, copiamos y pegamos código de otra persona, cambiamos unos números alrededor, esperamos que nada se rompa y entonces realmente teníamos un JavaScript que era nuestro. Esto ha cambiado mucho. Si llevas bastante tiempo usando JavaScript y vuelves mundo ahora mismo y te das cuenta de que
la gente habla de cosas como NPM, como nodos, como paquete web. El lenguaje parece ser mucho más complejo de lo que solía ser, solía ser más parecido a Java,
Ruby, o a este tipo de lenguajes, y quiero que entiendas que esto es normal y esta es una evolución normal y tú lo haces no tienes que sentirte inadecuado al respecto, no
tienes que sentirte preocupado por ello. Simplemente significa que la versatilidad de JavaScript en sí hizo posible que se dirigiera a diferentes direcciones. Entonces, cuando te conviertes en desarrollador de JavaScript hoy en día, podrías ser cualquier cosa; podrías ser solo un desarrollador web que hace algunas cosas hermosas en sitios web con JavaScript, podrías ser un desarrollador de Node que construye API de servidores, microservicios, todo este tipo de cosas geniales, o podrías ser incluso un desarrollador de aplicaciones hardcore para construir algo como Slack o Atom en JavaScript, HTML y CSS y luego empaquetarlo como una aplicación en sí. Ahora bien, si piensas de nuevo lo que solía ser JavaScript, te meterás en muchos recursos en línea que son muy,
muy anticuados y muy,
muy peligrosos de aprender hoy en día. Toma por ejemplo W3Schools aquí que siempre es el primer resultado en Google cuando buscabas algo aleatorio en JavaScript. Te enseña muchas maneras como JavaScript solía estar de vuelta en días y alguna de
la sintaxis de JavaScript que estaba de vuelta en los días, pero mucha de este JavaScript ya no es cómo escribes las cosas hoy en día. Como alguien que lleva años usando estos recursos, tenemos unos cuantos ahorcados de los que debemos deshacernos. Uno de los hang-ups es que los navegadores siempre serán terribles y los navegadores siempre
estarán en nuestro camino y no apoyando las cosas que queremos hacer. Otro hang-up es que nuestros usuarios finales no actualizarán sus entornos y tendrán un problema con las nuevas características que queremos tener. Deberíamos liberarnos de estas hangups y de estos miedos y por eso
necesitamos nuevos recursos para aprender JavaScript y encontrar tu información. Entonces, si quieres buscar algo hoy en día en JavaScript como unos pocos recursos, quiero que pases rápidamente contigo para jugar. Estas son las cosas a las que siempre debes acudir si quieres descubrir algo nuevo y siempre están actualizadas porque son entornos impulsados por la comunidad. Entonces, cuando JavaScript se convirtió en una cosa, mucha gente dejó de escribir JavaScript en sí porque los navegadores donde problemáticos, como Internet Explorer, Netscape, lo que sea, Firefox, más tarde, Opera, todos tenían diferentes formas de lidiar con el idioma porque el idioma no estaba debidamente estandarizado también y no teníamos estándares web antes de ese tiempo también. Cuando llegó el movimiento Web Standard y HTML5 se convirtió en una cosa, eso cambió drásticamente. Nuestros recursos hoy en día, nuestros navegadores hoy en día están basados en estándares y coinciden entre sí qué tecnologías diferentes se
deben usar y qué se convierte de estándar y qué no. Ya no tenemos que correr tras la innovación de los creadores de navegadores y hacer cosas por un navegador y de manera diferente para otro navegador y eso es algo maravilloso. Una de las principales cosas que solía hacer la gente, es usar jQuery en lugar de JavaScript porque jQuery nos ayudó a nivelar el campo de juego, para realmente dar a
los navegadores las mismas experiencias y ya no tuvimos que pensar en estas. Pero hoy en día, los navegadores son tan buenos y los estándares han ido tan lejos que lo más probable es que ya no necesites jQuery porque en realidad estás agregando código extra para un entorno que ya no existe y para navegadores que ya no deberían estar en uso. El primer recurso por el que quiero que te entusiasmes porque estoy muy emocionado se llama caniuse.com. Caniuse.com es un sitio de recursos que te dice lo que los navegadores pueden hacer en estos días y qué navegador admiten qué función en qué formato. El caso de uso más común para CaniUse es que
irás allí para encontrar soporte para algo, digamos, por ejemplo, para buscar API. Una vez que escribes eso, ya obtienes los resultados que te dicen qué es Fetch en reemplazo moderno para XMLHttpRequest y qué navegador lo soporta. También puedes ver los navegadores rojos que no lo soportan y a veces hace navegador amarillo que lo soportan pero tienen problemas. Una vez que haya algún problema,
se enumerará aquí con problemas conocidos donde se puede solucionar alrededor de ellos, en este caso, no
tenemos ninguna pero otras características podrían tenerlos, por lo que sabes dónde están los problemas cuándo se solucionarán y qué está ocurriendo. El asunto que por cada característica que busques tendrás aquí
una pestaña de recursos que te muestre sobre la especificación, tener una demo, ir por Polyfill y luego tener las diferentes plataformas como Internet Explorer edge, Chrome, Firefox y WebKit y ver cuándo lo han estado enviando o cuál es el problema con el estado en este momento. Entonces, si siempre te preguntas sobre tener una nueva función por la que alguien está emocionado y te preguntas si puedes usarla en tus productos con tus usuarios finales, este es un gran recurso a la vista. Se mantiene continuamente, todos los fabricantes de navegadores están dando retroalimentación a los mantenedores de este producto. Entonces, aquí es donde aprender si es seguro
usar algo y también emocionarse por usarlo. Si quieres saber sobre el propio lenguaje Javascript, así que eso es para los nerds hardcore sobre javascript, el grupo TC39 Ecma es en realidad las personas que escriben el idioma. Este es el consorcio o este es el comité técnico que crea la siguiente versión de ese idioma y mantiene la versión actual de ese idioma. Entonces, esta es la fuente principal para el lenguaje en sí, no algún otro recurso que podría estar diciendo como conocemos JavaScript. Estas son las personas que lo hacen. Si quieres buscar algo en JavaScript y quieres ir a ver cómo funciona algo, los docs web MDN para mí son el mejor recurso. No son el mejor recurso porque solía trabajar para Mozilla pero esto es porque donde todos los fabricantes de navegadores se dan cuenta de que deberían poner su información. El MDN web docs es un wiki abierto para que puedas editarlo, también
puedes participar en esta comunidad, y verás características que se pueden actualizar mucho más rápido que cualquier otro recurso por ahí. Entonces, si buscas algo como, por ejemplo, array.map en este caso, no sólo obtendrás un ejemplo de
lo que es sino que podrías obtener todo tipo de información lo que significa. Por lo que te explica que el método de mapa crea una nueva matriz con los resultados de llamar a una función de proveedor y así sucesivamente y así sucesivamente. Puedes ejecutar estos ejemplos en vivo aquí, luego
puedes restablecerlos para deshacerlos también y luego obtienes información
detallada sobre la sintaxis de la misma cómo usar mapa y cómo usar las devoluciones de llamada. Tienes listado a las especificaciones explicando dónde significan diferentes cosas y también
tienes una tabla de compatibilidad de navegadores listada aquí la cual es, curiosamente, proveniente de Caniuse.com. Por lo tanto, estos dos sitios están estrechamente vinculados por lo que esta información siempre estará actualizada también. Si quieres saber sobre los diferentes navegadores y qué tan bien funcionan con JavaScript, también estás de suerte. En los días en que empecé como desarrollador de JavaScript, estos eran códigos negros. Nadie sabía lo que venía, nadie sabía lo que estaba pasando. actualidad, todos los navegadores tienen recursos e incluso cuentas de Twitter donde encuentras nueva información sobre ellos. Este es el de Microsoft para Edge, para Chrome hace el blog de Chromium, para Safari hace el blog de WebKit, para Firefox lo hace, por supuesto, el blog de Firefox y para otros como el navegador Samsung, Opera , todos los fabricantes de navegadores están muy abiertos a los desarrolladores para hablar con ellos e ir por él. Por lo que estos son algunos de los recursos a tener en cuenta cuando se
quiere empezar a trabajar con JavaScript hoy en día. Estos son recursos actualizados, recursos
editables donde puedes participar y puedes hacerlos mejores si quieres. No solo google aleatoriamente en busca de problemas en JavaScript luego copia y pega el código. Toma esos recursos y aprende JavaScript de los creadores de JavaScript y de los implementadores de JavaScript y serás un desarrollador mucho más feliz. Entonces ahora sabemos algunos de los recursos que puedes seguir revisitando y aprendiendo que JavaScript no es lo que solía ser. En el siguiente video, vamos a hablar de algunas de las características que JavaScript está haciendo hoy en día o algunas de las implementaciones que tiene JavaScript que quizás no hayas estado pensando y que no has visto antes.
3. Usos para Javascript: Como alguien que ha aprendido JavaScript hace mucho tiempo, que en realidad es casi vieja escuela al respecto, podrías pensar que JavaScript es algo que acabas de poner en páginas HTML para hacerlas más interactivas y para hacer algo como cargar algo en segundo plano, o descargar algo en segundo plano, o hacer algo más interactivo. JavaScript ha pasado de eso hace bastante tiempo, cuando HTML5 se convirtió en una especificación de repente, la pila HTML se convirtió en algo que depende más de JavaScript que antes. Porque algunas de las características que necesitábamos no tenían sentido sin ella. Un elemento de lienzo no hace nada. Es sólo un lienzo que es lo que en realidad está implícito en el nombre. Entonces, necesitabas JavaScript para hacer algo con eso. Algunas de las otras características de JavaScript han ido de la misma manera. Entonces, la idea de tener un editor de texto, y escribir algo en una página HTML y abrirlo en el navegador, solo para tener JavaScript es bastante vieja escuela y deberías estar pensando más en ello como plataforma, o como un ambiente para construir algo con. Si echas un vistazo por la web, lo que JavaScript está haciendo en este momento, hay muchas cosas de forma. Hay todo tipo de cosas que hacemos con JavaScript y podrías estar al tanto de lo que está pasando ahí. Tomemos por ejemplo algo como three.js. Three.js es una biblioteca 3D que permite hacer animaciones 3D en JavaScript. Algo que en el pasado, siempre
usábamos Flash para. Entonces, JavaScript es un lenguaje ahora que se utiliza para cosas
altamente creativas en lugar de simplemente algo que está en la web para hacerlo más bonito, o para hacer un texto animado en el fondo desplazándose por ahí. Cosas que hemos hecho con Flash en el pasado ahora están firmemente en el espacio de JavaScript porque JavaScript es compatible en todos los navegadores, y no necesita ser descargado y no necesita ser instalado como Flash solía ser, Quicktime solía serlo, o incluso Silverlight solía serlo. Otras cosas que JavaScript está haciendo en realidad se está convirtiendo en parte de tu vida diaria. Slack por ejemplo es probablemente una herramienta que has estado usando y Slack está escrito en JavaScript con HTML y CSS como las otras dos tecnologías. Entonces, en esencia lo que tenemos con Slack, es una aplicación que se ejecutaría en el navegador, empaquetada en un instalador para que puedas usarlos en el escritorio, en tu teléfono móvil y en cualquier otro lugar. El plataforma hace esto en base a que se llama Electron. Electron te permite escribir JavaScript, y HTML y CSS, luego empaquetarlo como una aplicación para instalarlo en tus sistemas operativos y en una plataforma móvil diferente. Por lo tanto, JavaScript escrito para Electron es mucho más probable que sea más fácil para algunos desarrolladores hacerlo porque
no tienes ese desconocido en qué navegador se va a ejecutar. No sabes si el tema de que tus usuarios finales puedan encender y
apagar las cosas porque controlas el código, y también controlas la distribución y el proceso de instalación en los propios sistemas operativos. Un gran cambio en el espacio JavaScript fue cuando Node salió. Node es una versión del lado del servidor de JavaScript, donde se puede escribir cualquier cosa que se usaba para escribir y cosas como Java, PHP o Python, ahora en el propio JavaScript. Entonces, lo que Node te permite hacer es escribir servidores, es ejecutar nuevos microservicios, escribir cualquier cosa que quisieras tener en estos lenguajes más antiguos mucho más complejos ahora en JavaScript. Node es instalable en todas las plataformas por ahí, y en la mayoría de los casos, querrás tener instalado Node porque las herramientas de JavaScript que se escriben en Node, y te permiten ser mucho más efectivo como un El desarrollador de JavaScript es algo por lo que estar realmente entusiasmado y algo para usar. Ahora, como Node está del lado del servidor, y Node es una forma diferente de escribir código, las reglas que aplican para ser desarrollador de JavaScript en Node son diferentes a ser un desarrollador de Javascript que escribe cosas para la web. Entonces, no te frustres demasiado si no
entiendes esto y no quieres meterte en ese espacio, pero todavía hay muchas cosas en Node que son muy efectivas y hacen que sea mucho más efectivo de usar. NPM es el gestor de paquetes de JavaScript. Por lo tanto, las soluciones Node ahora se escriben en paquetes y luego se pueden instalar como paquetes en sus sistemas operativos o también se utilizan como paquetes en su otro código. Como alguien que es de la vieja escuela JavaScript como yo, esto suena muy complejo y en cierto grado lo es. Pero como alguien que viene de un mundo Pro o de un mundo Java, esta es una forma de desarrollo muy sencilla y normal. Entonces, lo que tenemos con NPM en Node es JavaScript nivelando hasta convertirse una verdadera plataforma de software para escribir aplicaciones enormes en y para construir enormes aplicaciones armadas por componentes reutilizables. A medida que la gente está escribiendo aplicaciones masivas en JavaScript, el lenguaje mostró algunos de sus problemas. El carácter de JavaScript de que no tiene ningún tipo, dificultó a las personas que venían de otros idiomas escribir miles y miles de líneas de JavaScript y poder refactorarlas más adelante. TypeScript resuelve ese problema poniendo un sistema de tipos encima de JavaScript, y de esa manera lo hace mucho más escalable y mucho más fácil de refactorizar. Entonces, si escribes enormes aplicaciones en JavaScript, probablemente TypeScript es una buena idea para pensar y TypeScript también tiene el beneficio de ser más estricto en su sintaxis de lo que es JavaScript. Entonces, puedes usar el TypeScript más adelante, vamos a hacer en otro video para mostrarte cuáles son
tus errores de JavaScript mientras realmente los estás escribiendo. No quiero que te desanimes mirando todas estas herramientas y pensando ahora: “Oh, Dios mío. Tengo que entenderlos a todos”. Estas son diferentes opciones de dónde se está utilizando JavaScript, y donde puedes convertirte en desarrollador de Javascript, o puedes volver a aprender siendo un desarrollador de JavaScript. No todo el mundo tiene que convertirse en desarrollador de Node o tiene que usar Electron para construir aplicaciones, todavía se
puede usar JavaScript para construir sitios web normales, y para empaquetarlos de otras maneras o no tocar el lado del servidor en absoluto. Entonces, lo que es Javascript por su versatilidad como lenguaje, es una mezcla de piquetes. Es como, tomas las cosas que quieres usar y carrera sabia, realidad
aconsejaría a la gente encontrar una cosa que realmente te excite, y se concentre en esa. En lugar de ser un jack-of-all-trades, y esperando que tengas tiempo suficiente para estar al día con todas estas diferentes implementaciones porque
lo más probable es que no tengas ese tiempo. En el siguiente video, vamos a hablar de algunas de las opciones que tienes para convertirte en desarrollador de JavaScript, o a veces, realmente no quieres escribir JavaScript sí mismo sino usar algo más que te haga más efectivo.
4. Encontrar Javascript Zen: Bienvenido a este video en la serie de JavaScript redescubriendo. En esta sección, quiero que recuerden que JavaScript es enorme y hay todo tipo de cosas que se hacen con Javascript. Entonces, no deberías sentirte mal si te sientes abrumado mirando a tu alrededor lo que la gente está haciendo con él. Tampoco debes sentirte mal porque otras personas son mejores en ello porque otras personas hacen cosas diferentes. Entonces, a la hora de usar JavaScript en estos días, no
se trata de saber todo. Eso es casi imposible de hacer porque las diferentes formas en que
se implementa Javascript alrededor de la web y alrededor de las pilas de tecnología, pidieron diferentes formas de aprender Javascript y diferentes formas de usarlo. Entonces algo que tiene sentido en un entorno de nodos, no necesariamente tiene sentido en la web y al revés. Entonces, si eres desarrollador javascript que solo quiere usar Vanilla Javascript, Javascript básico sin ningún complemento, sin ninguna característica, sin ningún conjunto de datos a su alrededor o conjuntos de herramientas a su alrededor, MDN Web Docs es donde realmente vas estar viviendo. Aquí es donde encuentras la información y aquí es donde encontrarás emoción. Esta es probablemente una comunidad en la que también quieres unirte y también quieres formar parte. Entonces, ahí puedes brillar, ahí puedes devolver tu información, y ahí puedes hacer lo que realmente te entusiasma y lo que puedes hacer. Si estás más inclinado a usar JavaScript de una manera de construir servicios de software
adecuados o servidores en este tipo de cosas, entonces el mundo de los nodos es donde estás mucho más emocionado. Estos mundos diferentes en JavaScript todos tienen sus diferentes comunidades, tienen diferentes canales de holgura, tienen sus diferentes eventos, y tienen sus diferentes reuniones comunitarias. Entonces, a veces, estás de pie como desarrollador web en un evento de nodo, no
entiendes ni una sola palabra. tanto que como desarrollador de nodos va a una conferencia de diseño y no entiende por qué la gente está
entusiasmada cuando hacen tantas cosas diferentes en JavaScript en el entorno de notas. Entonces, asegúrate de encontrar un lugar en el que estés
emocionado y luego concentres en ese. No mires a los demás de diferentes maneras que lo están haciendo mal. Simplemente lo están haciendo de manera diferente a tú. Tampoco hay nada de malo en tomar un enfoque diferente para el desarrollo mediante el uso de una biblioteca. React es una comunidad enorme y un entorno enorme también basado en Javascript, pero React en sí es un lenguaje que hace las cosas completamente diferente a lo que los navegadores lo hacen, y Vanilla Javascript lo hace. Esto no significa que realmente estés renunciando al costo y en realidad no te conviertas en desarrollador de Javascript. Significa que estás tomando un atajo o estás tomando una espera para construir aplicaciones más grandes, diferentes aplicaciones en una pila diferente. Entonces, mira estas cosas y mira a tu alrededor donde encontrarás tu auto interesado. Puedes quedarte con el mundo Vanilla Javascript y construir todo tú mismo. Puedes ir a un entorno del lado del servidor con nodo o puedes usar UJS, Angular, o React para construir aplicaciones en esa pila, igual que solíamos tener gente escribiendo cosas en jQuery en lugar de JavaScript porque jQuery entonces resolvió el problema de las diferencias del navegador. Reaccionar, y Vue, y Angular, en esos, resolver otros problemas poniendo ideas
arquitectónicas de desarrollo de software en el espacio Javascript. Entonces, nada de estas cosas debe ser o debe ser una barrera para ti. Nada de estas cosas te haría sentir mal. Pero entiende que si eres experto en Javascript, probablemente no
entenderás Reaccionar desde el principio. Tienes que poner esfuerzo y aprenderlo de esa manera de la misma manera Vue.js. A muchos diseñadores les gusta Vue.js porque es mucho más fácil que Vanilla Javascript. Porque cada vez que hablamos de ese JavaScript, hablamos de todas las excepciones de las que tienes que preocuparte. Con Vue.js, muchas de estas cosas se han igualado para ti, lo que puedes empezar a desarrollar algo bonito y hermoso, más simple que entendiendo el lenguaje en sí. Entonces, piensa en Javascript como, de
nuevo, como un pick and mix, como algo a donde puedes ir y no tienes que jugar en todas estas comunidades, pero debes escoger una de ellas y emocionarte en esas. Entonces, espero que te sientas un poco más tranquilo y tengas un poco de sentimiento zen sobre Javascript en este momento, sabiendo que no necesitas jugar en todas las partes y entender todo lo que está pasando a tu alrededor. En el siguiente video, vamos a hablar del entorno de desarrollo para JavaScript, que cambió drásticamente de ser solo un editor de texto en un navegador. Entonces, quiero que entiendas dónde jugar, qué hacer, y qué instalar.
5. Entornos de desarrollo evolucionados: Bienvenido de nuevo a Redescubriendo JavaScript. Esta vez quiero hablar de cómo cambió el entorno de desarrollo en
los últimos años y algunas de las cosas que quizás no estés usando ya, pero debes hacerte mucho más efectivo. Siempre hay algo raro diciéndole a la gente que necesitas aprender esto para ser más efectivo y se siente como mucho trabajo. Pero algunas de las cosas que te voy a mostrar en este momento son tan comunes y son tan útiles, que en realidad no tiene sentido no usarlas. Siempre estábamos súper emocionados como desarrolladores de JavaScript que todo lo que necesitábamos era un editor de texto y un navegador para ejecutar nuestro JavaScript en. Esto ha cambiado con JavaScript ahora siendo diferente a lo que era antes y también los entornos que usamos han cambiado inmensamente. En lo primero que hay que pensar es en cómo cambiaron los navegadores. Los navegadores ya no son los agujeros negros. De lo que no sabemos qué está pasando y cuánto apoyo tienen para JavaScript. También es casi imposible hoy en día apagar JavaScript en un navegador y era mucho más fácil para los usuarios en el día. Pero tenemos un problema en los navegadores hoy en día como personas que tienen complementos como bloqueadores de
anuncios y este tipo de cosas que podrían bloquear tu JavaScript pero como usuarios mismos, gente está mucho más bien con JavaScript siendo activo en los navegadores y la mayoría de ellos ni siquiera lo saben. Todos los navegadores son hoy en día de hoja perenne así que en realidad vienen cada dos días, cada dos semanas, cada mes. A veces faltan hasta tres meses para que salga una nueva versión, pero no es como los cuatro o cinco años que solíamos tener entre diferentes versiones de Internet Explorer y la gente no actualizaba. Por lo que actualizar los navegadores es mucho más fácil de lo que solía ser y eso significa para nosotros como desarrolladores de JavaScript tenemos nuevas características con las que jugar. Cada navegador también viene con herramientas de desarrollador integradas. Entonces, esto por ejemplo aquí está Firefox y si escribo el elemento inspect, puedo ver tengo mi editor HTML, tengo un depurador donde puedo depurar mi JavaScript y vamos a volver a eso más adelante. Tengo editores de estilo. Tengo todo tipo de insights de red e insights rendimiento de mis aplicaciones y tengo una consola ahí dentro. Entonces si solo quieres probar algo de JavaScript, puedes usar eso para realmente escribir JavaScript y hacer como un tres más dos que es matemática en JavaScript pero el editor de JavaScript ahora te muestra esto es cinco. Lo siguiente que tienen los navegadores, todos ellos tienen herramientas de desarrollador. Entonces, está Firefox, por supuesto, con la herramienta Firefox, está Chrome con las herramientas de desarrollo de cromo, que probablemente sean las más sofisticadas en este momento. Edge tiene las herramientas de desarrollo F12 que son mucho mejores de lo que la gente piensa porque no las hemos
mirado desde hace años e incluso Safari tiene algunas herramientas de desarrollador realmente buenas ahí, pero necesitas convertirlo en modo desarrollador primero para mostrar estas herramientas de desarrollador. Los navegadores móviles no necesariamente tienen herramientas para desarrolladores, pero muchas de ellas te permiten conectarte desde tu escritorio a tu teléfono móvil para depurar el navegador en estas herramientas de desarrollador también. Por lo tanto, todos los navegadores en los últimos años
se han convertido no sólo en formas de mostrar y ejecutar JavaScript, sino también en entornos de desarrollo para construir JavaScript y para escribir JavaScript en. El siguiente paso que tenemos es que sustituimos la mensajería de texto normal o los editores de texto que tenemos por editores más sofisticados. Entraremos en detalle más adelante en qué
significa eso y qué beneficios tiene un buen editor para ti. Pero es suficiente decir que muchos de ellos son hackables y eso es lo mejor de ellos. Estos editores están escritos en idiomas que podemos escribir nosotros mismos. Podemos extenderlas con extensiones o podemos escribir, ser parte del código principal porque todas ellas son de código abierto. Entonces, nuestros entornos de desarrollo, nuestros entornos de editor se han convertido en formas para contribuyamos en lugar de solo esperar que
un editor tenga cierta característica y nosotros saltando de editor a editor y teniendo que aprender todas las diferentes características de las mismas para llegar a ser más eficaces en su uso. Lo siguiente que mucha gente tiene miedo
y se pregunta por qué deberíamos estar usándolo es la terminal. El terminal en este caso, aquí está ahora configurado como H en mi máquina OS X o toda mi máquina windows. Yo también tengo el Ubuntu Shell. Es básicamente un Shell Unix por lo que se remonta a las tecnologías de los años 70 y siempre como desarrolladores de
JavaScript nos preguntamos por qué alguna vez necesitaríamos esto. Las personas que escribieron tecnologías del lado del servidor como Java, PHP ,
Perl, eran mucho más eficientes en esas cosas y ya las conocen. No creíamos que hubiera una necesidad ahí. Con Nodos que cambian, Node es JavaScript que se ejecuta en el lado del servidor por lo que todo lo
que necesitas saber, necesitas ejecutar Node in sucede en la terminal. Eso también significa que muchas herramientas JavaScript como procesos de compilación, gestión de
paquetes, etcétera y así sucesivamente sucede en la propia terminal. Entonces, es una buena habilidad tener. No es demasiado difícil aprender la terminal. Se siente un poco raro a veces y a veces harías una solicitud de Node y obtienes como cinco pantallas de mensajes de error aleatorios, no
sabes lo que está pasando. Pero no te desanimes por eso. Lo que puedes hacer en la terminal y lo que haces como desarrollador de JavaScript en la terminal es usar herramientas construidas, usar los scripts, usar entornos Node, pero también hacer tu versión controlando y vamos a tener un especial en video de profundidad más adelante en versión controlando y lo que significa para ti y por qué es algo benéfico. Entonces, la terminal es algo bueno saber. No es necesario tienes que ser un experto en ello, pero hay un montón de buenos materiales de capacitación por ahí y si
solo comienzas por ejemplo nodo puedes ejecutar JavaScript en tu terminal también aquí y puedes salir de él presionando Ctrl+C dos veces. Entonces no serás un experto en la terminal de la noche a la mañana pero es algo en lo que deberías estar pensando porque en estos días están pasando demasiadas cosas buenas en la terminal lo cual es bastante extraño porque se remonta a Tecnología de los años 70 cuando se piensa en ello. Otra cosa que hemos estado usando en el pasado ha sido bibliotecas y frameworks, y por supuesto, hay nuevos frameworks cada semana. Todos ellos nos hacen la vida más fácil, todos son mucho mejores que JavaScript simple y algunos de ellos realmente,
realmente marcan la diferencia. Entonces, emocionate con ellos, mira dentro de ellos. Pero siempre ten en cuenta que ser un experto en una versión de un marco para este mes
por un increíble conjunto de habilidades, por medio año, podría no ser algo que necesites más. Entonces, para mí, los frameworks y las bibliotecas son cosas que hacen nuestra vida más fácil y a veces son necesarias o a veces realmente buenas para el trabajo de proyectos. Pero ser un experto en solo uno de ellos, realidad
podría ser un problema en un futuro cercano si no eres lo suficientemente
flexible como para saltar entre frameworks de vez en cuando también, y conocer las tecnologías de debajo en JavaScript, las características del lenguaje que permiten que estas bibliotecas sean lo que son, es un buen conjunto de habilidades para tener porque entonces te vuelves independiente de la biblioteca que
quieres usar y solo usas JavaScript y la biblioteca para los beneficios que fue escrito para. lo último que estoy realmente emocionado y creo que mucha gente debería usar más, son editores en línea o como patios de juegos. Este es JS bin aquí por ejemplo. JS bin es una oportunidad para que escribas un JavaScript, CSS y HTML y lo ejecutes directamente en el navegador. Entonces, en este caso, cuando ahora tengo un div aquí y quiero hacer algo con él. Entonces, en CSS puedo decir que el div debe ser un color de fondo verde y darle un ancho y alto. Entonces lo que estoy haciendo, ya ves que hay un div verde aquí en este momento y en JavaScript ahora puedo conseguir una referencia a eso. Let d es igual a document.querySelector ('div'); y luego se puede decir div.style.width equivale a 400 píxeles. Si utilizo ese ahora y debería ejecutarlo, entonces algo debería pasar. Corre con JS y se convierte en el otro ancho aunque en el CSS tiene un ancho de 10 píxeles. Estas cosas son geniales para probar las cosas rápidamente sin tener que configurar nada en su computadora usted mismo. Otros como la pluma de código también tienen todo tipo de compiladores como pre ahí por lo que si quieres usar SaaS o quieres usar una biblioteca como view JS o React sin instalar nada de ella, estas son grandes maneras de intentar sacar estas cosas. También son colaborativos para que otras personas puedan hacer una copia de lo que has hecho y cambiar el entorno y hacer algo con ellos. Entonces, hay tres cosas que puedes hacer con esas. Juega con las cosas, pruébalas, pide ayuda. Entonces cuando tengas algo que no funcione en tu código, escribe una pequeña demo en una de esas cosas y manda ese enlace gente realmente pueda editarlos por ti o editarlos contigo de forma colaborativa y luego puedes encontrar el problema juntos aparte de tener que describir cuál es tu problema. Entonces, estas son grandes herramientas para la enseñanza. Estas son grandes herramientas para aprender y estas son grandes herramientas para simplemente colaborar con otras personas y cuando usas los preprocesadores y configuraciones que puedes hacer en este POA JavaScript, puedes decir todo tipo de pre-compiladores y todo tipo de motores diferentes que puedes usar. Significa que no tienes que configurar tu computadora. Significa que no tienes que meterte con tu entorno, solo
tienes algo en línea con lo que juegas y si te gusta, entonces puedes empezar a configurar tu máquina, y aquí es donde JavaScript cambió del pasado. Ahora tenemos todo un ecosistema de herramientas de desarrollo con las que trabajar. Entonces, para repetir, los navegadores son de hoja perenne y todos vienen a herramientas de desarrollo. Por lo que deberíamos usar las herramientas de desarrollador y entender cuáles
son sus beneficios en lugar de poner alertas o registros de consola en todas partes de nuestro código. Bibliotecas y marcos nos ayudan a hacer cosas que no son tan fáciles de hacer en JavaScript nativo. Si solo quieres tener algo simplemente hecho, esa es probablemente una buena idea pero podría ser peligroso confiar sólo en ellos. Los editores son mucho mejores que los editores
de texto del pasado porque ahora todos están integrados. Están abiertos, son extensibles y puedes escribir código en ellos para ellos. Herramientas en línea como la bin JS o las papeleras de código son una gran oportunidad para que pruebes cosas sin estropear tu propia computadora y mandes cosas a otras personas para que trabajen en ellas de manera colaborativa. Entonces esto son solo algunas de las cosas donde funciona JavaScript y la terminal es la última donde hacemos mucho como el control de versiones y herramientas en JavaScript mismo. Conocer todos estos es toda una molestia o es todo un trabajo, pero te hará mucho más efectivo y no necesitas ser un experto en todos ellos. Solo necesitas probarlos cuando los necesites y encontrar alguna información en línea. De eso quería hablarte en este video.
6. Beneficios de los buenos editores: Bienvenido de nuevo. En esta sección de redescubrir Javascript, quiero hablar de las características del editor que
deberíamos estar usando porque simplemente tienen sentido total. Siempre hemos estado muy emocionados de que solo necesites un editor de texto para escribir JavaScript o incluso una línea de comandos si quisieras pero tenemos tantas grandes herramientas en estos días para
que nuestras vidas sean mucho más fáciles y nos permitan escribir código predecible, código mantenible, porque el propio editor tiene características ahí para nosotros. Para este ejemplo, vamos a usar Visual Studio Code,
que es un editor de código abierto de Microsoft. También puedes usar Atom, puedes usar todo tipo de otros editores. La mayoría de los framework tendrán editores propios. Me encantan las características que tenemos y estos editores son iguales para todas estas diferentes herramientas. Entonces, solo quiero hablar de algunas de las características que
quizá no hayas visto aún en estas. No todos ellos están basados en Javascript, algunos de ellos también hablarán de HTML y CSS, pero S Javascript se usa junto con esas tecnologías. Sí tiene sentido pensar en ellos también. Ahora, obtienes Visual Studio Code solo
entrar en code.visualstudio.com y puedes descargarlo ahí. Puedes descargarlo para Mac, Linux, o Windows. Entonces, es una plataforma cruzada, código
abierto, editor gratuito, que solo puedes instalar en tu máquina y se ejecuta automáticamente desde ahí. Se actualiza a sí mismo también y puedes iniciar sesión para como conseguir la vista previa del desarrollador si realmente quieres emocionarte con ello. Cuenta también con documentación extensible sobre el propio editor. Qué significa, cómo usarlo, qué tipo de características vienen, qué tipo de característica que tiene Node.Js y para JavaScript, cómo depurarlos, y cómo hacer conjuntos de características para diferentes entornos que desea tener. Estos se están actualizando constantemente y también puedes editarlos si quieres. Si encuentras algo mal en esta documentación, por favor edítalos y envíalo de vuelta al equipo y obtienes características de eso. Ahora, lo primero que hay que recordar aquí o lo
que es muy importante es que se llama Visual Studio Code pero no tiene nada que ver con Visual Studio. Visual Studio es una idea que es la mayoría de las veces para mí como desarrollador de Javascript excesivo por lo que estamos haciendo. Tiene sus beneficios por supuesto para usarla a otros idiomas. Es un ambiente de desarrollo muy grande pero no es estudio visual. Entonces, no necesitas preocuparte por que sea un producto de Microsoft, tienes que hacer todo con Microsoft. Este es un producto de código abierto que es mantenido por gente de
Microsoft pero también gente del exterior participan en eso. Entonces, algunas cosas que quiero señalar que los editores tienen hoy en día que creo que son mucho más emocionantes que lo que teníamos en el pasado. Lo primero que ves aquí es un esquema de colores y este disco ya me ayuda en mi código para ver qué es qué. Entonces este es el selector de consulta de documentos y este aquí es un valor por ejemplo. Entonces ves en tu código qué es qué, eso te permite deslizarte fácilmente por tu código y entender lo que estás haciendo, lugar de tener solo un texto negro sobre fondo blanco o
texto blanco sobre fondo negro que necesitas entender qué es qué. Lo siguiente que hacen estos editores lo que es bastante sorprendente para ti es que puedes cambiar esto a tus necesidades. Si necesitas por ejemplo, una fuente más grande, entonces puedes cambiar a diferente cara de fuente puedes tener una cara de fuente diferente. Todas estas cosas son modificables, por lo que puedes hacer de esta cosa tu editor la mejor manera que quieras tenerla. Ahí hay un montón de escenarios,
hay mucha gente escribiendo sus propios temas. Hay toda una suite, hay toda una comunidad alrededor de aparentar diferentes editores y mover el tema de un editor a otro. Pero todas estas cosas están destinadas para que
tu código sea más legible para ti mismo y más legible para la siguiente persona que tiene que mantener tu código que en realidad podría ser tú en un futuro cercano. Lo siguiente que me encanta de los editores hoy en día es que hacen automáticamente cosas por ti como sangría. igual que por ejemplo, cuando tienes una nueva función aquí llamada Myfunction, y haces los corchetes, ves que ya sangró en la siguiente línea de esa manera haciendo que tu código sea mucho, mucho más legible. Ahí hay configuraciones automatizadas y copias y pegas una función en o un trozo de código en, y lo establece para ti de la forma en que se supone que debes hacerlo. Eso es más o menos poderoso porque en el pasado, tenías todas estas quejas sobre que una persona utilizaba el espacio, hay una usando pestañas. En este caso, solo puedes definir aquí abajo si quieres espacios o pestañas, y puedes cambiarlos para convertirlos de espacios a pestañas, y puedes hacer el código de índice de sangría automatizado por ti mismo. Entonces, mientras estabas escribiendo código, la sintaxis del código o el aspecto y
la sensación del código lo hace el editor lo cual por supuesto hace mucho,
mucho más fácil ser mantenible y hacer que tu código sea mucho más legible, y puedes concentrarte en escribir tu código lugar de peinar tu código en consecuencia a eso. Ahí también hay todo tipo de características interesantes. Al igual que cuando tienes algo así como un oyente de advenimiento aquí, puedes hacer una escritura común para resaltarlos todos y como puedes ver, ahora
tenemos diferentes cursores aquí. Entonces, en lugar de tener un cursor, ahora
tienes un cursor después de cada uno de ellos. Entonces si quieres cambiar el nombre de todos ellos a otra cosa, puedes hacerlo simplemente pulsando borrar y renombrarlo a otra cosa. Entonces de esa manera, no tienes que hacer eso poco a poco y seguir repitiendo las cosas, y cuando repetimos las cosas, cometemos errores. Entonces de esta manera, un editor te ayuda
mucho, mucho mejor para averiguar qué está pasando. autoterminación es algo que la mayoría de los editores tienen para ti hoy en día también, y esto es muy, muy útil porque hace dos cosas. En primer lugar, asegúrate de no escribir mal las cosas, y en segundo lugar, escribes mucho menos, y mucho menos escribir significa que puedes escribir más código en menos tiempo y también tienes menos tensión en los dedos. Entonces por ejemplo, si quiero reescribir esa primera línea aquí, empiezo con un botón de reinicio, y se dio cuenta ya tengo definido un botón de reinicio. Entonces todo lo que tengo que teclear es descanso o todas las demás cosas que pudieran ser aplicables a él. Entonces, entonces solo golpeo la finalización superior y tengo botón de reinicio. Enseguida inicio el AdDevENTListener. En este caso, también podría tomar el AdDeventListener y resaltarlo, y de esa manera aprendí lo que significa AdDeventListener. Si no recuerdo por ejemplo, el orden de los parámetros en este o no
sé qué tipo de características están disponibles para mí. Entonces, en este caso, MSPointerUp, touchstart, pointercancel y así sucesivamente y así sucesivamente. Ahora sé cuáles son estas cosas con solo hacer clic en ellas y conseguir un auto completado para mí mismo. Entonces esto es lo que hace un buen editor por ti y hace que sea mucho más sencillo escribir mucho más código sin hacer ningún error tipográfico. Ahora si tienes una enorme cantidad de código, esto no es demasiado de una enorme cantidad de código, es solo un juego sencillo que he escrito. Se puede ver que un buen editor tiene estos mapas aquí también. Por lo que puedes saltar en el mapa mismo a cierta parte en lugar de simplemente tener que hacerlo línea por línea. Entonces ese es un bonito atajo para saltar a una sección en el código también y te da una visión general de cómo de grande es el código que has escrito hasta ahora. Otra cosa interesante es que cuando tienes una gran cantidad de código, a veces
te preguntas qué es algo que llamas un pájaro. Entonces, por ejemplo, tengo una función que llamaste clearmove, y aquí dice, ok, ¿eso define moverse constantemente? Y si hago clic en esa, puedo decir Peek Definition, y de esa manera, puedo ver dónde está la función en la otra parte del código. Entonces, no tengo que desplazarme de ida y vuelta entre las dos secciones para entender lo que estoy haciendo. Por lo que solo puedo hacer esto con un poco su Control-F12 o con un ratón aquí, y de esa manera realmente puedo entender dónde estoy. Entonces puedo ver que este código está aquí, el otro código está aquí, así que habría tenido que saltar todo el documento solo para hacer esa mirada. Entonces estas son algunas cosas que son muy, muy poderosas de hacer aquí a la hora de escribir JavaScript. Otras cosas que un buen editor debe hacer por ti es también permitirte tener varios editores uno al lado del otro. Entonces en este caso, puedo dividirlo aquí y puedo tener mi HTML junto a mi JavaScript, así que veo cómo interactúan los dos y puedo saltar entre ellos. Una característica extra que tiene algo como Visual Studio Code es que tiene todo el entorno del que hablamos antes, la depuración y la consola directamente en un editor. Por lo que no es necesario saltar entre la terminal y el editor todo el tiempo porque aquí tienes un terminal incorporado en el sistema. Entonces, podría simplemente hacer mis comandos construidos en mi versión controlando comandos directamente en el editor sin tener que saltar entre la terminal y mi editor todo el tiempo. A veces es bueno saltar entre los dos porque estás cambiando de opinión, pero también es bastante pesado en tu pensamiento cognitivo ir de un editor a otro. tanto que, si te quedas en este, puedes hacer todos los comandos que necesites hacer aquí. Así que sigue haciendo tu desde el control de versiones, puedes hacer tus scripts de compilación, y todos esos también podrían ser automatizados. Por lo que cada vez que guardo algo en el editor, haría automáticamente parte de mi script construido o parte de mi despliegue por mí. Entonces de esa manera lo tienes todo en un solo editor. Esto también es genial si enseñas a la gente algo sobre desarrollo web, solo
puedes darles este editor en lugar de decir que necesitas un editor, necesitas configurar tu terminal, necesitas instalar tus terminales de esa manera. Otra cosa que hace es pelar. Entonces, por ejemplo, tienes menos CSS aquí, y tengo un linter instalado. Entonces si le muestro los problemas, debería decirme cuando algo sale mal. Entonces puedes ver aquí, ahora tengo un semi colon que eliminé, y de repente, el fondo se vuelve rojo y tienen líneas garabateadas debajo de esas cosas. Eso es como cuando haces un error tipográfico en palabra, lo hace ahora dentro del código. Entonces en este caso, olvidé el semi colon que ahora es un error aquí, es semi colon esperado, y luego, el resto del selector CSS también se rompe porque el semi colon no está ahí. Entonces si ahora vuelvo a poner un punto y coma ahí, entonces todas estas flechas se van. Entonces, de esa manera, he obtenido información directamente mientras estoy codificando que estoy haciendo algo mal en lugar de tener que ir al navegador, depurarlo, y encontrar mis problemas de esa manera. Puedes hacer lo mismo en JavaScript ya sea instalando una extensión o
también puedes usar solo hacer un comentario encima de tu JavaScript llamado ts-check. Ese usa scripts de tipo linter para ejecutar de nuevo tu JavaScript. Entonces en este caso, ahora me muestra todos los errores de JavaScript que cometí en este, y algunos de ellos en realidad no son realmente errores pero hay falsos positivos. Pero si cometía algún error, automáticamente me lo diría. Entonces, por ejemplo, si eliminé ese juego aquí y traté de acceder al juego en otro lugar, dice: “No se puede encontrar el juego”. Entonces en este caso, no he definido el juego, así que en realidad no puedo hacer giros de juego porque no existen. Eso sería un error que el navegador me
lanzaría y tendría que depurar ahí. Pero como tengo la linter encendida en el propio editor, me muestra las cosas mientras la estoy codificando y esa manera me convierto en un mejor desarrollador porque no cometo errores. También ven los puntos rojos aquí, estos nos están diciendo dónde están todos los problemas de los que acabamos de hablar. Entonces algunos de ellos tienen estos temas y te vuelves a la línea garabateada, y luego te dice cuál es el problema de estas cosas. Lo último que es genial en este editor es que tiene incorporado el control de versiones, y vamos a hablar de control de versiones más adelante. Entonces, cuando cambias algo y haces clic en él, realidad
puedes ver las diferencias en tu fusión. Entonces en este caso, si quiero enviar esto de vuelta al servidor, me dice ahora que se han agregado estas dos nuevas líneas, y estas dos líneas han sido eliminadas, y aquí también se ha cambiado lo del juego. Entonces consigo, antes de enviar algo al servidor a mis compañeros, me
dice todas las cosas que sucedieron. Entonces, en esencia, un buen editor debería hacerlo en primer lugar, fácil para ti escribir al tener un buen equipo y hacer más fácil
escribir cosas al tener auto completado y la sangría y estas cosas para ti. Los bits extra que me encantan de Visual Studio Code y otros también, en su lugar tiene un terminal incorporado, tiene la pelusa incorporada, y me dice cuando estoy haciendo algo mal mientras estoy haciendo algo mal en lugar de tener que averiguarlo rastreando el navegador y luego rompiéndolo. Por lo tanto, piensa en configurar tu editor para ti, y si eliges usar un Visual Studio Code,
sabrías que es un editor de código abierto y no desaparecerá, y eso también es una gran cosa. Entonces ahora ya sabes cómo un buen editor puede hacerte un mejor desarrollador y encontrar las extensiones para
ello, en realidad es algo para hacer tu editor también. Siguiente Quiero hablar de algo que es muy importante cuando quieres trabajar con mucha otra gente y también cuando quieres asegurarte de que lo que has hecho hoy es comprensible en tres semanas, y eso es el control de versiones.
7. Control de versiones: Bienvenido a esta parte del curso de redescubrimiento de JavaScript, donde no estamos hablando de JavaScript per se pero estamos hablando de código, y estamos hablando de control de versiones. El control de versiones es algo que quizás no te hayas encontrado si eres un freelancer o simplemente escribiste algo de JavaScript para ti mismo. Pero, en cuanto se trabaja en un ambiente donde varias personas, o con diferentes clientes, o con otras personas, control de
versiones es una necesidad absoluta, porque no hay nada mejor que tener algo que te dice y te obliga a describir lo que has hecho. Siempre pensamos que estamos bien al mirar nuestro código unas semanas después después de no haber probado con ellos. Pero, créeme, cuanto más esperes, más vuelves a tu código. No tienes idea de lo que has estado haciendo y tampoco
tienes comprensión de lo que está pasando, también. Controlar versiones es como crear diferentes archivos zip y nombrarlos versión uno,
versión dos, versión tres o crear carpetas diferentes no
es lo más inteligente de hacer porque también te confundirás en el futuro. Por lo tanto, asegurarse de que el nuevo código viva en
otro lugar que no solo en su máquina es una forma
muy, muy sencilla de asegurarse de que su código siga vivo incluso cuando algo salga mal y simplemente tenga una copia de seguridad en otro lugar. Ahora, en cuanto al control de versiones, teníamos muchas herramientas en el pasado. Teníamos como Visual SourceSafe, teníamos SVN, teníamos CVS, teníamos equipo de CodeStar. Trabajé con cerca de 15 tipos diferentes en diferentes empresas a lo largo de los años. En los últimos años sin embargo, git se ha convertido en el estándar para casi todos los que están ahí fuera. Git es un sistema de control de versiones que también es un sistema de código abierto. Está disponible de forma gratuita. Puede descargar en git-scm.com. Pero lo que hizo que git realmente, realmente interesante para el mundo de código abierto y para todos demás también es que GitHub se dio vuelta. GitHub es un entorno o una comunidad alrededor del código. Se trata de una plataforma social de código. Lo que GitHub te permite hacer no solo es enviar tu código ahí para que esté alojado, que otras personas puedan descargarlo ahí, sino que hace la versión controlando usando git bajo el capó. Entonces cada vez que cambias algo y lo envías al sistema, tienes que escribir un comentario, lo que has hecho y lo que has cambiado, y que al final es una gran oportunidad para que sepas cuándo algo salió mal o averiguando cuándo ocurrió un cambio que no querías tener. Entonces, al obligarte a poner tus cosas en el control de versiones, escribes documentación para tu código en forma de mensajes de commit ya, y eso es algo que tendrás que hacer en el futuro cuando trabajes en equipos
más grandes de todos modos para que la gente entienda lo que has estado haciendo. La otra cosa con la que controlar la versión, por supuesto, te
ayuda es que puedes mantener, por ejemplo, una versión única de tu código en una de las ramas y puedes crear otra rama y ser creativo con ella. Entonces, en el control de versiones, siempre se
puede revertir las últimas versiones e ir a las siguientes versiones. Entonces, cuando algo sale mal, tienes un paso adelante y un paso atrás. De esa forma dejas una pista y dejas tu código siempre de manera funcional. Lo realmente interesante de GitHub como plataforma sin embargo es que, tienes todo tipo de cosas de la comunidad dando vueltas y a la gente le puede gustar tu código, gente puede darte estrellas, gente puede comentarlo, gente puede hacer solicitudes de tirar, tomar tu código, copiarlo a su repositorio para hacer dos cosas diferentes con él mientras todavía estás trabajando en la otra, y cuando tienen cambios que son interesantes, los
envían a ti y al sistema encuentra automáticamente la diferencia entre los dos y los fusiona sin romper tu código. Eso es algo que es casi imposible de hacer a mano y realmente significa que hay que hacer mucha comunicación con la otra persona. El sistema ha sido escrito, git ha sido escrito para asegurarte de que siempre puedes fusionar estas dos cosas para que ambas funcionen juntas. Eso significa que en una gran pieza de código, varias personas pueden trabajar al mismo tiempo en diferentes lugares, en diferentes zonas horarias, en diferentes formas de escribir, en diferentes editores y el código vive en el repositorio y ahí es donde todo el mundo lo encuentra. La otra cosa que hace que GitHub sea muy interesante es una forma sencilla de mostrar realmente también tus sistemas. Entonces, en el último video, mostré que tenía este jueguito aquí llamado quince y tres, que es sólo un jueguito del que escribí para mí mismo, y no quería ponerlo en ninguna parte del servidor. Pero lo tengo en mi versión controlando aquí en GitHub. No tengo ninguna solicitud de pull o temas que la gente me mande todavía porque no se lo he mandado a la gente y no he hablado con la gente mirándola. Tengo una sola persona viéndolo. No sé quién es ese, pero pronto nos vamos a enterar de eso. Lo bueno de esto es, ahora mismo que el código está aquí para editarlo, pero también tienes una rama de páginas GitHub, así que ahora puedo ir al mismo repositorio aquí y en lugar de tener el, puedo hacer un codepo8.github.io y quince y tres, y luego puedes jugar el juego. Entonces, no solo uso GitHub para hacer seguro mi código y mantenerlo ahí para mantenerlo, sino que también hospedo una versión ejecutable de ese en ese repositorio. Entonces, puedes jugar el juego aquí. Puedes probarlo. Se lo puedes enviar a la gente. Entonces, en este caso, uno más cuatro veces tres equivale a 15 y tengo aquí la respuesta de escritura. Entonces, este es el tipo de cosas que son geniales para probar cosas y enviarlas a la gente, y puedes convertir fácilmente un repositorio de GitHub en una página alojada con solo crear una nueva sucursal llamada páginas GH. Todo eso está bien explicado en la página de GitHub. Podríamos pasar por ello ahora mismo, pero si vas a GitHub, ahí hay toda la documentación, y podría cambiar en el futuro, así que asegúrate de ir siempre a la documentación misma. Lo grandioso de este es que no tengo que importarme el hosting. No tengo que preocuparme por la seguridad del servidor. Simplemente tengo mi código corriendo donde está
el repositorio y de esa manera puedo hacer cosas hermosas. También puedo tener un archivo readme.md que en realidad explique de qué se trata mi repositorio, y esa es una forma de que la gente se entusiasme con ello. Entonces, por ejemplo, en mi repositorio, tengo este tinderesco que la gente ha estado usando desde hace tiempo. Esta pequeña interfaz de clasificación de cortes, y he hecho sólo un gif animado para mostrar cómo es. Explicé cómo usarlo, y cómo extenderlo, y dónde descargar el código. Entonces, donde hospedo mi código, también
escribo mi documentación. Guardo todo en un solo espacio para que no se salgan de sincronía. No salen del versionado, y todo se mantiene en una sola cosa. Todo lo que necesito es un editor y un terminal para enviar cosas al repositorio de GitHub. Como desarrollador profesional o simplemente desarrollador que quiere asegurarse de que mi código no sea sobrescrito por mí, control de
versiones es algo muy, muy sencillo. actualidad, con GitHub siendo libre y con git libre, es mucho más fácil hacer eso de lo que solía ser en el pasado. Entonces, piensa en usar el control de versiones no solo para compartir tu código con otras personas sino para asegurarte de que realmente te acostumbre a documentar lo que estás haciendo en tu código para que la gente no tenga que entender tu pensando en tu código. Escribes tu documentación de tu código como comentarios
fuente en lugar de simplemente escribirlos como comentarios en tu código, que son mucho más difíciles de seguir y no tan fáciles de entender. Entonces, el control de versiones me ayudó mucho a compartir mucho con la comunidad, a sacar cosas de la comunidad, a reutilizar el trabajo de otras personas, y a que la gente me arregle las cosas sin que yo tenga que explicar en 500 correos electrónicos lo que quería tener porque simplemente miraron el código, lo
arreglaron, me enviaron una solicitud de pull y juntos construimos algo increíble. Como desarrollador de JavaScript en 2018, creo que esa es una de las cosas más grandes, ser parte de una comunidad y la herramienta de comunidad es GitHub porque ahí es donde vive nuestro código y nuestros comentarios. GitHub no solo es para proyectos de hobby y para hacer que tu propio código sea más mantenible, es la plataforma que todo el mundo utiliza. Código Visual Studio, el editor en sí está en GitHub. La mayoría de los navegadores están disponibles en GitHub. La mayoría de los frameworks que estás usando como actuamos VueJs y este tipo de cosas se mantienen, y se escriben, y tienen su comunidad en GitHub. También es una gran oportunidad para que te metas a la comunidad JavaScript no necesariamente por ser un buen programador, pero si solo averiguas si alguien tenía un error tipográfico en su documentación, puedes ayudarlos arreglándolo directamente en GitHub, enviando una solicitud de pull y convirtiéndose en parte de un proyecto solo ayudando con algo que conoces mejor que otros, que en este caso podría ser inglés en lugar codificar y la gente estará contenta con eso. Hay muchas empresas que tienen dólares para principiantes en sus repositorios, algo que es sencillo de arreglar pero un ingeniero en el producto podría hacer fácilmente pero tú como recién llegado podrías tratar de arreglar para entender cómo el producto se construye. Entonces, de esa manera puedes meterte en el producto arreglando algo sencillo y ya tener una experiencia positiva empezando por él. Entonces, GitHub no es nada de lo que dices es solo algo que la gente hace en su tiempo libre. Es el recurso número uno en este momento donde todo sucede en el código abierto y en las tecnologías libres. Entonces, eso fue todo sobre el control de versiones y cómo puede ayudarte a convertirte en un mejor desarrollador comentando tu código y poniéndolo a disposición de otras personas. El siguiente paso que creo que deberíamos tomar como desarrolladores de JavaScript es dejar de poner consola y alertas en todas partes y realmente mirar cómo funciona la depuración en diferentes entornos.
8. De la depuración al linting (evitar errores): Bienvenido a este video en la parte de la Serie Redescubriendo JavaScript. De lo que quiero hablar, la idea de pasar de la depuración a la pelusa, o pasar de escribir código, cometer errores, descubrir los errores, y luego arreglarlos para evitar cometer errores. Últimamente, he empezado a escribir mucho más en diferentes entornos y he encontrado que en una de mis herramientas favoritas en casi todos los editores de texto como por ejemplo Microsoft Word, es que cuando escribo algo mal, obtengo un línea ardiente debajo de ella y me dice que algo anda mal ahí. Entonces, antes de enviarlo realmente o antes de imprimirlo, encuentro que he hecho algo mal y que la herramienta
me convierte en un mejor escritor diciéndome qué va mal. Probablemente hayas visto esto y todo tipo de editores y mayoría de las veces los sistemas operativos también lo tienen. Otra herramienta que formará parte de los archivos adjuntos a este video que me encanta usar es Hemingway editor, que es algo que no sólo me dice si he escrito algo mal en sintaxis, sino que también me dice cuando mi inglés es demasiado compleja o cuando usaba palabras que podrían ser más simples o palabras que podrían ser más cortas. Entonces, me hace un mejor escritor por la herramienta diciéndome mientras estoy creando algo, que algo está pasando. Quiero que pienses exactamente en los editores de código de la misma manera. Se puede configurar pelusas en todo tipo de entornos. En Visual Studio Code por ejemplo, hay extensiones para el linting CSS, y también hay extensiones para el linting de JavaScript, y está el linter integrado TS, TypeScript para mostrarte tus errores en JavaScript que lo he hecho. me has visto mostrarte eso antes en el video de Visual Studio Code, entonces, ya no tenemos que repetirlo. Pero creo que es un paso muy importante entender que tienes herramientas que te dicen que algo va mal antes de que lo hagas mal en lugar ir ese círculo completo entre el navegador-editor, navegador-editor, y averiguar qué es yendo mal. Cada código, cada error que no has escrito es un error guardado y en realidad asegúrate de que tus usuarios finales tampoco encuentren errores. Una de estas cosas a recordar es también que, como desarrolladores de JavaScript en el pasado, lo principal que hay que hacer para averiguar algo es
realmente poner un registro de consola en algún lugar de tu documento o antes de que eso, incluso alerta en nuestro documento. Cuando escribes una alerta en un JavaScript, realidad detiene la ejecución del script, hace cuadro de alerta en tu navegador que tienes que presionar OK, y luego sigues con eso. Con el registro de consola, obtienes la información en la consola de las herramientas de desarrollador del navegador y obtienes la información ahí. Hay dos problemas con los dos. En primer lugar, agregas código extra a tu código que no tiene ningún sentido para el usuario final ni para el producto final. Nunca deberían estar ahí. Ningún registro de consola debería aparecer nunca en un sitio web en vivo porque en
realidad podrías regalar alguna información o alguna idea sobre tu código que la gente no debería ver, y la gente se confunde cuando obtiene este tipo de mensajes y mucho por supuesto, es un error masivo. La gente dice como "¿Por qué esta cosa me dice que presione OK antes de poder ir al Sitio Web?” Pero incluso un registro de consola puede ser confuso para la gente porque se preguntan qué pasó cuando su computadora de repente
les dice algo que no esperaban. Entonces, en lugar de usar la técnica de registro de consola o la técnica de alertas, una cosa importante que hacer es un nuevo desarrollador o como desarrollador hoy en día, es acostumbrarse a usar puntos de ruptura. La depuración de Breakpoint ha sido una cosa muy común en otros idiomas desde hace años y años, y JavaScript tenía una depuración de punto de ruptura en hace mucho tiempo también. Al igual que incluso en Internet Explorer Four, había herramientas que podrías agregar al navegador que te
dieron depuración de punto de ruptura en lugar de registro de consola. Entonces, ¿qué quiero decir con eso? Diga por ejemplo, tenemos aquí mi juego del que hablamos antes, la cosa del quince y tres. Si entro a las herramientas de desarrollador, diría, “Abrir herramientas de desarrollador” y en mi depurador, establecí un punto de ruptura en algún lugar de mi código. Entonces en este caso, tengo mi fifteen-three.js aquí. Y ahora digamos algo a donde iría, getdice, por ejemplo. Aquí puedo hacer un punto de ruptura. Pongo un punto de ruptura con solo destacar esto ahora mismo, y si ahora empiezo a jugar el juego y presiono este dado aquí, este punto de ruptura se detiene. Por lo que se detiene la ejecución de mi código. El sitio web no sigue ejecutando el resto del código. El propio editor sólo tiene algo aquí. Ahora tengo que Call Stack aquí y tengo todos los ajustes. Entonces en lugar de tener que escribir un registro de consola yo mismo, lo que tengo que decir consola log lo que quiero tener. Tengo toda una información sobre lo que está pasando aquí, tengo esta ventana, tengo el botón en el que hice clic, definí el elemento T donde ahora sé cuál es el botón y así sucesivamente y así sucesivamente. Entonces en lugar de tener que repetirme con muchos registros de consola, obtuve toda la visión de lo que sucede para obtener la función de dados que se llama aquí. Los argumentos que entraron, el primero fue un cero, click, y puedo obtener detalles de esos así de lo que pasó ahí. Entonces, al usar la depuración de punto de ruptura, puedes escribir tu código y luego puedes pasar al siguiente paso del mismo. Ahora no funciona porque nosotros en el momento
aquí fuera hicimos algo diferente pero es algo que se hubiera arreglado antes. Así que piensa en los puntos de ruptura como tu amigo para meterte dentro sobre toda la imagen de lo que podría haber salido mal con tu código, en lugar de solo un registro de consola donde enumeras una cosa que salió mal. Por lo tanto, pasar del registro a la depuración es un gran paso para convertirse en un mejor desarrollador, y pasar de desarrollar a linting o de depurar a linting es algo que asegura que no escribas bugs que no tienes que arreglar. Simplemente evita escribir bugs para empezar, y este es un gran comienzo para convertirse en un desarrollador de JavaScript más feliz. Entonces espero que estés de acuerdo en que linting es algo que te ayuda a no cometer errores, mientras que la depuración es algo que donde
cometiste errores y te enteras de lo que pasó. Entonces tiene sentido conocerlos a ambos, pero la parte limitante es algo nuevo que normalmente no tocamos. Hablando de algo nuevo, en el siguiente video, voy a hablar de cómo mantenerme al día con lo que está pasando en el espacio JavaScript y asegurarme de que estás acostumbrado a las cosas para cuando estén listas para ser usadas.
9. Mantenerse al corriente en JS: Bienvenido a esta parte del curso de redescubrimiento de JavaScript, donde voy a hablar de algunas de las cosas en un nivel superior. Nuestro problema con los desarrolladores de JavaScript del pasado es que llevamos mucho dolor y miseria con nosotros recordando lo malas que eran las cosas en el pasado. Siempre tuvimos malos entornos como navegadores que no podíamos controlar, editores que no hacían las cosas que hicimos. El control de versiones no era una cosa así que muchas veces nuestro código tuvo que ser reescrito cuando algo salió mal y guardarlo en discos duros malos y así sucesivamente y así sucesivamente. Entonces, muchas veces cuando nosotros como personas que hemos estado usando JavaScript durante mucho,
mucho tiempo especialmente en la web, vamos a escuchar sobre las nuevas tecnologías. Llegamos a ella con sentido de amenaza y pensamos que esto no es lo correcto y no va a suceder. No puedo usarlo sin embargo mis usuarios finales no tendrán este tipo de cosas y nos volvemos muy protectores a nuestro conocimiento. Las cosas que hemos estado usando durante años y años son las cosas que siempre funcionarían y esas cosas nuevas con las que funcionan los kits cool sólo cosas novedosas que nadie debería estar usando. Esta no es una actitud saludable en un ambiente que se mueve tan rápido como lo está el espacio JavaScript en este momento. Entonces, quiero que reconsideremos algunas de nuestras maneras, lo que hemos estado haciendo y también descartemos parte de nuestro conocimiento de cosas que han ido mal. hecho de que algo saliera mal en los navegadores hace 10 años
o hace cinco años, o tuviéramos un problema para entendernos por qué algo como no sillas sería algo genial de hacer, no
significa que no sea algo bueno. En realidad significa que nos estamos volviendo rancio y estamos cometiendo los errores de asumir que las cosas van mal donde realmente no están. Entonces, al mantenernos al día de lo que está sucediendo en JavaScript al emocionarnos por lo que está pasando ahí, tenemos la oportunidad de rejuvenecer nuestra idea y encontrar la diversión en codificar de nuevo. Encontrando la felicidad de lo que hacíamos en el pasado cuando de repente
teníamos como el dormitorio y teníamos navegadores disponibles para el Ajax, podíamos reproducir videos y navegadores que no
podíamos antes sin usar cosas como flash. La cantidad de medios como las bibliotecas de medios en los navegadores y la cantidad de cosas técnicas que los navegadores pueden hacer hoy en día deberían ser emocionantes para nosotros. No debería ser, nunca funcionó, así que no funcionó en el pasado por lo que no funcionará ahora. Por lo que tenemos que dedicar mucho tiempo a escribir campos de poli y escribir soluciones y usar bibliotecas porque los navegadores no lo harán bien. Como ya he cubierto en los otros videos, estamos viviendo en un mundo donde los navegadores son de siempre verde, y los navegadores están cambiando todo el tiempo y todos los navegadores están abiertos a la comunicación también. Entonces, si algo se rompe o ves algo en los estándares o en un navegador como eres, puedes hablar con otros fabricantes de navegadores en listas de correo, en Twitter en GitHub. Los fabricantes de navegadores dejaron de esconder a sus ingenieros en sótanos y no permitirles hablar con el mundo hace mucho tiempo. Todos estamos abiertos en público, todos
estamos disponibles para que platiques y estamos contentos de obtener retroalimentación y estamos contentos hacer que las cosas sucedan cuando tienen sentido y cuando se pueden estandarizar. Entonces, no te sientas desanimado por que algo no esté disponible en un solo navegador
en este momento y pensando que esto será para el futuro, dentro de dos semanas, el nuevo navegador podría estar fuera y podría ser compatible y depende de nosotros demandar a nuestros entornos para volverse mejores y apoyar las cosas que tienen sentido y hacer avanzar la web. Entonces, el abrazar de la nueva tecnología es una parte muy, muy importante de rejuvenecernos como desarrolladores y descubrir qué es genial de JavaScript hoy en día. Por otro lado claro, no
deberías emocionarte demasiado todas las cosas experimentales o las cosas que la gente solo está probando. Tu computadora, tu entorno, tu editor y tu navegador, no es
lo que los usuarios finales tienen ahí fuera. Tienes que encontrar una manera agradable en el medio. Empecé a no vivir más en el borde sangrante en JavaScript porque me resultó frustrante probar las cosas y luego ver que no se implementaban o
implementaban de manera diferente y tuve que cambiar mi código todo el tiempo. Esto es algo por lo que mucha gente se entusiasma. Yo sólo quiero construir cosas para la gente que trabaja. Entonces, me encontré para emocionarme con las noticias de hace un mes ampliando ahora mismo las noticias de borde sangrante, y de esa manera me encontré volviendo un desarrollador de JavaScript mucho más excitado de nuevo, incluso trayendo mis viejos conocimientos y mis viejos agarres de lo que salió mal en el pasado a un nuevo entorno. Entonces, echa un vistazo a lo que están haciendo los navegadores, echa un
vistazo a qué discusiones están pasando en los órganos de estándares, y como dije al inicio de este curso, mira caniuse.com para ver si lo genial que acabas de aprender es solo un sueño pipa por ahora o ya está implementado en dos o tres navegadores, lo que significa que por otros tres meses probablemente podrás usarlo en todas partes. Entonces, no te desanimes de que las cosas se estén moviendo rápidamente y sean innovadoras todo el tiempo. Sé parte de esa innovación y encontrarás que JavaScript es mucho más divertido de lo que solía ser. Esperemos que te sientas mejor ahora mismo por
el ritmo de la comunidad JavaScript y la nueva tecnología que viene porque tienes recursos para validar si algo realmente es tan cool como gente dice que es y puedes empezar a usarlo una vez es seguro de usar. De lo siguiente de lo que quiero hablar en este momento es cómo
abrazar a la comunidad alrededor de JavaScript y cómo formar parte de eso.
10. Encontrar la comunidad de Javascript: Bienvenido a esta parte de redescubrir JavaScript, pero quiero tentarte a formar parte de la comunidad JavaScript, que es algo que no tuvimos la primera vez cuando empezamos con él. Había unas cuantas listas de correo, había unos cuantos foros, pero las redes sociales aún no se han tomado y la mayoría de todas las personas no colaboraban del todo alrededor del proyecto tanto como lo hacen hoy en día, ahora que tenemos GitHub y control del cepillo. Entonces, si quieres convertirte en alguien en el mundo de JavaScript en este momento, o quieres usar cosas nuevas y probar cosas nuevas, realidad
deberías participar en los canales de comunicación. Simplemente puedes quedarte ahí y mirar las cosas durante los primeros meses. No tienes que ser parte o no tienes que sentir que tienes que aportar la gran cosa nueva todo el tiempo. Es sólo una parte muy interesante, cuánto nos comunicamos el uno con el otro. Plataformas sociales como GitHub donde
vive nuestro código y la gente puede comentar las cosas y enviar solicitud de pull, y enviar solicitudes de emisión, son una gran manera para que empieces y una gran manera para que realmente te entres sobre cómo son las demás personas también. Es increíble cuanto más dentro se obtiene cuando se mira a la gente alrededor de los productos y no sólo el producto, tantas veces, no
estoy contento con el producto, pero luego miro quién los está manteniendo, y lo bien que en realidad tratan con la comunidad que les rodea, así que en lugar de ser la persona enojada que acaba de decir, esto está mal y tú deberías hacerlo completamente diferente, yo empiezo a comunicarme y a decir como: “¿Por qué te hiciste hacerlo de esa manera? ¿ No sería mejor ser así?” Entonces, es una gran oportunidad para acostumbrarse a trabajar con otras personas y probablemente lo haga mejor para ti también en tu propio trabajo. Por ejemplo, cuando intento contratar gente en este momento, estoy mirando sus repositorios de GitHub, y estoy viendo su actividad en GitHub. No sólo estoy mirando la calidad del código o la increíble calidad de su código, también miro cómo tratan con otras personas, cómo tratan con las solicitudes de pull, qué tipo de comentarios dan a la competencia, cómo tratan como las críticas, y cómo tratan los elogios porque a eso se reduce al final. La gente está trabajando con otras personas, así que quiero que la gente sea jugadores de equipo cuando los contrate, y es una gran oportunidad para brillar y dar una buena impresión para ti al participar ya en los entornos sociales. Hay muchos canales holgados sobre JavaScript, hay un montón de listas de correo, hay un montón de meta arriba, muchos eventos pasando por ahí,
así que hay una comunidad enorme donde todo el mundo está entusiasmado con JavaScript . Por lo tanto, asegúrate de mirar alrededor en busca de unos en tu área o mirar alrededor para la participación en línea, y encontrarás que otras personas te inspiran y también puedes inspirar a la gente. Asegúrate de ir a los correctos. Si no te interesa el desarrollo de nodos, entonces probablemente una holgura de nodo no sea la cosa para ti. Pero, por otro lado, si solo quieres mirar eso y quieres meterte en el nodo y ver cómo se marca la gente, es una gran manera de entrar ahí y empezar a acecharse y averiguar qué está pasando por ahí también. Si necesitas algo de inspiración, hay grandes repositorios como JS Pen y CodePen. CodePen es una comunidad realmente agradable e invitadora de codificadores
muy, muy creativos que muestran como pequeñas cosas en las que haces clic y las pruebas y puedes bifurcarlas por ti mismo, tenerlas en tu repositorio de GitHub y jugar con ellas. Entonces, en lugar de sólo mirar algo y decir, “Oh, eso es increíble”. Puedes empezar a juguetear con él, puedes cambiar números alrededor, puedes agregar al código, y nunca te estás metiendo con el código original de esa persona porque tan pronto como comienzas a editar, se lo copia en tu propio repositorio de CodePen, por lo que no puedes romper nada, pero estás muy invitado a jugar. Esto es en lo que quiero que pienses y de la comunidad JavaScript también. Necesitamos una comunidad más diversa. Necesitamos gente que no necesariamente ya esté ahí desde hace años y años. Necesitamos gente con ideas nuevas y frescas, así que no se sientan intimidados por estos grupos. Simplemente entra ahí, empieza a mirar a tu alrededor, y una vez que creas que tienes algo que aportar, por favor contribuye. Esperemos que estés listo para dejar tu huella en la comunidad de JavaScript ahí o al menos estar listo
para echarle un vistazo y darte cuenta de que no solo se trata de código sino también de personas. Hablar de eso también será parte
del próximo video donde te voy a enseñar cómo conseguir ayuda, y cómo pedir ayuda sin ser demasiado abrumador y demasiado molesto para la gente.
11. Pedir ayuda: Bienvenido a este video donde vamos a hablar de
pedir ayuda en la actual comunidad de JavaScript, y cómo obtener los mejores resultados al pedir ayuda, y también cómo dar retroalimentación a las personas. Estamos viviendo en un mundo JavaScript donde todo es social. La mayor parte del código con el que estamos jugando y las herramientas con las que estamos jugando son de código abierto y están disponibles. Lo que significa que en GitHub, puedes hacer solicitudes de encuestas, puedes hacer problemas, puedes comentar cosas, solo
puedes renunciar a los pulgares, o simplemente puedes darle una estrella a la gente. La mayoría de las personas tienen sus cuentas de Twitter donde puedes contactar con ellas, y ahí puedes quejarte de cosas. Puedes archivar bugs con navegadores en GitHub. Puedes archivar bugs con navegadores en Twitter. Se puede ir en listas de correo. Puedes ir por los canales de Slack. Se puede ir a todas partes. Ahora lo grandioso de las herramientas que tenemos hoy en día, es que todas están en línea, y todas ellas también tienen una parte de ella que forma parte de una comunidad. Entonces, hoy en día cuando me encuentro teniendo un problema de JavaScript, realidad no
voy a ir a una lista de correo y preguntarle a la gente cuál es el problema, o ir a un Stack Overflow y preguntarle a la gente cuál es el problema, pero empiezo a eliminar el problema en primer lugar. Entonces, mira tu código, ¿qué pasa ahí? Enciende limitando en tu editor y averigua si
hay algún problema estricto que no hayas pensado. Pruébalo en diferentes navegadores, y pruébalo tal vez en una plataforma diferente, así
como para averiguar si algo salió mal. Saca tu teléfono móvil y averigua si hay algún problema ahí. Entonces, una vez que has averiguado dónde está el problema y sigue siendo un problema, y probablemente sea algo con el código, entonces lo mejor que puedes hacer es escribir una prueba de eliminación. Escribe de la manera más simple posible cómo se está rompiendo esta cosa, y luego colócala en CodePen, o ponla en jSpin, o colócala como esencia en GitHub. De esa forma puedes invitar a las personas a probarlo por sí mismas, validar si es un problema real o si no es un problema, y luego decirte cómo solucionarlo. Lo que hace que las cosas sean mucho más rápidas que solo preguntar aleatoriamente y preguntarse qué está pasando ahí. Muchas veces cuando vas a cosas como Stack Overflow, y pides ayuda, y eres muy vago en tu pregunta, invitarás a mucha gente que o bien intenta venderte su propia agenda, sus propios sesgos, o sus propias ideas de cuál es la mejor solución. La mayoría de las veces como solo usar React, solo usa jQuery en lugar de tener una respuesta a un problema de JavaScript. Entonces, y entonces este es un hilo interminable sobre la gente, sé que no deberías usar eso, no deberías eso. Al guardarlo al código y preguntar con un ejemplo de código, te das cuenta de que a mucha gente cuesta mucho más llegar con su propia agenda y sus propias ideas, porque ya se reduce a ese problema, y encontrando ese solo tema. Entonces, hacer ese tipo de preguntas es una forma muy, muy sencilla de obtener las respuestas más rápidas que hay. Normalmente escribo en CodePen, lo
pongo en Twitter, o en un canal Slack, y luego la gente puede empezar a editar conmigo, editando
colaborativamente conmigo, así puedo ver mientras en realidad están editando mi código y podemos comunicarnos en comentarios o comentarios de código mientras estás codificando. Eso también es muy divertido, y bueno para enseñar a otras personas. Es una gran oportunidad para que conozcas a otras personas que más adelante pueden resolver otros problemas para ti, o tal vez conseguir un proyecto junto con ellos yendo. Si tú mismo quieres dar más retroalimentación y quieres dar más ayuda, mira las cosas, mira los repositorios en GitHub. Muchos repositorios tienen errores que necesitan ser arreglados, pero siempre están en el backburner, y todos en el equipo central del producto están demasiado ocupados para arreglar esos errores. Entonces, los banderas como primera vez un bug lo cual es una gran oportunidad para que solo entre ahí, los
ayude haciendo un trabajo de 10 segundos, y ya eres parte de esa comunidad, y ya estás en el radar de personas. No olvidemos que cuanto más conozcas a la gente y más positivo aspecto a menudo eres una impresión que das, más probable es que esas personas te hablen. Eso te da oportunidades como ir a eventos de habla, o incluso trabajos. La mayor parte de mi carrera en JavaScript en los últimos 10 años fue de boca a boca, y fui yo tratando de hacer mi mejor esfuerzo para ser una buena persona en línea, y asegurándome de que estoy tan definido como
puedo ser para que la gente pueda ver algo mal en mi cuestionamiento, o decir algo mal en mi crítica. Dar críticas públicamente es algo muy peligroso. Quieres asegurarte de que no estás destruyendo a la gente, y no las estás desalentando para que sigan adelante. Pero si lo mantienes a un nivel técnico, si lo mantienes a la altura del código ejemplo y pruebas que algo anda mal, entonces no hay emociones,
y eso no es problema con ellas, porque se puede probar que simplemente quería ayudar y has visto que algo salió mal. Entonces, no te desanimes tanto ruido, por tanta comunicación que está pasando, y por tanta crítica dura y dura comunicación también en la comunidad. Muchas veces estas son personas que solo quieren ser escuchadas. No quieren lastimar a otras personas. Simplemente no son del todo buenos pidiendo ayuda a la gente. Entonces, tal vez sólo dando un paso atrás y diciendo como: “Está bien, no
me voy a enojar por esto, voy al otro hilo donde hay discusión
interesante ya que eso es algo bueno que hacer”. No te desanimes pensando que no puedes estar al día con las noticias porque nadie puede. Estamos en este momento en una carrera de ratas donde todo el mundo intenta hacer lo nuevo genial, e inventar la nueva característica fresca fuera del lenguaje, eso está bien. Es innovación, es creatividad, es desordenado. Pero no te desanimes solo diciendo que soy demasiado lento para esto porque todos solo estamos cocinando con agua incluyéndome. Espero que aprendas algo de todo eso, y espero que ahora sepas que conseguir ayuda es más fácil si te apegas a los hechos, y haces lo más fácil posible que otros arreglen las cosas para ti más bien tener que encontrar algo en tu código o en tu documentación porque eso es demasiado trabajo. Quieres que sea lo más fácil posible para que la gente te ayude,
y si ayudas a la gente, que sea lo más fácil posible para que entiendan lo que han hecho mal, y que se lo explique de una manera agradable no a diferencia de lo que estás haciendo todo mal, y yo soy mejor que tú. Hacer esto haría mucho,
mucho mejor a nuestra comunidad , y estoy deseando eso.
12. Reflexiones finales: Bueno, eso es una envoltura. Espero que hayas disfrutado de este curso, y espero que ahora entiendas que redescubrir JavaScript es algo interesante como el conocimiento que tienes en el pasado podría ser obsoleto y algo de ello ya no es necesario, pero hay un gran mundo nuevo de comunicación por ahí. Hay una gran comunidad alrededor de JavaScript de la que puedes tomar parte, y sobre todo, el tooling ha llegado a pasos agigantados desde que lo hicimos la primera vez. Los navegadores son de siempre verde, los editores son de código abierto y se escriben y mecanografian ellos mismos, por lo que puedes editarlos y obtener extensiones para ellos. El terminal es ahora el hogar de JavaScript también. Se pueden construir aplicaciones reales en JavaScript más amplio que solo cosas Web. Hay tantas cosas con las que jugar. Sería triste no echar un vistazo, y no ser lo suficientemente valiente como para decir como: “Oye lo he hecho en el pasado, puedo volver a aprender”. Entonces, no te desanimes por la velocidad de las cosas, hay mucho bombo a su alrededor, pero hay muchas cosas geniales por encontrar. Entonces, espero que hayas encontrado algo interesante. Si has jugado con algo, si has encontrado algo no comprensible, si quieres obtener más detalles sobre algunas cosas, por favor comunícate con nosotros, danos comentarios, sube algunos de los ejemplos que has hecho donde cambiaste tus formas de acuerdo a lo que has hecho antes, y estoy deseando ver más de ti.