O Scalatra usa circunflex nos bastidores?
Pergunta
Faz Scalatra usar circunflex nos bastidores (ou vice -versa)? Quais são as principais diferenças entre eles e qual você usaria?
Ambas as estruturas são inspiradas por Sinatra e de uma olhada parece idêntico.
Solicitar roteamento com Scalatra:
class ScalatraExample extends ScalatraServlet {
get("/date/:year/:month/:day") {
<ul>
<li>Year: {params("year")}</li>
<li>Month: {params("month")}</li>
<li>Day: {params("day")}</li>
</ul>
}
Código de amostra em circunflex:
class Main extends RequestRouter {
get("/posts/:id") = "Post #" + uri("id")
}
}
Solução
Ross A. Baker, um dos desenvolvedores da Scalatra, comentou recentemente a diferença entre Circu, Flex e Scalatra:
Eles são superficialmente muito semelhantes, embora eu ache que cada um tem seus pontos fortes. Aqui estão algumas diferenças que vejo:
Modelo: o Scalatra se integra ao Scalate, o circunflex se integra ao Freemarker.
Roteamento: Circlurflex tem um açúcar mais agradável para a correspondência do cabeçalho, mas o Scalatra permite combinar com booleanos arbitrários (ou seja, bandeira global para manutenção do site)
ORM: Curcumflex tem um, Scalatra não. Conheço os usuários do Scalatra usando SQUERYL, Queruloso, Scala-Query, Ormbroker e, sim, circunflex-Aorm. Essas integrações são triviais e presumo que também seria trivial com o circunflex.
Auth: Scalatra possui um módulo de autenticação em seu mais recente instantâneo, o circunflex não.
I18n: Curcumflex tem açúcar para feixes de mensagens, o Scalatra não.
Teste: Scalatra também inclui um bom DSL para testes; Não estou ciente de nada semelhante ao circunflex.