Aprender Ember.js / Backbone.js está na minha lista de tarefas por um tempo. Agora que o Meteor saiu, estou me perguntando se alguém com experiência em Meteor, Ember.js e Backbone.js pode resumir as principais diferenças, prós e contras dessas três estruturas JavaScript para uma pessoa sem experiência em nenhuma delas.
Especificamente, gostaria de saber para quais tarefas cada estrutura é mais adequada e por que as outras não são.
Edit: agora que li um pouco mais sobre o Meteor, parece mais parecido com o Knockout.js do que com o Backbone.js. Portanto, qualquer comparação com o Knockout.js também é bem-vinda.
Respostas:
Existe uma boa comparação / comparação de várias estruturas MVx JS aqui http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/ , seguida por uma boa discussão nos comentários também . Acho que vi Gordon (que escreveu) aqui, então talvez você receba uma resposta dele.
Eu diria que, se você está procurando aprender esse estilo de desenvolvimento de aplicativos, por um lado, a riqueza de exemplos de backbone de código aberto pode ser bom para você. Mas, por outro lado, embora seja novo, o pacote Ember é na verdade um IMO mais completo que o backbone.
Ambas oferecem a capacidade de implementar as coisas de várias maneiras, o que pode ser confuso, mas o Ember fornece mais do código que você precisaria escrever para si mesmo no backbone como padrão, o que para mim é mais importante para a prototipagem rápida do que a riqueza de exemplos de backbone disponíveis.
Existem plugins mais maduros para persistência de dados no backbone, mas há um grande burburinho da comunidade em torno do Ember e muitas bibliotecas de contribuição estão fazendo um grande progresso. Fiquei agradavelmente surpreso com a rapidez com que eu (e outros) obtivemos respostas de qualidade para uma estrutura relativamente nova aqui no Stack Overflow.
Quando você diz meteoros, estamos falando de outras coisas. Se você quiser fazer mais com a reutilização de código no lado do cliente e do servidor, dê uma olhada no yahoo mojito de código aberto recentemente https://github.com/yahoo/mojito em execução no node.js - eu andei brincando com ele durante a última semana, e Se você se familiarizar com a espinha dorsal / brasa ou qualquer um dos outros, é muito fácil entender.
Também devo dizer que tenho o Knockout.js em uso em alguns sistemas de produção, mas nunca o usei para um 'aplicativo' completo. Eu o conectei a uma interface mongo para pesquisar e registrar os logs armazenados no mongo. Eu realmente gosto, mas não me sentiria confortável construindo algo muito grande nele.
Bem, isso é um pouco de divagar - não é :)
Muito feliz em falar mais sobre isso com quem estiver interessado. Eu usei várias dessas estruturas na raiva / produção (incluindo coisas não listadas no artigo 'top 10') e as pessoas no trabalho estão cansadas de me ouvir falar sobre JS, eu acho:
fonte