Si se siente abrumado con el desarrollo constante de nuevos marcos de JavaScript todo el tiempo, no está solo.
En la tierra de JavaScript, nadie sigue siendo el Rey por mucho tiempo. La nueva herramienta o marco brillante pronto podría convertirse en cosa del pasado, y es bastante difícil clasificar la mejor señal a través del ruido.
Entonces, para responder a su pregunta “¿Por qué”, estas son las siguientes razones:
- ¿Cuáles son los pros y los contras de reemplazar un front-end ERB tradicional de Ruby on Rails con un front-end de aplicación de una sola página Javascript con React?
- C ++: ¿Tiene sentido convertirse en desarrollador de C ++?
- ¿Qué es exactamente un complemento?
- Cómo escribir una solicitud para obtener una cotización de un diseñador web (correo electrónico)
- ¿Qué perfil debe elegir un desarrollador de PHP además de la codificación?
- JavaScript, como lenguaje tiene muchas trampas.
Por ejemplo, no impone tipos de variables o funciones. ¡Cualquier variable puede ser cualquier cosa en cualquier momento! La definición de instancia o clase de JavaScript es muy diferente de otros lenguajes de programación principales. Incluso puede llamar a funciones en objetos que son nulos. Estas y muchas otras peculiaridades del lenguaje causan muchos errores inducidos por el programador.
Por lo tanto, el ecosistema le proporciona código de línea, TypeScript y un montón de diferentes herramientas, bibliotecas y marcos para admitir la inmutabilidad, la verificación de tipos estáticos, la compatibilidad con decimales, polyfills, etc.
No hay duda de que el ecosistema JS tiene una biblioteca para casi todo, es desordenado, pero es necesario tener en cuenta las características faltantes, dado que el lenguaje en sí evolucionó a un ritmo lento. Y cuando usa tantas bibliotecas, entonces hay una enorme cadena de dependencias para su proyecto, que inevitablemente necesita algún tipo de administración de dependencias sólida. Eso es cierto para cualquier idioma.
- El desarrollo web se ha vuelto complejo.
Piénsalo. Hace un par de décadas, no había tantos navegadores, y los sitios web eran principalmente páginas estáticas. Pero hoy, está tratando de construir algo que se supone que funcione perfectamente en media docena de navegadores diferentes, sin mencionar las diferentes versiones de un navegador. Estás tratando de ofrecer la misma experiencia fluida en diferentes tamaños de pantalla. La gente espera que se comporte súper rápido en redes lentas, por lo que introduce código fragmentado / dividido y minimización de código. Las personas también quieren que se comporte de la misma manera que las aplicaciones móviles nativas, por lo que debe hacer que su aplicación sea súper rápida y darle almacenamiento en caché y soporte fuera de línea, por lo tanto, hace que su aplicación sea una PWA.
Y ni siquiera hemos hablado de las características de seguridad.
- Comunidad de código abierto
El mundo del código abierto está lleno de programadores curiosos, que constantemente encuentran nuevas y mejores formas de facilitar la vida de los desarrolladores. Especialmente con la llegada de Github y Gitlab, cualquiera puede comenzar un proyecto de código abierto, y si es una mejor manera de construir algo, se vuelve viral. No dude en consultar mi proyecto de código abierto: una herramienta de visualización de datos y un panel basado en React.
Ya hay muchos proyectos inspirados en React que se han vuelto muy populares, como preact e infernojs . Las personas también presentan nuevas herramientas para que el desarrollo funcione más rápido, por lo tanto, hay muchos complementos para los principales editores de texto, herramientas como Hot Module Replacement y React Hot Loader que actualizan automáticamente el navegador si cambia cualquier línea en su código, etc.
No hace falta decir que cuando los programadores tienen tanta libertad, cuando la comunidad de código abierto les permite estar libres de obstáculos, esperen que ocurra la innovación.
Entonces, ¿cómo se puede resolver todo este desastre?
Aquí está la cosa: primero haz que algo funcione. No necesita aprender cada nuevo marco o biblioteca que salga. Está bien no usar todo. Comience con algo que sea una buena arquitectura para comenzar y construya un prototipo, y mientras lo construye, siempre puede experimentar con otras cosas más recientes en su propio tiempo.
De hecho, ni siquiera necesita React o Angular, Webpack, TypeScript para construir un prototipo de un clon de Uber. He escrito un artículo sobre Cómo construir su propia aplicación Uber-for-X, usando solo HTML5, JavaSript, NodeJS / SocketIO y MongoDB (¡ningún otro marco, lo prometo!)
En algún momento, cuando su aplicación se inicie, puede comenzar a pensar en usar mejores herramientas, mejor arquitectura, mejor cualquier cosa.
Mientras tanto, lea estos increíbles artículos que hablan sobre el mismo tema:
- Cómo se siente aprender JavaScript en 2016
- JavaScript Fatiga Fatiga
Espero que esto responda a tu pregunta, ¡y buena suerte en tu viaje de programación!