Descargo de responsabilidad: soy el autor de Vue.js.
Me molesta que muchas respuestas salten directamente a las comparaciones técnicas o veredictos de “Ir con el marco X” sin siquiera preguntar qué está tratando de lograr el OP. Entonces, hagamos esa pregunta primero: ¿qué estás tratando de lograr al elegir un marco?
- Para conseguir un trabajo a corto plazo
- Para construir algo lo más rápido posible
- Como experiencia de aprendizaje para subir de nivel tu habilidad de JavaScript
Si su objetivo es únicamente (1), lo más probable es que vaya mejor con Angular o React (Nota: no Angular 2, al menos por ahora), ya que estos dos son los más maduros, más utilizados y le brindan mejor “capacidad de alquiler” en el mercado. Angular 1 es un poco más empresarial y React es más inicial.
- ¿Cómo puede un desarrollador de Microsoft Technologies (ASP.Net, C #) seguir su carrera en Big Data Bandwagon?
- ¿Es un MacBook Air bueno para Ruby / desarrollo web? ¿Cómo funciona un MBA 2010 al máximo si está desarrollando Ruby en él y algún diseño web pequeño?
- ¿Angular 2.0 realmente va a superar a Shadow Angular 1.x? Porque no he visto ningún reclutamiento para Angular 2.0 pero hay vacante para Angular 1.x.
- Honestamente, ¿soy lo suficientemente bueno como para conseguir un trabajo de desarrollo de Rails en Nueva York?
- ¿Cuáles son las ventajas de usar Python en lugar de Java para el desarrollo web?
Para el objetivo (2), depende más del tipo de aplicación que esté creando. ¿Es una aplicación en gran parte de back-end o un SPA puro? Para el primero, sería mejor con algo que sea más liviano, menos intrusivo, que no requiera herramientas específicas y que funcione bien con HTML (pista: Vue). Para los SPA, tenemos que sumergirnos en comparaciones técnicas reales sobre rendimiento, características, compatibilidad con API, soporte de herramientas, madurez del ecosistema y todo eso. Pero ese es un tema bastante amplio en sí mismo, y también puede ser subjetivo y altamente dependiente del proyecto.
Para el objetivo (3), nuevamente es mejor comenzar con algo más liviano, porque los marcos de solución completa como Angular / Ember arrojan demasiados conceptos por adelantado, y dado que cede el control al marco, termina aprendiendo principalmente sobre el marco. API y convenciones específicas en lugar de habilidades de aplicación universal. Por otro lado, las bibliotecas más pequeñas, debido a sus superficies API más pequeñas, lo obligan a tomar más control y comprender cómo encajan realmente las diferentes piezas (lo que de hecho lo ayuda a elegir marcos más grandes más adelante).
–
Ahora aquí está la sugerencia real: primero aprende JavaScript, y aprende muy bien. Esa es la apuesta más segura. Con conceptos básicos sólidos, deberías poder aprender los conceptos básicos de Vue / React / Mithril / Riot en cuestión de días. Luego, debe crear una pequeña aplicación con cada uno, sin herramientas complejas, solo para (1) comprender qué problemas resuelven estos marcos; (2) entienda su propia preferencia, es decir, qué estilo API lo hace más productivo. A partir de ahí, puede probar marcos más grandes porque ahora está mucho mejor preparado para ellos. Probablemente todo este proceso llevará algún tiempo, pero será una inversión que vale la pena, mucho mejor que sumergirse en un solo marco durante unos meses y luego darse cuenta de que no es para usted.
Por otro lado, también debe aprender sobre habilidades agnósticas de marcos como ES2015, Node.js básico, cómo funciona NPM, sistemas de módulos / paquetes (Browserify / Webpack / System.js): estas herramientas son inevitables en grandes SPA sin importar qué marco que está utilizando
La idea central es no poner todos sus huevos en una sola canasta. Elegir un marco de JavaScript no es un escenario de uno u otro; no tienes que quedarte con uno para siempre. Y no importa lo que digan los demás, es imposible tomar la mejor decisión por ti mismo sin probarlos y obtener una experiencia de primera mano. Si solo vas con uno e ignoras a los demás, es casi seguro que lo estás haciendo mal.