Descrição
Em geral, estas estruturas fornecem a funcionalidade que abrange um ou mais dos seguintes:
-
Roteamento: Um mecanismo para a tomada de pedidos de HTTP e encaminhá-los para algum código que manipula themand retorna uma resposta.
-
Templates: Um ou mais sintaxes para a criação de modelos de páginas da web para que o estático e dynamiccontent pode ser descrito de uma forma razoavelmente simples e o código pode ser incorporado ou em alguns wayassociated com o modelo, a fim de preencher os espaços em branco.persistência: um mecanismo para armazenar um objecto que recupera de uma loja.
No entanto, alguns vão muito além de colar os componentes web juntos e fornecer frameworks que gerem seu próprio HTML, JavaScript, etc. na extremidade dianteira e tentar esconder a separação entre o código lateral e o código do lado do servidor. Por uma questão de brevidade, referir-me-ei a estes como aplicações RichInternet (RIA) como GWT e Vaadin, ambos se referem a si mesmos como tal e certamente se enquadram nesta categoria.
uma referência importante de vários frameworks de aplicação web (sem qualquer referência ao Scala!) can beefound on Wikipedia here: Web Application Frameworks
Play Framework
- Written in Java with Scala specific support.ênfase na simplicidade.
- ferramenta da linha de comandos que gera automaticamente um modelo inicial.
- compila o conteúdo na altura sem a necessidade de uma ferramenta de compilação adicional.
- usa a APP e hibernar como a estrutura de persistência subjacente.
Pros
- Início Rápido.
Cons
- compilação automática na altura significa que você perde algum do controlo de usar a sua própria ferramenta de compilação.sente-se desconfortavelmente focado em características que fazem para belas demos!
- Built in compilation also does some automatic code generation with Java Beans which means thatcode might run but not compile with a normal compiler.
GWT (Google Web Toolkit)
- escrito em Java sem suporte Scala específico.
- A maioria dos comentários sobre são igualmente aplicáveis à GWT em que se baseia.
Vaadin
o código Vaadin parece-se um pouco com o código Swing. Você está efetivamente escrevendo uma Javaaplicação interativa que é então executado como uma aplicação JavaScript dentro de um cliente web. A partir de uma perspectiva funcional, isto parece como pegar um mundo de estilo tradicionalmente declarativo de HTML e CSS e transformá-lo em um estilo muito imperativo. Em suma, parece uma abordagem invertida para resolver o problema da interface entre a Programação front-end e back-end.
- escrito em Java sem suporte Scala específico.
- uma rica aplicação de Internet (RIA).
- baseado no GWT (Google Web Toolkit).
- Todo o código é feito do lado do servidor, Vaadin faz todo o trabalho de gerar HTML, JavaScript, etc.comparação de Vaadin com outros “enquadramentos RIA concorrentes”.Incluindo Flex, GWT, Ice Faces, JQuery e Wicket.
- É atualmente usado por:
- TNT
- Devox
- Logica
Vantagens
- Adequado para programadores de Java, que não querem mexer com HTML e JavaScript.
- retira a responsabilidade de entregar as diferenças entre os clientes web.
Cons
- retira o seu controlo sobre a afinação fina do front end HTML e CSS.
- Pode parecer pouco familiar para alguém que não está familiarizado com o desenvolvimento de aplicações GUI Java.
- passível de produzir aplicações web com javascript de front-end pesado.
Scalatra
Scalatra parece ser, basicamente, uma forma de requisição de motor de roteamento. Ele fornece uma maneira simples de processar pedidos recebidos e encaminhá-los para o código que torna a resposta. Qualquer outra função pode ser escrito por si mesmo ou adicionado como um plugin opcional.
- escrito em Scala.inspirado em Sinatra.
- constrói com sbt.
- corre no cais.
- Tem algum suporte de teste incorporado.
- Tem suporte opcional para:
- Scalate templating engine.
- Commons FileUpload file upload support.
- é actualmente utilizado por:
- LinkedIn Signal backend.
Pros
- parece ser muito claro o que isto faz e como.parece encaixar-se bem em qualquer projecto Scala combinado sem excesso de DSLs ou implicitos.
Cons
- Se quiser alguma ferramenta abrangente, esta não é uma.
Scalate
Scala templating engine.
- escrito em Scala.
- parece ser construído com Maven ou sbt.
- suporte a modelos em bigode, Scaml (Scala Markup Language) andSSP (Scala Server Pages).
Lift
web framework.
- escrito em Scala.
- construído com sbt (anteriormente com Maven).
- exibindo muitas das características de ricas aplicações de Internet, enquanto ainda dá acesso à manipulação direta de HTML, JavaScript, etc. Esta liberdade proporciona um certo grau de indefinição e tensão na compreensão do que ela está tentando fazer e como você vai abouting-lo.
- Provides templating, routing, security, persistence framework, indeed everything!
Pros
- Pode fazer praticamente tudo o que necessita.
- tem um monte de recursos de segurança fortes construídos por padrão.
- tem um foco particular em suavizar a codificação do Código AJAX e cometa.
Cons
- parece estar sempre a adicionar novas funcionalidades, mas raramente deita fora as antigas.a documentação de
- está fragmentada e não está alinhada com as atualizações.
- Existem muitas maneiras de fazer a mesma coisa por isso é difícil usar o código de outras pessoas como referência para verificar se você está fazendo a coisa certa.