67pontos

Backbone JS

77pontos

Ember JS

Backbone JS
Vencedor da comparação
Ember JS
vs
vs

52 características comparadas

Backbone JS vs Ember JS

Backbone JS
Ember JS

Por que Backbone JS é melhor que Ember JS?

  • Arquivo 216KB menor (sem dependências)
    ?

    19KBvs235KB
  • Pode ser renderizado no servidor
    ?
  • Pode ser estendido para ligação bidirecional de dados com o uso de um plugin popular
    ?
  • Integra-se bem com bibliotecas de terceiros para proporcionar suporte Promises/A+
    ?
  • Arquivo 257KB menor (incluindo dependências)
    ?

    51KBvs308KB
  • Suporta 1 versões anteriores do Internet Explorer
    ?

    7vs8
  • Funciona bem com mais de um template engine
    ?
  • Tem fonte de plugin dedicada
    ?

Por que Ember JS é melhor que Backbone JS?

  • Conta com ligação de dados bidirecional
    ?
  • Compatível com vinculação unidirecional de dados
    ?
  • Utiliza "Promises"
    ?
  • Dispõe de filtragem automática de views
    ?
  • Suporte à propriedades computadas
    ?
  • Conta com um plugin popular que suporta animação
    ?
  • Dispõe de Injeção de Dependência
    ?
  • 1 dependências a menos
    ?

    1vs2

Quais são as comparações mais populares?

Informações gerais

Possui 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.
Utiliza "template engine"
Backbone JS
Ember JS
Motores de templates permitem criação de UI fácil e flexível.
Suporte à propriedades computadas
Backbone JS
Ember JS
Permite o uso de funções como propriedades para computar as propriedades dos objetos.
Utiliza JSX para modelagem
Backbone JS
Ember JS
JSX é um mecanismo de modelagem que permite ao desenvolvedor efetuar a marcação diretamente em seu código, que é , em seguida, implementado ou pré- compilado em JavaScript simples. Isso elimina a separação entre a view da marcação e do código e aumenta a velocidade em linguagens de modelagem baseadas em strings.
estende HTML
Backbone JS
Ember JS
Algumas pessoas consideram como uma vantagem, uma vez que elimina a sobrecarga de um outro modelo de linguagem.
Publicado sob a licença MIT
Backbone JS
Ember JS
A licença MIT é uma licença bastante permissiva a todos os tipos de utilização, inclusive uso comercial, sem garantia.
Pode ser utilizado para substituir parte de outro framework sem remover as funções remanescentes.
Suporta views compostas (parcial)
Backbone JS
Ember JS
Permite modelos de views aninhados em views de nível superior dentro de um modelo.
tem um projeto "boilerplate" popular
Backbone JS
Ember JS
Dispõe de um projeto boilerplate oficial ou bem conhecido com estrutura de arquivo recomendada e permite início mais rápido para os desenvolvedores.

Plugins

Tem um plugin que inclui funcionalidades para criação de views de animação, facilmente.
número de plugins

153

Desconhecido. Ajude-nos sugerindo um valor. (Ember JS)

Plugins 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.
tem fonte de plugin dedicada
Backbone JS
Ember JS
Isso demonstra que o framework possui ecossistema ativo, grande apoio da comunidade permitindo maior flexibilidade e desenvolvimento mais rápido.
Plugin para ajudar a validar a entrada do cliente antes de ser processada ou enviada ao servidor. À despeito de não substituir a validação do lado do servidor, ele pode melhorar consideravelmente a experiência do usuário.
Inclui utilitários para manter os modelos sincronizados com sua representação no servidor, sem escrever boilerplate-jQuery para fazer chamadas ajax .
Conta com plugin para manter os modelos sincronizados com sua representação no servidor, sem a necessidade de escrever chamadas ajax.
Suporta animação
Backbone JS
Ember JS
Inclui funcionalidades para criar views de animações com facilidade.
Tem um plugin que oferece uma funcionalidade simples para sincronizar modelos com o LocalStorage HTML5.

Bibliotecas & Pacotes

Nã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.
As 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).
Bower é um gerenciador de pacotes do tipo npm, fácil de usar, para aplicativos front-end.
O node package manager (npm) pode ser usado para gerenciar scripts front-end.
Inclui jQuery Lite
Backbone JS
Ember JS
Usa 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 a Biblioteca Underscore.js
Backbone JS
Ember JS
Conta com o conhecido utilitário biblioteca underscore.js como uma dependência. A underscore inclui funções que auxiliam na manipulação de lista e programação funcional.

Ligação de dados

Os modelos e views podem estar vinculados para atualizarem-se mutuamente.
As views podem estar sujeitas à atualização automática quando um objeto observável é alterado.
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".
Permite o uso de view mixins
Backbone JS
Ember JS
Mixins é uma técnica de programação que permite que diferentes objetos compartilhem comportamentos comuns sem precisar de herança de orientação a objetos.
Pode ser expandido para dar suporte aos modelos e views atualizando-os mutuamente. Isto adiciona tamanho de arquivo mas permite maior flexibilidade.
As alterações nos modelos são observadas. Este é um padrão bem conhecido. Pode ser mais eficaz do que dirty-checking em alguns casos.
Utiliza Dirty-Checking
Backbone JS
Ember JS
Verifica quaisquer alterações e atualiza os campos correspondentes. correspondentes. Pode ser mais eficaz do que os observers em alguns casos.

Performance

Arquivos menores demandam menos tempo de carregamento.
Suporta roteamento e link profundo
Backbone JS
Ember JS
O 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.
Utiliza "Promises"
Backbone JS
Ember JS
Tem implementação interna da especificação Promises/A+. Promises é uma alternativa conhecida para os callbacks ao lidar com respostas do servidor.
Suporta 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.
Pode ser renderizado no servidor
Backbone JS
Ember JS
Isso melhora muito a rastreabilidade do template engine. Isto possivelmente melhora a velocidade da página, especialmente em dispositivos com baixo poder computacional.
Dispõe de Injeção de Dependência
Backbone JS
Ember JS
Isso melhora a testabilidade e a modularidade.
Menos dependências significa diminuição de inclusão de scripts extras, diminuindo sobrecarga de desenvolvimento e proporcionando carregamento mais rápido.
Atualiza o DOM de forma assíncrona
Backbone JS
Ember JS
A mudança do modelo não resulta em atualizações imediatas de views, mas são enfileiradas e liberadas como um grupo. Isto pode ter um desempenho muito melhor que as atualizações instantâneas de views.
Permite o uso de bibliotecas como Deferred jQuery para suportar promises. Os promises são uma alternativa popular para os callbacks ao lidar com respostas do servidor.

Quais os/as melhores Frameworks MV*?

Exibir tudo
This page is currently only available in English.