sroebuck/ScalaWebFrameworkReview.md

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

  1. Início Rápido.

Cons

  1. 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!
  2. 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

  1. Adequado para programadores de Java, que não querem mexer com HTML e JavaScript.
  2. retira a responsabilidade de entregar as diferenças entre os clientes web.

Cons

  1. retira o seu controlo sobre a afinação fina do front end HTML e CSS.
  2. Pode parecer pouco familiar para alguém que não está familiarizado com o desenvolvimento de aplicações GUI Java.
  3. 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

  1. 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

  1. 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

  1. Pode fazer praticamente tudo o que necessita.
  2. tem um monte de recursos de segurança fortes construídos por padrão.
  3. tem um foco particular em suavizar a codificação do Código AJAX e cometa.

Cons

  1. parece estar sempre a adicionar novas funcionalidades, mas raramente deita fora as antigas.a documentação de
  2. está fragmentada e não está alinhada com as atualizações.
  3. 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.

Bowler

Deixe uma resposta

O seu endereço de email não será publicado.