Photo by Robin Wieruch on rwieruch;

Cómo aprender React, Angular o Vue

La difícil elección de comenzar con uno de los 3 ‘framework’ más importantes de 2.018, por Robin Wieruch del 31 de Enero de 2.018 en rwieruch;

Pablo Álvarez
Feb 23, 2018 · 9 min read

Parece que la multi-difusión y desarrollo de ‘framework´s’ de JavaScript se ha paralizado momentáneamente, centrándose el juego en las 3 librerías que mayor aceptación están adquiriendo: Angular, React y VueJS.

En el futuro, se dice que el desarrollo se centrará en estas tecnologías web siempre rodeadas de otras múltiples librerías extras que les aporten mayor dinamismo y funcionalidad. Esto será así, al menos, hasta que se logré avanzar en el futurista proyecto de WebAssembly, del que se espera sea el gran formato revolucionario por su supuesto tamaño y con un tiempo de carga eficiente enfocado al 100% en la compilación en la nube.

Se supone que esas características permitirán compilar directamente sobre máquinas virtuales basadas en JavaScript alojadas por completo sobre los navegadores.

Pero, ¿y si somos principiantes? ¿cuál de los 3 marcos es en el que deberíamos escoger?


¿Es Angular, Vue o React el más correcto?

Primeramente deberíamos tener en cuenta que a pesar de que los ‘framework javascript’ son lo que más de moda están. No todas las empresas implementan las tecnologías más modernas y nuevas, las grandes compañías deben seguir su línea de desarrollo teniendo en cuenta aspectos más importantes que el ‘moderno’ como son los campos económicos y de seguridad; dicho esto.

Existen muchísimos artículos comparativos entre ‘framework´s’ en los que se procura vender que uno es mejor que otro, sus ventajas y desventajas, incluso existen muchos artículos centrándose y destripando los aspectos más técnicos.

Por ejemplo, están estos dos excelentes ejercicios reflexivos de: OpenWebinars.

VueJS vs Angular | OpenWebinars.net
Vue.js vs React | OpenWebinars.net

Si aún después de leerlos, todavía tienes dudas de cuál framework se acopla más a ti o tus funciones, creo que eres un ninja indeciso”; ósea, uno de los míos.

“Querido amigo, déjame que te cuente.”

Seguramente la mejor idea que podríamos tener, es dedicar nuestro tiempo a pasar a la acción. Dejar las comparativas a un lado y lanzarnos a trabajar, a testear, ‘ninjear’.

👊 ¡¡¡Ser auténticos kamikazes, a veces funciona!!! 👊

Una vez comencemos a manejar un ‘framework’ pasar a otro no será tan complicado como puede parecer. Aunque antes de nada, debemos tener en cuenta la base sobre la que todo rueda: JavaScript.

“JavaScript sin ninguna duda. Ha venido para quedarse.”

Muy posiblemente en los próximos 10 años o quizás en los próximos quince. Allí donde vayas a programar y sean cuales sean las nuevas tecnologías web con las que desarrolles, es altísimo el porcentaje de posibilidades de que te encuentres con JavaScript.

Convirtiéndonos en grandes conocedores de ‘JavaScript’ no tendría por qué, llevarnos demasiado tiempo adaptarnos para atravesar la curva de aprendizaje de cualquier otro ‘framework’.

Dominar JS y unos altos conocimientos en la materia, serán la base que nos harán ir por un camino relajado; no solo sobre estas librerías, también se convertirá en un arma de auto-defensa ante próximas librerías nacientes en tiempos venideros.


JavaScript es la base, no hay nada más importante

Debes dominar los principios básicos de JavaScript. Bien tomes la iniciativa de pasar de:

JavaScript 👉 Framework

o

“Framework 👉 JavaScript”

Sea cual sea el camino, lo importante es que comprendas JavaScript para moverte sin esfuerzos entre las librerías. Así que tomate el tiempo necesario en comprender los siguientes principios básicos:

  • funciones de primera clase
  • métodos de: bind(), apply(), y call()
  • closure y scope
  • this
  • objetos: Object.keys(myObj).map(key => myMap[key])
  • arrays: [1, 2].reduce((sum, summand) => sum + summand, 0))
  • herencia y prototipado > clases de ES6
  • callbacks y promises
  • evento: loop
  • evento: bubbling
  • expresiones regulares
  • manejo de errores:promise.then(...).catch(...), try { } catch(e) { }
  • JavaScript ES6 y posteriores
  • hoisting & memoization

vs.

  • programación declarativa vs. imperativa
  • programación funcional vs. programación orientada a objetos

vs.


No es necesario ser un maestro.

No, realmente no es necesario un nivel avanzando o profesional, pero al menos debemos comprender estos principios con los que poseer una idea de cómo funciona JavaScript y cómo usarlo sin depender de frameworks / bibliotecas pesados.

Existe esté interesante artículo en inglés, donde se explican la mayoría de estos conceptos:

Quizás no todos tenemos el tiempo de poder aprender cualquier cosa, puesto que los plazos son lentos. Por ello, debemos observar las tendencias del mercado laboral y estar alerta de las tendencias que estás muestran. Asegurarnos de aprender algo que será relevante después de haberlo aprendido.


De consumir a producir: ¡comienza a codificar!

La mejor fórmula para estudiantes es reducir su material de aprendizaje y allanar así, su camino de aprender algo más sencillo.

Por lo tanto, no ayuda comprar 10 cursos en Udemy, es una historia de consumo sin fin y nunca te ensuciaras las manos programando. Existen muchas historias donde las personas hablan sobre el mismo problema: han visto todos los vídeo-cursos, pero no saben cómo comenzar a codificar lo que han visto durante las últimas 30 horas.

Aunque, si tienes tanto tiempo para consumir material de aprendizaje, intenta agregar diversidad en él. Tome uno o dos cursos de vídeo como máximo y complementarlo con un libro, un podcast y un curso práctico como patio de juegos de codificación para estimular todos los sentidos.

Así es como te acercarás a un aprendizaje automático. Si estas codificando un proyecto personal mientras estudias, deberías ser capaz de mantener los desafíos por delante y tus habilidades en equilibrio. Casualmente, terminarás en un estado de flujo en el que será un placer aplicar tus aprendizajes en tu proyecto.

Si lees estos últimos párrafos y sientes que perteneces a este grupo de personas que consumen demasiado, el paso más importante para usted es comenzar a producir. Piensa que ya has consumido mucho material de aprendizaje, así que siéntate y comienza a codificar algo en tu framework favorito. Si te quedas atascado, siempre podrás utilizar tu buscador favorito, preguntar en StackOverflow o unirte en alguna comunidad de Slack o grupo de Discord donde encontrarás ayuda.

En diferencia a la mayoría de plataformas, estas son geniales para ayudarte.

Aprender algo nunca es fácil. En los Cursos que tu visualizas alguien graba sin realizar ningún tipo de esfuerzo; te puede llevar años y un enorme esfuerzo implementar lo mismo por tu cuenta, pero piensa que eso es lo normal. Esas grabaciones están preparadas para ser vistas sin producir estrés a quién las admira y claro que eso es lo que las hace tan geniales.

Pero esa no es la realidad, solamente con sacrificio y tomando años para implementar algo, estarás aprendiendo de verdad.

“Así que siéntate y comienza a codificar.”

Cuando la gente se pone en marcha y deja de consumir el material de aprendizaje, las cosas que se aprenden se mantienen para siempre.


Elige un proyecto de aprendizaje

Entonces, ¿cómo puedo comenzar a codificar independientemente de Vue, Angular o React? Primero elige un proyecto que te motive.

Procura no elegir una aplicación ToDo. Por ejemplo, puedes elegir tu pasatiempo favorito y crear una aplicación para él. No hace falta que sea una aplicación completa y empieza siempre desde algo pequeño.

En este punto, si aún sigues con dudas sobre el ‘framework’ a utilizar, crea la misma aplicación en todos los diferentes marcos de trabajo. Siempre, en un proyecto pequeño, que no requiera demasiado tiempo de implementación… y que esto te permita realizar una buena comparativa, donde elegir el framework más cómodo a implementar.

Si no se te ocurre una idea de proyecto, echa un vistazo a los de otros desarrolladores que estén comenzando con React, Angular o Vue, la mayoría comparten sus esfuerzos en una de las plataformas conocidas de compartir código. Deja que te inspiren, e intenta hacer algo similar o intenta copiarlo por tu propia cuenta. Obviamente, no literalmente su código fuente.

Si no posees un hobby ¿qué pasa?, y si no existe nada que te este inspirando (de ninguna manera!) . Un último método de obtener inspiración es probar a imitar tu aplicación web favorita. No es necesario que crees el nuevo Facebook 😳 pero si que podrías probar con algo más sencillo.

Los consejos más importantes son: mantener un tamaño controlable del proyecto, encuentra un tema motivador que te guíe a través de los problemas del proyecto.

¿Qué sucede luego de haber construido tu primer proyecto?

Puedes mostrarlo en las Comunidades de Reddit, Hacker News, Twitter o en una comunidad de Slack. Aunque sea un proyecto pequeño, simplemente compártelo para obtener comentarios al respecto. Deberías convertirte en un productor en esas plataformas, no solamente en un consumidor de contenidos. De esta forma, obtendrás muchos comentarios que te ayudarán a crecer de forma individual.

Utiliza esos comentario de forma positiva, mejorando tu proyecto y lanza otro proyecto con el que seguir obteniendo información del framework elegido.
Repetir todo este proceso, te hará ir aprendiendo apartados nuevos sobre el framework que utilices, sobre JavaScript y sobre la programación, en general. Cada proyecto tiene sus propios desafios.

Después de todo, esto se reduce a aprender un framework que te ayude a aprender cualquier otro (o cualquier otra cosa).

Las pautas definitivas serían:

  • (1) reduce el material de aprendizaje y complementalo con material para todos tus sentidos
  • (2) estudiar el material de aprendizaje y programar a la misma vez, en paralelo
  • (3) elige un proyecto que te mantenga motivado
  • (4) siéntate a sudar y encuentra horas en las que manosear tu proyecto
  • (5) obtén ayuda del buscador, Slack o StackOverflow
  • (6) procura terminar el proyecto y recopilar comentarios de otros
  • (7) tras esto, esperemos que hallas podido elegir un framework; si no vuelva a repetir los pasos desde el (3) al (6)

Espero que estas líneas te hayan animado a comenzar a aprender React, Vue, Angular o cualquier otro ‘framework’. No importa el que elijas, pero en cuanto antes puedas da el salto a la producción.

Lo importante es que comiences a codificar, ya!!!

En el camino, debes comprender los principios básicos de JavaScript. Si comienzas a aprender uno de ellos ahora, puede ser que estés trabajando a lo largo de este año usando uno de estos marcos de trabajo.




Más Publicaciones Ciberninjas






ciberninjas

Artículos de noticias sobre programación, framework´s, recursos de diseño & desarrollo web & algunas cosas más, sobre software & redes sociales.

Pablo Álvarez

Written by

Aprendiz, paso a paso, perdiéndome entre los mundos del framework.

ciberninjas

Artículos de noticias sobre programación, framework´s, recursos de diseño & desarrollo web & algunas cosas más, sobre software & redes sociales.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade