Ist scalatra Verwendung circumflex hinter den Kulissen?
Frage
scalatra Verwendung circumflex hinter den Kulissen (oder umgekehrt)? Was sind die wichtigsten Unterschiede zwischen ihnen, und was würden Sie benutzen?
sind Beide Frameworks inspiriert von Sinatra und aus einem Blick sieht identisch.
Anfrage-Routing mit 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>
}
Beispielcode in circumflex:
class Main extends RequestRouter {
get("/posts/:id") = "Post #" + uri("id")
}
}
Lösung
Ross A. Baker, einer der Scalatra Entwickler, hat sich auf die Differenz zwischen Circu kommentierte kürzlich, flex und Scalatra:
Sie sind oberflächlich sehr ähnlich, obwohl ich glaube, jeder hat seine Stärken. Hier sind einige Unterschiede, die ich sehe:
Templating: Scalatra integriert mit Scalate, Circumflex integriert Freemarker.
Routing: Circumflex hat schöneren Zucker für Kopfanpassung, aber Scalatra lässt passen Sie beliebige Boolesche Werte auf (das heißt, globaler Flag für Wartung vor Ort)
ORM: Circumflex hat einen, Scalatra nicht. Ich kenne Scalatra Benutzer mit Squeryl, Querulanten, Scala-Abfrage, ORMBroker, und, ja, Circumflex-ORM. Diese Integrationen sind trivial, und ich auch davon ausgehen, trivial wäre mit Circumflex.
Auth: Scalatra hat ein Auth-Modul in seine neuesten Snapshot, Circumflex tut nicht.
i18n: Circumflex hat Zucker für die Nachrichten Bündel, Scalatra nicht.
Test: Scalatra umfasst auch eine schöne DSL für die Prüfung; Ich bin mir nicht bewusst etwas Ähnliches für Circumflex.