67pontos

Backbone JS

52pontos

Knockout JS

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

52 características comparadas

Backbone JS vs Knockout JS

Backbone JS
Knockout JS

Por que Backbone JS é melhor que Knockout JS?

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

    19KBvs43KB
  • Suporta roteamento e link profundo
    ?
  • Pode ser renderizado no servidor
    ?
  • Suporta views compostas (parcial)
    ?
  • 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+
    ?
  • Tem um projeto "boilerplate" popular
    ?
  • 120 plugin(s) a mais
    ?

    153vs33

Por que Knockout JS é melhor que Backbone JS?

  • Conta com ligação de dados bidirecional
    ?
  • Compatível com vinculação unidirecional de dados
    ?
  • Suporte à propriedades computadas
    ?
  • Estende HTML
    ?
  • 2 dependências a menos
    ?
  • Suporta 1 versões anteriores do Internet Explorer
    ?

    6vs7
  • Dispõe de ferramentas de depuração dedicadas
    ?

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

Informações gerais

Dispõe de filtragem automática de views
Backbone JS
Knockout JS
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
Knockout JS
Motores de templates permitem criação de UI fácil e flexível.
Suporte à propriedades computadas
Backbone JS
Knockout JS
Permite o uso de funções como propriedades para computar as propriedades dos objetos.
Utiliza JSX para modelagem
Backbone JS
Knockout 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
Knockout 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
Knockout JS
A 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*
Backbone JS
Knockout JS
Pode ser utilizado para substituir parte de outro framework sem remover as funções remanescentes.
Suporta views compostas (parcial)
Backbone JS
Knockout JS
Permite modelos de views aninhados em views de nível superior dentro de um modelo.
tem um projeto "boilerplate" popular
Backbone JS
Knockout 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.
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
Knockout 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
Knockout 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
Knockout 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
Knockout 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

Conta com ligação de dados bidirecional
Backbone JS
Knockout JS
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.
Os modelos são simples objetos JavaScript
Backbone JS
Knockout JS
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
Knockout 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
Knockout 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
Knockout 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
Knockout 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
Knockout 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
Knockout 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
Knockout 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.