Backbone vs angular

A espinha dorsal abraça o minimalismo. É pequeno, rápido e fácil de aprender e fornece o mínimo (ou, em muitos casos, até menos que o mínimo) que você precisa para começar. A abordagem inovadora da Angular para estender o HTML fará muito sentido para as pessoas que são desenvolvedores da Web em alma. Com uma grande comunidade e o Google por trás disso, ele veio para ficar e crescer, e funciona bem para projetos de prototipagem rápida e aplicativos de produção em larga escala.

Angular. É bom em x maneiras, mas ruim em y maneiras. X é vertical e Y é horizontal. Qualquer plug-in que precise trabalhar com angular deve ser angulairificado. Mas para a espinha dorsal, o plug-in simplesmente funciona como foi criado. e codificar em angular confunde novos desenvolvedores. mas a espinha dorsal é direta. O backbone perde sua ligação de 2 vias, mas é extensível.

Angular.js usa sua marcação para inferir comportamento. Na prática, o Backbone.js é independente, mas facilita uma abordagem mais MVC, na qual você pode manter sua eventual marcação, lógica e modelo completamente separados (ou separados como desejar). Por exemplo, no Backbone, as funções que vinculam o modelo à visualização podem ser definidas como propriedades da visualização, do controlador ou do modelo.

Angular é declarativo usando atributos personalizados e nomes de elementos, o Backbone é imperativo, embora inclua conveniências para atualizar a visualização quando o modelo js for alterado.

Dito de outra forma, o Angular usa a visualização para derivar comportamento, enquanto o Backbone usa o comportamento para direcionar a visualização.

As visualizações de backbone são quase mais convenientes do que códigos - não determinam nada sobre seu HTML ou CSS para você e podem ser usadas com qualquer biblioteca de modelos JavaScript.

vs

os aplicativos são especificados declarativamente por meio de tags e atributos HTML personalizados que especificam a intenção do seu aplicativo.

Qualquer um deles não é ruim. Eu gostei de trabalhar com os dois.

O JS angular do DOM observa HTML-JS fortemente acoplado (que eles chamam de diretivas). Estou mais inclinado a manter a marcação independente. Isso pode ser um problema real se o APP vir atualizações constantes da interface do usuário.

O Backbone JS não informa ao desenvolvedor como o aplicativo precisa ser desenvolvido. É útil que o devloper possa escolher as bibliotecas / plugins necessários para caber no APP.

Se você está começando do zero, recomendo o Angular. Naturalmente, Angular é o caminho a seguir porque está decolando. Permanecerá assim, a menos que surjam problemas no roteiro, na comunidade, no projeto ou no desenvolvimento. Pode acontecer, já que o Angular está ficando um pouco mais complicado, mas agora está quente para ficar.

A espinha dorsal, por outro lado, é bem diferente da angular. O Backbone é um construtor de widgets que apenas cria blocos de HTML com Javascript vinculado a eles, e é isso. É tudo sobre funções de renderização no Backbone, enquanto Angular e Ember são mecanismos de modelagem ao vivo, assim como outras estruturas, como Knockout.

Verifique mais informações em

O que os iniciantes devem escolher: AngularJS, Ember.js ou Backbone.js?

por um

Dean Sofer, especialista em AngularJS

- desenvolvedor full-stack na Codementor.

O que é o AngularJS?

O AngularJS oferece a você a chance de compor aplicativos da Web do lado do cliente como se você tivesse um programa mais inteligente. Ele oferece a você a chance de utilizar o ótimo e antigo HTML (ou HAML, Jade e complementares!) Como seu dialeto de layout e oferece a chance de esticar a estrutura de sentenças do HTML para expressar as partes do aplicativo de maneira óbvia e breve. Consequentemente, sincroniza as informações da sua interface do usuário (consulte) com os objetos JavaScript (show) por meio de informações bidirecionais.

O que é o Backbone.js?

A Spine fornece estrutura para aplicativos impressionantes de JavaScript, fornecendo aos modelos ocasiões autoritativas e personalizadas de estima-chave, acumulações com uma API rica de capacidades numerosas, visualização em ocasiões decisivas, e associa tudo ao seu aplicativo atual por meio de uma interface JSON RESTful. At

Treinamento on-line do Angular Js

Todas essas respostas são ótimas, mas acho que talvez algumas delas sejam muito técnicas, dada a natureza da sua pergunta. Acho que o que você está perguntando é: por que um desenvolvedor escolheria um sobre o outro. A simples diferença entre eles se resume a quão opinativo é cada estrutura. Angular é muito opinativo enquanto Backbone não. Isso significa que o Angular faz muita manipulação complexa nos bastidores. Ele tem regras mais rígidas sobre como usá-lo e, portanto, não permite que você faça algumas das coisas que você pode querer fazer. A espinha dorsal, por outro lado, coloca o poder em suas mãos e espera que você saiba como manejá-lo. Eu vejo a troca assim;

Angular: fácil de usar, mas com mais limitações. (opinativo) Backbone: mais difícil de usar, mas o céu é o limite. (sem opinião)

Sou o autor do Angular, portanto meu ponto de vista é tendencioso e não usei o Backbone (apenas li o site).

Mas eu não acho que essa afirmação seja o verdadeiro reflexo do angular: o Angular usa a visão para derivar comportamento, enquanto o Backbone usa o comportamento para conduzir a visão.

O Angular possui uma separação adequada de: controller: o comportamento do aplicativo / visualização de código: HTML + marcação especial -> projeção dos dados nos filtros de visualização (sem comportamento): transformação de objetos em validadores de strings legíveis por humanos: para entradas

todos os itens acima resultam em uma história muito testável. Seu comportamento está em JS e sua projeção é declarativa em HTML (sem comportamento)

Mas o angular vai mais longe: possui injeção de dependência, testando componentes padrão da história para coisas como abstração XHR, gerenciamento de URL, tratamento de erros, entre outros. Ele tenta sugerir uma maneira de criar um padrão, em vez de fornecer as peças que você precisa para montar uma história coerente.

Mas uma maneira melhor de pensar em angular não é pensar nele como estrutura, mas como compilador HTML, que permite criar seu próprio DSL em HTML, anexando seu próprio comportamento a qualquer elemento, atributo ou texto de HTML. E por qualquer meio, quero dizer que você pode criar seus próprios nomes (fora os das especificações HTML)

espero que isto ajude

Passei mais de dois anos fazendo o backboneJS e depois mais de dois anos fazendo o angularJS.

Eu gosto dos dois ... Muito!

Achei angular muito mais desafiador. Mesmo depois de dois anos, ainda não estou 100% confortável com isso. Acho que ficarei confortável (ao ponto da fluência) no final do ano 3.

O backbone é um pouco menos favorável à empresa, porque não é tão opinativo e não é focado no teste como o angular. Embora o backbone seja mais fácil, eventualmente tivemos que substituí-lo por angular porque não conseguimos encontrar desenvolvedores de backbone.

Ambas as estruturas têm deficiências, mas são sólidas e podem ser usadas para grandes projetos na minha opinião.

Ambas as estruturas permitem que você atire no próprio pé de várias maneiras.

Os grandes projetos devem ser configurados por um arquiteto de software ou desenvolvedor sênior com experiência na organização de grandes sistemas. Se você não configurá-las corretamente, sentirá muito mais tarde. Este é um erro muito caro de desfazer.

Você precisa usar yeoman e um gerador apropriado com qualquer uma dessas estruturas.

Backbone.js

Embora o Backbone possa ser integrado a muitos mecanismos de modelos de terceiros, a opção padrão é

Modelos de sublinhado

. Como o Underscore é uma dependência do Backbone e você já a possui na sua página, você pode aproveitar facilmente o mecanismo de modelagem sem adicionar nenhuma dependência adicional ao seu aplicativo. Por outro lado, o mecanismo de modelagem do Underscore é muito básico e você geralmente precisa inserir o javascript na mistura, como você pode ver no nosso exemplo:

    <% _.each (estruturas, função (estrutura) {%>
  • <% - framework.name%>
  • <%}); %>

Ember.js

O Ember atualmente usa o mecanismo de modelo do guidão, que é uma extensão do

popular

Mecanismo de modelagem de bigode. Uma nova variante do guidão, chamada HTMLBars, está atualmente em andamento. O guidão não entende o DOM - tudo o que faz é uma simples transformação de string. O HTMLBars entenderá o DOM; portanto, a interpolação da variável será sensível ao contexto. Como o HTMLBars ainda não está pronto para produção, mostraremos a maneira do Handlebars de imprimir a lista de estruturas:

    {{#each frameworks}}
  • {{nome}}
  • {{/cada}}

AngularJS

As Boas Peças

Angular trouxe muitos conceitos inovadores para o mundo dos desenvolvedores web. A ligação de dados bidirecional economiza muito código padrão. Considere o seguinte trecho de código jQuery:

$ ('# greet-form input.user-name'). on ('valor', função () { $ ('# greet-form div.user-name'). text ('Olá' + this.val () + '!'); });

Graças à ligação bidirecional da Angular, você nunca precisa escrever esse código. Em vez disso, basta declarar as ligações no seu modelo HTML:

Olá, {{user.name}}!

As promessas desempenham um papel principal no elenco de Angular. Javascript é uma linguagem baseada em loop de evento de thread único, o que implica que muitas operações (como comunicação de rede) acontecem de maneira assíncrona. O código javascript assíncrono tende a se transformar rapidamente em um espaguete de retornos de chamada aninhados, melhor reconhecido como "Código da pirâmide" ou "Inferno de retorno de chamada".

O Angular não apenas possui a maior comunidade e muito mais conteúdo online que os outros dois, mas também é apoiado e promovido pelo Google. Como tal, a equipe principal está em constante crescimento, resultando em inovação e ferramentas que melhoram a produtividade do desenvolvedor: Transferidor, Batarang, ngmin e Zone.js, apenas para citar alguns. Além disso, a equipe colabora com a comunidade nas decisões de design. Por exemplo, todos os documentos de design do Angular 2.0 podem ser encontrados

aqui

, e todos podem fazer sugestões diretamente nos documentos de design.

Angular ajuda a categorizar os blocos de construção de aplicativos em vários tipos: Controladores, Diretivas, Fábricas, Filtros, Serviços e Exibições (modelos). Esses são organizados, por sua vez, em módulos, que podem depender um do outro. Cada tipo de bloco de construção tem uma função diferente. As visualizações fazem a interface do usuário, os controladores elaboram a lógica por trás da interface do usuário, os serviços cuidam da comunicação com o back-end e mantêm partes de funcionalidades comuns e relacionadas, enquanto as diretivas facilitam a criação de componentes reutilizáveis ​​e a extensão do HTML, definindo novos elementos, atributos e comportamentos.

Aprenda todos os idiomas acima aqui:

https://hackr.io/