¿Qué lado del cliente JS será el mejor para una aplicación web a gran escala, en términos de rendimiento y usabilidad?

Amo a Ember, pero tiene un poco de curva de aprendizaje. Sin embargo, no estoy seguro de que la curva de aprendizaje para Angular o cualquiera de los otros sea mucho mejor. Y con Angular 2, se necesitará un nuevo aprendizaje.

Me gusta Ember por la legibilidad de las plantillas, la comunidad, la flexibilidad del proyecto (para mí es sin dudas un gran éxito de otras herramientas y características de la biblioteca, a veces de última generación), ahora con componentes y agregando características de diseño reactivo, etc. Está basado en convenciones y es obstinado, pero no excesivamente (por ejemplo, admite diseños de proyectos POD ahora ya que esa estructura puede tener más sentido dependiendo de la aplicación). Y no me he arrepentido de los enfoques obstinados .; ayudan con esa curva de aprendizaje, sugiriendo que se haga algo de cierta manera o incluso hacerlo directamente (puede cambiarlo si no le gusta, pero hasta ahora eso solo me ha ayudado). El objetivo móvil de borde de sangrado significa cambios incrementales más pequeños que evitan romper el código existente y las cadenas de herramientas en una actualización (como los cambios Angular 2).

Usted preguntó específicamente sobre el lado del cliente, pero es importante considerar ambos lados antes de llegar a conclusiones. Si desea una implementación consistente de servidor completo + cliente en una sola base de código, algo como Meteor puede servirle mejor. Sin embargo, también es un poco un arma de doble filo, ya que puede encerrarte en una tecnología específica y las características / complementos que admite. Una alternativa a eso es Sails.js, que es muy mix-and-match pero proporciona componentes de servidor-cliente de alto rendimiento por defecto. Voy con Sails ahora mismo, y ahora solo estoy tratando de decidir si hacer que la interfaz del lado del cliente / usuario esté basada en React (que tiene el impulso) o basada en Ember (para lo cual tengo un gran admiración). Esa decisión probablemente depende de qué tan bien cada uno se conecte a mi enfoque general (Sails.js). Aprendí Angular primero, pero luego de aprender Ember, veo tantas preguntas y problemas sobre Angular que Ember resuelve de manera inherente sin problemas ni problemas, y creo que mis puntos de vista sobre Angular ahora se han estropeado.

También está el problema de JavaScript Framework Fatigue (JFF), que es lo que me ha estado sucediendo con JQuery-> LowDash-> Angular-> Ember-> Sails, donde un argumento posiblemente válido es simplemente elegir algo y comenzar a codificar. Es un entorno dinámico en evolución y lo que elija probablemente tendrá pros y contras en el futuro. Además de tener un poco de miedo de quedar encerrado en el ecosistema Meteor, probablemente no haya opciones realmente malas (incluso allí), por lo que si algo le parece un poco mejor, parece encajar con la persona que está haciendo la codificación, podría solo quiero ir con eso.