Desentrañando el potencial de JavaScript : navegando el camino del aprendizaje y construyendo una base sólida de competencias
Tomémonos un momento para hablar sobre ti y tu relación con JavaScript antes de adentrarnos en todos los aspectos técnicos.
Si eres como yo, llevas mucho tiempo escribiendo documentos HTML con "desarrollo" de HTML (=_=). Has descubierto esta cosa extraña llamada JavaScript, pero solo lo has utilizado de manera básica para añadir interactividad a tus páginas web de vez en cuando.
Luego también quisiste aprender a construir sitios web complejos: aprendiste un lenguaje de programación como PHP, Ruby, Java, y empezaste a escribir código "backend".
Pero una vez más, mantuviste un ojo en JavaScript. Viste que con la introducción de jQuery, Prototype y otros, las cosas se volvieron más avanzadas en JavaScript, y que este lenguaje era más que solo window.open.
Aunque era agradable tener jQuery a tu disposición para darle un toque especial a un sitio web cuando lo deseabas, al final del día eras, en el mejor de los casos, un usuario de JavaScript, pero no un desarrollador de JavaScript.
Y luego llegó Node.js.
¿Qué tan genial es JavaScript en el servidor?
Entonces, decidiste que era hora de revisitar el antiguo-nuevo JavaScript. Pero espera, escribir aplicaciones para Node.js es una cosa; entender por qué deben ser escritas de la manera en que se escriben significa comprender JavaScript.
Y esta vez de verdad.
Porque JavaScript realmente tiene dos, tal vez incluso tres vidas (el pequeño ayudante divertido de DHTML de mediados de los 90, las cosas más serias del frontend como jQuery y similares, y ahora en el lado del servidor), no es tan fácil encontrar información que te ayude a aprender JavaScript de la manera "correcta", para escribir aplicaciones de Node.js de tal manera que sientas que no solo estás usando JavaScript.
Porque ahí está el truco: eres un desarrollador experimentado, realmente no quieres aprender una nueva técnica simplemente imitándola y usándola incorrectamente; quieres asegurarte de abordarla desde el ángulo correcto.
En la misma línea: cuando comienzas a aprender JavaScript moderno, existe una buena probabilidad de que la solución a tu problema aún esté en desarrollo. De hecho, es muy posible que solo haya una revisión de código fusionada en el paquete que estás utilizando.
Cuando trabajas con un lenguaje antiguo como PHP, buscas en Google una pregunta o problema y casi el 100 por ciento de las veces encuentras una respuesta de Stack Overflow de hace 5 años que lo resuelve, o una discusión completa en la documentación (completa, con muchos comentarios y sin igual).
Me he encontrado a mí mismo navegando por comentarios en problemas importantes de GitHub y código fuente solo para encontrar evidencia que contradice documentación desactualizada más de una vez.
Lo otro difícil de aprender JavaScript en 2017 es que te llevará tanto tiempo como construir la aplicación.
¡Por supuesto! Aquí tienes la continuación de la traducción del artículo:
Tuve que dejar de lado la idea de hacer las cosas de la manera correcta desde el principio y permitirme experimentar con configuraciones amateurs solo para familiarizarme con las herramientas individuales.
Luego descubrí mejores formas y fui incorporando lo que podía, cuando podía, en cada nuevo proyecto.
En ese sentido, el mundo de JavaScript tiene mucho trabajo por hacer.
Cuando aprendes un nuevo lenguaje, escribes código, lo rompes y luego escribes más. Mi educación en JavaScript moderno fue una escalera de tutoriales, luego un pequeño proyecto resoluble en el que compilé una lista de problemas y preguntas, luego una revisión con mis colegas para obtener respuestas y justificaciones, luego más tutoriales, luego un proyecto un poco más grande, más preguntas, otra revisión. Lavado, enjuague, repetición.
Lo más importante que tuve que recordar al final fue esto: Hacer es aprender. ¿Hacerlo bastante mal? Aún así es aprender.
Estos días, aprender JavaScript moderno puede parecer un entrenamiento de confusión y frustración. Si alguna vez sientes que tu cerebro está a punto de estallar, Addy Osmani de Google tiene el consejo adecuado:
"Animo a la gente a adoptar este enfoque para mantenerse al día con el ecosistema de JavaScript: primero hazlo, luego hazlo bien, luego hazlo mejor. [...]"
Se necesita tiempo, experimentación y habilidad para dominar los fundamentos de cualquier tema nuevo. Los principiantes no deben sentir que están fracasando si no están utilizando la última biblioteca de moda o el patrón reactivo de la semana. Me tomó semanas entender Babel y React, incluso más tiempo comprender Isomorphic JS, WebPack y todas las demás bibliotecas relacionadas. Comienza de manera sencilla y construye sobre esa base.
En conclusión, aprender JavaScript moderno es un viaje continuo. Requiere una mentalidad de crecimiento constante, experimentación y adaptación. Asume el proceso de hacer, aprender de los errores y refinar gradualmente tus habilidades. Comienza con los fundamentos, construye una base sólida y luego amplía tus conocimientos a medida que adquieras confianza. Recuerda que no se trata de alcanzar la perfección de la noche a la mañana, sino de avanzar hacia la maestría paso a paso.