Meu objetivo é migrar um aplicativo da web existente para um aplicativo de página única (SPA) RESTful . Atualmente, estou avaliando vários frameworks de aplicativos da web Javascript.
Meus requisitos são os seguintes:
- Camada de dados RESTful (como dados ember)
- Estrutura MV *
- Rotas dinâmicas
- Suporte de teste
- Codificação por convenção
- Suporte para SEO
- Suporte de histórico do navegador
- Boa documentação (API-)
- Pronto para produção
- Comunidade viva
Espinha dorsal
O aplicativo atual está usando backbone.js
. No geral, backbone.js
é um bom projeto, mas estou perdendo estruturas bem definidas que determinam onde o que deve acontecer e como as coisas devem ser implementadas. Trabalhar em uma equipe maior com desenvolvedores em constante mudança leva a algum tipo de código não estruturado, difícil de manter e difícil de entender. É por isso que estou procurando agora por um framework, que já defina tudo isso.
Brasa
Eu olhei para ember.js
os últimos dias. A abordagem parece muito promissora para mim. Mas, infelizmente, o código muda quase diariamente. Portanto, não vou chamá-lo de pronto para produção. E, infelizmente, não podemos esperar que seja a versão 1.0. Mas eu realmente gosto da ideia por trás dessa estrutura.
Angular
Angular.js
também é uma estrutura amplamente difundida mantida pelo Google. Mas não consegui me familiarizar com o angular. Para mim, a estrutura parece um tanto obscura, faltam explicações sobre as responsabilidades gerais de cada parte da estrutura e as implementações parecem tortuosas. Só para ver se entendi: esta é apenas minha impressão pessoal e pode ser baseada na falta de conhecimento.
Batman e Meteor
Pelo que entendi, as duas estruturas também precisam de uma parte do servidor. E como queremos apenas um back-end RESTful - não importa o idioma, técnica ou software, não é isso que queremos. Além disso, a API de back-end já existe (RoR).
Knockout , CanJS e Spine
Não me aprofundei nesses três candidatos. Talvez este seja meu próximo passo.
Então, minhas perguntas agora:
- Estou perdendo alguma boa estrutura de SPA?
- Qual estrutura você sugeriria / recomendaria?
- Você evitaria qualquer uma das estruturas mencionadas?
- Qual é a sua experiência em aplicações de SP maiores?
PS: Eu gostaria de recomendar uma ótima postagem no blog de Steven Anderson (desenvolvedor principal da Knockout.js) sobre a conferência "Throne of JS" (de 2012) e estruturas javascript em geral.
PS: Sim, eu sei que já há algumas dúvidas sobre o SO. Mas como o desenvolvimento é tão rápido e rápido para SPAs, a maioria deles já está desatualizada.