| AngularJS | React | Ember JS | Backbone JS | Ractive JS | CanJS | Knockout JS | batman js | rAppid JS | SproutCore |
Imagen | | | | | | | | | | |
Información general |
Filtrado de vista automáticoTiene un mecanismo para filtrar vistas basadas en variables de ámbito scope (por ejemplo, al buscar), sin la necesidad de escribir muchos códigos extra. |
Filtrado de vista automáticoTiene un mecanismo para filtrar vistas basadas en variables de ámbito scope (por ejemplo, al buscar), sin la necesidad de escribir muchos códigos extra. | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ | ✖ |
Motor de plantillasLos motores de plantillas permiten que la construcción de un UI sea fácil y flexible. |
Motor de plantillasLos motores de plantillas permiten que la construcción de un UI sea fácil y flexible. | ✖ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ |
Prolonga HTMLMucha gente ve esto como una ventaja, ya que elimina la cabecera de otro lenguaje de plantillas. |
Prolonga HTMLMucha gente ve esto como una ventaja, ya que elimina la cabecera de otro lenguaje de plantillas. | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✔ | ✖ | ✖ |
Publicado bajo la licencia MITLa licencia MIT es una licencia muy permisiva que permite todos los usos, incluyendo el uso de negocios, sin garantía. |
Publicado bajo la licencia MITLa licencia MIT es una licencia muy permisiva que permite todos los usos, incluyendo el uso de negocios, sin garantía. | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Se integra con otros MV* FrameworksPuede ser utilizado para sustituir una parte de otro framework sin quitar las propiedades restantes. |
Se integra con otros MV* FrameworksPuede ser utilizado para sustituir una parte de otro framework sin quitar las propiedades restantes. | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Puntuación total para "Información general" |
Puntuación total para "Información general" | | | | | | | | | | |
Plugins |
Programa popular que soporta animaciónDispone de un programa que incluye herramientas para crear animaciones fácilmente. |
Programa popular que soporta animaciónDispone de un programa que incluye herramientas para crear animaciones fácilmente. | ✔ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Número de pluginsLos plugins son una manera sencilla de añadir una funcionalidad o de integrar otros servicios. Un número alto de plugins indica una comunidad de usuarios más activa. Solo se indican los plugins oficiales. |
Número de pluginsLos plugins son una manera sencilla de añadir una funcionalidad o de integrar otros servicios. Un número alto de plugins indica una comunidad de usuarios más activa. Solo se indican los plugins oficiales. | 213 | N.A. | N.A. | 153 | N.A. | 7 | 33 | N.A. | N.A. | N.A. |
Recurso de plugin dedicadoEsto indica que el framework tiene un ecosistema que vive, un gran apoyo de la comunidad y permite mayor flexibilidad y más rápido desarrollo. |
Recurso de plugin dedicadoEsto indica que el framework tiene un ecosistema que vive, un gran apoyo de la comunidad y permite mayor flexibilidad y más rápido desarrollo. | ✔ | ✖ | ✖ | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ |
Intregra la abstracción para la sincronización RESTful de los modelosIncluye utilidades para mantener modelos en sincronización con la representación del servidor sin necesidad de escribir llamadas jQuery boilerplate ajax. |
Intregra la abstracción para la sincronización RESTful de los modelosIncluye utilidades para mantener modelos en sincronización con la representación del servidor sin necesidad de escribir llamadas jQuery boilerplate ajax. | ✔ | ✖ | ✖ | ✔ | ✖ | ✔ | ✖ | ✔ | ✔ | ✖ |
Soporta animaciónIncluye herramientas para crear fácilmente animaciones. |
Soporta animaciónIncluye herramientas para crear fácilmente animaciones. | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ |
Puntuación total para "Plugins" |
Puntuación total para "Plugins" | | | | | | | | | | |
Libraries & Packages |
Librería agnóstica de manipulación del DOMNo requiere forzosamente la utilización de una biblioteca específica (como jQuery, Zepto o MooTools) para encargarse de la manipulación de DOM y puede utilizarse con la que el desarrollador prefiera. |
Librería agnóstica de manipulación del DOMNo requiere forzosamente la utilización de una biblioteca específica (como jQuery, Zepto o MooTools) para encargarse de la manipulación de DOM y puede utilizarse con la que el desarrollador prefiera. | ✖ | ✔ | ✖ | ✖ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ |
Trabaja con bibliotecas AMD, como require.jsLas bibliotecas de Definición Asíncrona de Módulos permiten una programación limpia, fácil y modulada. Si el framework no funciona bien con dichas bibliotecas, puede haber otros medios de modular sus componentes y resolver dependencias, como Dependency Injection. |
Trabaja con bibliotecas AMD, como require.jsLas bibliotecas de Definición Asíncrona de Módulos permiten una programación limpia, fácil y modulada. Si el framework no funciona bien con dichas bibliotecas, puede haber otros medios de modular sus componentes y resolver dependencias, como Dependency Injection. | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ | ✖ | ✖ | ✔ | ✖ |
Soporta oficialmente la dependencia de gestión BowerBower es un paquete de gestión npm fácil de usar para aplicaciones de frontend. |
Soporta oficialmente la dependencia de gestión BowerBower es un paquete de gestión npm fácil de usar para aplicaciones de frontend. | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ |
Entrada oficial actualizada en el paquete de gestión npmEl paquete de gestión nódulo puede usarse a su vez para gestionar los scripts de la interfaz front-end (la vista por los usuarios). |
Entrada oficial actualizada en el paquete de gestión npmEl paquete de gestión nódulo puede usarse a su vez para gestionar los scripts de la interfaz front-end (la vista por los usuarios). | ✖ | ✖ | ✔ | ✔ | ✔ | ✖ | ✔ | ✖ | ✔ | ✖ |
Incluye jQuery LiteUtiliza elementos de jQuery Lite donde la manipulación DOM es necesaria. Así, los desarrolladores obtienen cómodas funciones de ayuda jQuery sin tener que incluir la biblioteca completa. En muchos casos, este hecho elimina la dependencia del proyecto a jQuery. |
Incluye jQuery LiteUtiliza elementos de jQuery Lite donde la manipulación DOM es necesaria. Así, los desarrolladores obtienen cómodas funciones de ayuda jQuery sin tener que incluir la biblioteca completa. En muchos casos, este hecho elimina la dependencia del proyecto a jQuery. | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Puntuación total para "Libraries & Packages" |
Puntuación total para "Libraries & Packages" | | | | | | | | | | |
Data binding |
Vinculación de datos bidireccionalLos modelos y las vistas se pueden actualizar mutuamente. |
Vinculación de datos bidireccionalLos modelos y las vistas se pueden actualizar mutuamente. | ✔ | ✖ | ✔ | ✖ | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ |
Soporta vinculación de datos unidireccionalLas vistas pueden actualizarse automáticamente cuando un objeto observable cambie. |
Soporta vinculación de datos unidireccionalLas vistas pueden actualizarse automáticamente cuando un objeto observable cambie. | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Los modelos son objetos JavaScript planosEsto hace más sencillo la trasferencia de datos entre la aplicación y los servicios REST o el LocalStorage. También reduce la complejidad de funciones getter y setter. |
Los modelos son objetos JavaScript planosEsto hace más sencillo la trasferencia de datos entre la aplicación y los servicios REST o el LocalStorage. También reduce la complejidad de funciones getter y setter. | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Permite el uso de vistas mixinsLa llamada mixins es una técnica de programación que permite a diferentes objetos compartir un comportamiento común sin la necesidad de una herencia orientada al objeto. |
Permite el uso de vistas mixinsLa llamada mixins es una técnica de programación que permite a diferentes objetos compartir un comportamiento común sin la necesidad de una herencia orientada al objeto. | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Puede extenderse a un plugin para tener vinculacion de datos bidireccionalPuede extenderse para soportar modelos y vistas que se actualicen mutuamente. Esto añade talla al archivo, pero al mismo tiempo ofrece mayor flexibilidad. |
Puede extenderse a un plugin para tener vinculacion de datos bidireccionalPuede extenderse para soportar modelos y vistas que se actualicen mutuamente. Esto añade talla al archivo, pero al mismo tiempo ofrece mayor flexibilidad. | ✖ | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Puntuación total para "Data binding" |
Puntuación total para "Data binding" | | | | | | | | | | |
Rendimiento |
Tamaño de archivo sin incluir dependencias (archivos asociados)Una talla de archivo menor tiene como consecuencia mayor rápidez de carga (subida de archivos y descarga). |
Tamaño de archivo sin incluir dependencias (archivos asociados)Una talla de archivo menor tiene como consecuencia mayor rápidez de carga (subida de archivos y descarga). | 81KB | 78KB | 235KB | 19KB | 65KB | 69KB | 43KB | 247KB | 120KB | N.A. |
Soporte para routing y "deep linking"El routing permite la interacción con la URL del navegador. Es muy importante para la experiencia del usuario, si se están construyendo aplicaciones de una sóla página. |
Soporte para routing y "deep linking"El routing permite la interacción con la URL del navegador. Es muy importante para la experiencia del usuario, si se están construyendo aplicaciones de una sóla página. | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ |
Utiliza PromisesTiene una implementación interna de especificación Promises/A+. Promises es una alternativa popular para callbacks cuando se está trabajando con las respuestas del servidor. |
Utiliza PromisesTiene una implementación interna de especificación Promises/A+. Promises es una alternativa popular para callbacks cuando se está trabajando con las respuestas del servidor. | ✔ | ✖ | ✔ | ✖ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ |
Los patrones pueden ser pre-recopilados en el servidorSoporta un motor de plantilla que puede ser pre-recopilado en el servidor. Esto mejora, muy posiblemente, la velocidad de página, especialmente en dispositivos con baja potencia de computación. |
Los patrones pueden ser pre-recopilados en el servidorSoporta un motor de plantilla que puede ser pre-recopilado en el servidor. Esto mejora, muy posiblemente, la velocidad de página, especialmente en dispositivos con baja potencia de computación. | ✖ | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ | ✖ | ✖ | ✔ |
Inyección de DependenciaEsto mejora la capacidad para ser probado y la modularidad. |
Inyección de DependenciaEsto mejora la capacidad para ser probado y la modularidad. | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ |
Puntuación total para "Rendimiento" |
Puntuación total para "Rendimiento" | | | | | | | | | | |