Estamos analisando opções para criar o front end de um aplicativo que estamos criando e tentando avaliar uma ferramenta que funcionará para nós e nos fornecerá a melhor plataforma para avançar.
Este é um projeto do Node.js. Nosso plano inicial era usar o Express e seguir esse caminho, mas decidimos que, antes de iniciarmos este estágio, seria melhor revisar o que está lá fora. Nosso aplicativo possui várias áreas que, acreditamos, não se enquadram no modelo de página única, pois são relacionados da perspectiva do aplicativo, mas não da visualização.
Vimos algumas das estruturas que poderíamos usar para criar o cliente como Backbone.js , Meteor , etc. e também o AngularJS.
Essa pode ser uma pergunta bastante óbvia, mas parece que não conseguimos decifrar se o AngularJS é apenas para aplicativos de página única ou se pode ser usado para aplicativos de várias páginas como o Express, por exemplo.
ATUALIZAÇÃO 17 de julho de 2013 Apenas para manter as pessoas informadas, atualizarei esta pergunta à medida que avançamos no processo. Vamos construir tudo juntos por enquanto e veremos o desempenho. Entramos em contato com algumas pessoas que são mais qualificadas com o AngularJS do que nós e levantamos a questão de dividir aplicativos maiores que compartilham contexto, mas que podem ser muito grandes trabalhando em uma única página.
O consenso era que poderíamos servir várias páginas estáticas e criar aplicativos AngularJS que funcionassem apenas com essas páginas, criando efetivamente uma coleção de SPA e vinculando esses aplicativos usando o link padrão. Agora, nosso caso de uso é muito específico, pois nossa solução possui vários aplicativos e, como eu disse, vamos tentar primeiro a base de código única e otimizar a partir daí.
ATUALIZAÇÃO 18 de junho de 2016 O projeto caiu de um penhasco, por isso nunca chegamos a fazer muito. Recolhemos novamente recentemente, mas não usamos mais angular e, em vez disso, usamos React. Ainda estamos usando a arquitetura descrita na atualização anterior, em que usamos aplicativos expressos e autocontidos. Por exemplo, temos uma /chatrota expressa que serve nosso aplicativo de bate-papo React, temos outra rota /projectsque serve o aplicativo de projetos e em breve. A maneira como olhamos para ele é que cada aplicativo é uma raiz agregada em termos de seu conjunto de recursos, ele precisa poder ser autônomo para ser considerado um aplicativo em si. Tecnicamente, todas as informações estão disponíveis, é apenas o expresso básico e qualquer que seja o sabor do aplicativo do lado do cliente que você deseja usar.