¿Cuál es el mejor marco: AngularJS, Ember.js o KnockoutJS?

Hablando de favoritos personales, apostaría por AngularJS, principalmente porque no tiene dependencias y generalmente es más poderoso en comparación con Ember.js o Knockout.js.

Sin embargo, comparemos algunos patrones comunes.

1. Enlace de datos
Es probable que sea una de las mejores características (y más publicitadas) de AngularJS, y también es potente. Knockout también tiene un muy buen soporte de enlace de datos, pero Ember se queda un poco atrás.

2. Enrutamiento
Fuerte fuerte de Angular y Ember, pero Knockout no admite el enrutamiento de forma nativa. Necesitas bibliotecas de terceros. En AngularJS, si necesita un enrutamiento de vista más complejo, el módulo ui-router salva el día, lo que es increíblemente popular.

3. Vistas
Angular usa HTML5 como lenguaje de plantillas, y las plantillas se extraen automáticamente a través de AJAX. Knockout también usa HTML5, y Ember usa manillares para las plantillas.

4. Pruebas
El equipo de Angular es autor de Karma como herramienta de prueba para AngularJS, que es bastante popular de lo contrario. AngularJS tiene un soporte de prueba fantástico, y ha sido diseñado para que sea fácil de probar. Ember comenzó con un soporte de pruebas muy pobre, pero tiene bastante buenas pruebas hasta ahora. Knockout se queda atrás aquí, ya que no hay herramientas de depuración predeterminadas.

5. Documentación
La comunidad detrás de AngularJS es enorme (13k tenedores, 34k estrellas en Github), que opaca a los otros dos manos abajo. La documentación, como resultado, es excelente. También es bastante fácil obtener respuestas de StackOverflow para problemas comunes.

6. Dependencias
Angular y Knockout no tienen absolutamente ninguna dependencia externa, pero Ember necesita jQuery.

Por lo tanto, en general, AngularJS parece la mejor opción en este momento si está buscando un marco de front-end completo. Es bastante pequeño (34kb gzipped) y se mantiene activamente. ¿Dije que es un proyecto de Google? 😉

No vayas por Knockout en absoluto. Elija cualquiera de angular o brasa, será feliz.
Si eres de ruby ​​on rails o php background, te encantará más brasas.
Mientras que si eres de java, o fondo de nodo, serás un fan de angular.
Sin embargo, mi preferencia personal es angular porque creo que está más preparada para el futuro, madura, con todas las funciones y respaldada por Google.

Nota :
Una vez tuve la oportunidad de trabajar en eliminatorias, ya que todo el código de uno de los proyectos ya estaba escrito en eliminatorias y tuve que agregar algunas mejoras. Créeme, fue como una tortura escribir solo un par de cientos de líneas de código.

Para un desarrollador de .Net, knockout.js encaja perfectamente.
Este es el por qué…
-El enlace de datos es sencillo. Enlace de datos en html plano y métodos de página de llamada / web api / web services en ajax. Muy simple
– Más a menudo que no, el enlace de datos es todo lo que necesita para evitar la manipulación compleja de JQuery.
– Visual Studio proporciona una inteligencia inmediata para los enlaces Knockout.
– Aunque no es tan detallado como Angular, pero en términos de simplicidad, knockout.js gana sin parar. Y sí, el resultado final es una aplicación web “de escritorio” genial.

Según mi opinión, Angular es el mejor marco en lugar de otros.
Haga clic para conocer en detalle Angular 2

Angular.js es claro ganador.