¿Por qué la gente prefiere VueJs para proyectos pequeños y AngularJs o React para proyectos grandes? ¿VueJs no es bueno para grandes proyectos?

Yo diría que es una mezcla de 3 variables y media:

  • el lapso de tiempo entre el lanzamiento de la biblioteca / framework y ahora
  • Las funcionalidades / ecosistema que ofrece la biblioteca / framework
  • El efecto psicológico de las grandes empresas que lo usan
  • (tal vez) confiar en las empresas / comunidad detrás de las bibliotecas

Angular 1 es la más antigua de todas las soluciones. Tuvo la mayor oportunidad de ser adoptado por los desarrolladores y está muy por detrás de la etapa en que solo los primeros usuarios lo usaron. Las grandes empresas lo están utilizando hoy en día. Todos dependen del marco y conducen el ecosistema hacia adelante. Además de Google, compañías como Microsoft invierten mucho en él (MS contribuyó con TypeScript al ecosistema Angular 2).

Además, Angular trae un marco completo en lugar de una biblioteca. Es utilizado por empresas que desean una solución completa. La mayoría de estas empresas, no todas, no son ágiles debido a su tamaño y dependen de un ecosistema estable. Es por eso que la solución, diría, es la más rígida de las 3 soluciones. Aún así, hay empresas, proyectos y desarrolladores que quieren tener esta estabilidad.

React también está detrás de la fase de los primeros usuarios. Grandes empresas como Airbnb, Netflix, etc., lo están utilizando y lo anuncian en sus blogs de desarrollo. Tiene el mismo efecto psicológico como Angular que las personas confían en el ecosistema debido a su tamaño y a las empresas que lo utilizan. Por lo tanto, su adopción es similar a Angular estable para grandes proyectos. Aunque React es una biblioteca y solo la capa de vista, el ecosistema a su alrededor lo convierte en un marco flexible.

VueJs es la más joven de las soluciones. Similar a React, es solo una capa de vista. Sin embargo, comparte muchas funcionalidades en la capa de vista de Angular. Es una gran mezcla de ambos mundos. Aún así, es en la etapa en que los primeros usuarios, y solo unas pocas empresas más grandes, lo están utilizando. VueJs tiene el potencial de ser tan estable y confiable como sus competidores. Sin embargo, al final, más desarrolladores lo usarán, incluso en proyectos más grandes, cuando haya pasado más tiempo para que el ecosistema alrededor de VueJs pueda crecer y las compañías más grandes tengan tiempo de adoptar la biblioteca.

En su mayor parte, a los desarrolladores les gusta usar frameworks / bibliotecas que creen que existirán durante mucho tiempo. A nadie le gusta aprender e implementar algo solo para descubrir que ya no es una opción viable un par de meses después.

En lo que respecta a Vue.js, realmente no cobró impulso hasta hace poco. La gente estaba tan concentrada en React y Angular, ya que contaba con el respaldo de dos de las compañías tecnológicas más poderosas del mundo.

Eso comenzó a cambiar, creo que cuando la gente comenzó a notar que Vue.js no iba a ir a ninguna parte. Comenzó a tomar fuerza y ​​algunas grandes compañías comenzaron a usarlo debido a lo fácil que es desarrollarlo.

Entonces, el hecho de que Vue.js se usara solo para proyectos pequeños no tenía nada que ver con su capacidad para manejarlos. Era más fácil razonar, ya que los proyectos pequeños requieren menos inversión. Por lo tanto, tenía sentido usar algo que fuera fácil y divertido de aprender, en lugar de algo que requiriera más trabajo.

Para proyectos más grandes, que presumiblemente durarían más tiempo, la lógica dictaba que usar algo que todos los demás estaban usando, y que estaba siendo respaldado por algunos grandes jugadores, tendría más sentido.

Vue2 es lo suficientemente bueno para proyectos grandes. Ya es más rápido que Angular 2 y React la mayor parte del tiempo. Tiene características similares que se desarrollan todo el tiempo. Por lo tanto, no hay razón para no usar Vue en grandes proyectos.

La fortaleza principal de IMO Angular está en proyectos grandes, especialmente con muchos desarrolladores trabajando juntos, pero no diría que es mejor que Vue en esa situación. De hecho, esperaría que se creara la misma aplicación grande en Vue2 y Angular2 the Vue. Terminado primero. Con respecto a React, he leído / escuchado a varias personas decir que React falla cuando tienes una IU muy compleja y el rendimiento se ve afectado. Como Vue ya es más rápido que React en el renderizado DOM, debería ser un problema menor con Vue.

Creo que la razón por la que Vue se usa para proyectos pequeños es porque es muy fácil de usar con mucho menos repetitivo que React y especialmente Angular.

Los proyectos grandes generalmente tienen equipos grandes que trabajan independientemente en diferentes partes. Angular con sus componentes es capaz de permitir a los desarrolladores trabajar en sus partes sin preocuparse de que otras partes móviles interfieran con su código enviado al repositorio principal. Esto debería reducir la cantidad de tiempo dedicado a la fusión o refactorización de código después de que varios equipos empujan su trabajo a la vez.