| AngularJS | React | Ember JS | Backbone JS | Ractive JS | CanJS | Knockout JS | batman js | rAppid JS | SproutCore |
Imagem | | | | | | | | | | |
Informações gerais |
Filtragem automática de visualizaçõesPossui um mecanismo de filtragem das views a partir das variáveis do escopo ( por exemplo, durante pesquisa ), sem a necessidade de escrever código extra em demasia. |
Filtragem automática de visualizaçõesPossui um mecanismo de filtragem das views a partir das variáveis do escopo ( por exemplo, durante pesquisa ), sem a necessidade de escrever código extra em demasia. | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ | ✖ |
Template engineMotores de templates permitem criação de UI fácil e flexível. |
Template engineMotores de templates permitem criação de UI fácil e flexível. | ✖ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ |
Estende HTMLAlgumas pessoas consideram como uma vantagem, uma vez que elimina a sobrecarga de um outro modelo de linguagem. |
Estende HTMLAlgumas pessoas consideram como uma vantagem, uma vez que elimina a sobrecarga de um outro modelo de linguagem. | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✔ | ✖ | ✖ |
Publicado sob licença MITA licença MIT é uma licença bastante permissiva a todos os tipos de utilização, inclusive uso comercial, sem garantia. |
Publicado sob licença MITA licença MIT é uma licença bastante permissiva a todos os tipos de utilização, inclusive uso comercial, sem garantia. | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Integração com outros Frameworks MV*Pode ser utilizado para substituir parte de outro framework sem remover as funções remanescentes. |
Integração com outros Frameworks MV*Pode ser utilizado para substituir parte de outro framework sem remover as funções remanescentes. | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Pontuação total para "Informações gerais" |
Pontuação total para "Informações gerais" | | | | | | | | | | |
Plugins |
Plugin para suporte de animaçãoTem um plugin que inclui funcionalidades para criação de views de animação, facilmente. |
Plugin para suporte de animaçãoTem um plugin que inclui funcionalidades para criação de views de animação, facilmente. | ✔ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Número de pluginsPlugins oferecem uma maneira simples de estender a funcionalidade ou integrar-se a outros serviços. Um grande número de plugins pode indicar uma comunidade ativa de usuários. Apenas plugins oficiais são considerados. |
Número de pluginsPlugins oferecem uma maneira simples de estender a funcionalidade ou integrar-se a outros serviços. Um grande número de plugins pode indicar uma comunidade ativa de usuários. Apenas plugins oficiais são considerados. | 213 | N.A. | N.A. | 153 | N.A. | 7 | 33 | N.A. | N.A. | N.A. |
Fonte de plugin dedicadaIsso demonstra que o framework possui ecossistema ativo, grande apoio da comunidade permitindo maior flexibilidade e desenvolvimento mais rápido. |
Fonte de plugin dedicadaIsso demonstra que o framework possui ecossistema ativo, grande apoio da comunidade permitindo maior flexibilidade e desenvolvimento mais rápido. | ✔ | ✖ | ✖ | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ |
Abstração de sincronização RESTful integrada para modelosInclui utilitários para manter os modelos sincronizados com sua representação no servidor, sem escrever boilerplate-jQuery para fazer chamadas ajax . |
Abstração de sincronização RESTful integrada para modelosInclui utilitários para manter os modelos sincronizados com sua representação no servidor, sem escrever boilerplate-jQuery para fazer chamadas ajax . | ✔ | ✖ | ✖ | ✔ | ✖ | ✔ | ✖ | ✔ | ✔ | ✖ |
Suporte para animaçãoInclui funcionalidades para criar views de animações com facilidade. |
Suporte para animaçãoInclui funcionalidades para criar views de animações com facilidade. | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ |
Pontuação total para "Plugins" |
Pontuação total para "Plugins" | | | | | | | | | | |
Bibliotecas & Pacotes |
Biblioteca de manipulação de DOM agnósticaNão requer ou seriamente encoraja o uso de biblioteca específica (como jQuery, Zepto ou MooTools ) para lidar com manipulação de DOM e pode ser usada com aquela que o desenvolvedor preferir. |
Biblioteca de manipulação de DOM agnósticaNão requer ou seriamente encoraja o uso de biblioteca específica (como jQuery, Zepto ou MooTools ) para lidar com manipulação de DOM e pode ser usada com aquela que o desenvolvedor preferir. | ✖ | ✔ | ✖ | ✖ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ |
Compatibilidade com bibliotecas AMD tais como Require.jsAs bibliotecas de Definição de Módulo Assíncrono possibilita programação modular fácil e limpa. Caso um framework não funcione bem com essas bibliotecas, pode haver outros meios para modularizar seus componentes e solucionar dependências, como a Dependency Injection (Injeção de Dependência). |
Compatibilidade com bibliotecas AMD tais como Require.jsAs bibliotecas de Definição de Módulo Assíncrono possibilita programação modular fácil e limpa. Caso um framework não funcione bem com essas bibliotecas, pode haver outros meios para modularizar seus componentes e solucionar dependências, como a Dependency Injection (Injeção de Dependência). | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ | ✖ | ✖ | ✔ | ✖ |
Suporte para gerenciamento de dependências BowerBower é um gerenciador de pacotes do tipo npm, fácil de usar, para aplicativos front-end. |
Suporte para gerenciamento de dependências BowerBower é um gerenciador de pacotes do tipo npm, fácil de usar, para aplicativos front-end. | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ |
Entrada oficial e atualizada no gerenciador de pacotes NPMO node package manager (npm) pode ser usado para gerenciar scripts front-end. |
Entrada oficial e atualizada no gerenciador de pacotes NPMO node package manager (npm) pode ser usado para gerenciar scripts front-end. | ✖ | ✖ | ✔ | ✔ | ✔ | ✖ | ✔ | ✖ | ✔ | ✖ |
Inclui jQuery LiteUsa elementos do jQuery Lite onde é necessário a manipulação do DOM. Deste modo, os desenvolvedores obtêm confortáveis funções auxiliares do jQuery sem precisar incluir a biblioteca inteira. Em muitos casos, isto elimina a dependência do projeto em jQuery. |
Inclui jQuery LiteUsa elementos do jQuery Lite onde é necessário a manipulação do DOM. Deste modo, os desenvolvedores obtêm confortáveis funções auxiliares do jQuery sem precisar incluir a biblioteca inteira. Em muitos casos, isto elimina a dependência do projeto em jQuery. | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Pontuação total para "Bibliotecas & Pacotes" |
Pontuação total para "Bibliotecas & Pacotes" | | | | | | | | | | |
Ligação de dados |
Ligação de dados bidirecionalOs modelos e views podem estar vinculados para atualizarem-se mutuamente. |
Ligação de dados bidirecionalOs modelos e views podem estar vinculados para atualizarem-se mutuamente. | ✔ | ✖ | ✔ | ✖ | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ |
Vinculação unidirecional de dadosAs views podem estar sujeitas à atualização automática quando um objeto observável é alterado. |
Vinculação unidirecional de dadosAs views podem estar sujeitas à atualização automática quando um objeto observável é alterado. | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Modelos são objetos JavaScript simples
Isso facilita a transferência de dados entre o aplicativo e os serviços REST -
Transferência de Estado Representativo - ou LocalStorage. Além disso, reduz a complexidade das funções "getter" e "setter". |
Modelos são objetos JavaScript simples
Isso facilita a transferência de dados entre o aplicativo e os serviços REST -
Transferência de Estado Representativo - ou LocalStorage. Além disso, reduz a complexidade das funções "getter" e "setter". | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Uso de view mixins permitidoMixins é uma técnica de programação que permite que diferentes objetos compartilhem comportamentos comuns sem precisar de herança de orientação a objetos. |
Uso de view mixins permitidoMixins é uma técnica de programação que permite que diferentes objetos compartilhem comportamentos comuns sem precisar de herança de orientação a objetos. | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Extensão de plug-in para ligação bidirecional de dados disponívelPode ser expandido para dar suporte aos modelos e views atualizando-os mutuamente. Isto adiciona tamanho de arquivo mas permite maior flexibilidade. |
Extensão de plug-in para ligação bidirecional de dados disponívelPode ser expandido para dar suporte aos modelos e views atualizando-os mutuamente. Isto adiciona tamanho de arquivo mas permite maior flexibilidade. | ✖ | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
Pontuação total para "Ligação de dados" |
Pontuação total para "Ligação de dados" | | | | | | | | | | |
Performance |
Tamanho de arquivo reduzido sem dependênciasArquivos menores demandam menos tempo de carregamento. |
Tamanho de arquivo reduzido sem dependênciasArquivos menores demandam menos tempo de carregamento. | 81KB | 78KB | 235KB | 19KB | 65KB | 69KB | 43KB | 247KB | 120KB | N.A. |
Suporta roteamento e vinculação profundaO roteamento permite interação com a url do navegador. Isso é muito importante para proporcionar uma boa experiência ao usuário, caso você esteja criando aplicativos de uma página. |
Suporta roteamento e vinculação profundaO roteamento permite interação com a url do navegador. Isso é muito importante para proporcionar uma boa experiência ao usuário, caso você esteja criando aplicativos de uma página. | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ |
Implementação Promises/A+Tem implementação interna da especificação Promises/A+. Promises é uma alternativa conhecida para os callbacks ao lidar com respostas do servidor. |
Implementação Promises/A+Tem implementação interna da especificação Promises/A+. Promises é uma alternativa conhecida para os callbacks ao lidar com respostas do servidor. | ✔ | ✖ | ✔ | ✖ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ |
Templates podem ser pré-compilados no servidorSuporta um mecanismo de modelagem que pode ser pré-processado no servidor. Isto provavelmente melhora a velocidade da página, especialmente em dispositivos com baixo capacidade computacional. |
Templates podem ser pré-compilados no servidorSuporta um mecanismo de modelagem que pode ser pré-processado no servidor. Isto provavelmente melhora a velocidade da página, especialmente em dispositivos com baixo capacidade computacional. | ✖ | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ | ✖ | ✖ | ✔ |
Injeção de DependênciaIsso melhora a testabilidade e a modularidade. |
Injeção de DependênciaIsso melhora a testabilidade e a modularidade. | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ |
Pontuação total para "Performance" |
Pontuação total para "Performance" | | | | | | | | | | |