Est-ce que l'utilisation scalatra circonflexe dans les coulisses?
Question
scalatra utilisation circonflexe dans les coulisses (ou vice-versa)? Quelles sont les principales différences entre eux, et que l'on utiliseriez-vous?
Les deux cadres sont inspirés par Sinatra et d'un look identique coup d'oeil.
Demande de routage avec 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>
}
Exemple de code dans circonflexe:
class Main extends RequestRouter {
get("/posts/:id") = "Post #" + uri("id")
}
}
La solution
Ross A. Baker, l'un des développeurs Scalatra, a récemment commenté la différence entre Circu, flex et Scalatra:
Ils sont en apparence très similaire, mais je pense que chacun a ses points forts. Voici quelques différences que je vois:
Templating: Scalatra intègre à Scalate, circonflexe intègre avec Freemarker.
Routing: circonflexe a plus agréable sucre pour la correspondance d'en-tête, mais Scalatra permet vous correspondez sur booléens arbitraires (à savoir, indicateur global pour l'entretien du site)
ORM: circonflexe a un, Scalatra ne fonctionne pas. Je sais que des utilisateurs Scalatra en utilisant Squeryl, Grincheuse, Scala-requête, ORMBroker, et, oui, circonflexe-ORM. Ces intégrations sont négligeables, et je assumer serait aussi trivial avec Circonflexe.
Auth: Scalatra a un module d'authentification dans son dernier cliché, circonflexe ne pas.
i18n: circonflexe a sucre pour le message faisceaux, Scalatra ne fonctionne pas.
Test: Scalatra comprend aussi une belle DSL pour les tests; Je ne suis pas au courant quelque chose de similaire pour circonflexe.