Ich habe gerade angefangen, Scala zu lernen, und das erste, was ich implementieren werde, ist eine winzige Webanwendung. Ich habe Erlang im letzten Jahr verwendet, um serverseitige Software zu implementieren, aber ich habe noch nie zuvor Webanwendungen geschrieben. Es wird eine großartige Erfahrung.
Gibt es Web-Frameworks für Scala außer Lift ?
Versteh mich nicht falsch, Lift sieht toll aus. Ich möchte nur wissen, wie viele Frameworks es gibt, damit ich dann zwischen ihnen wählen kann. Es ist immer gut, eine Wahl zu haben, aber ich fand nur Lift.
scala
frameworks
web-frameworks
lift
Prikrutil
quelle
quelle
Ich habe einen Blog-Beitrag darüber geschrieben.
Zusammenfassend sind einige der Optionen:
Ich fand schließlich heraus, dass keiner für mich geeignet war und entwickelte mein eigenes kleines "Framework". (Es ist noch nicht Open Source).
quelle
Ich mag Lift ;-)
Play ist meine zweite Wahl für Scala-freundliche Web-Frameworks.
Wicket ist meine dritte Wahl.
quelle
Es folgt ein Dump von Frameworks. Das heißt nicht, dass ich sie tatsächlich benutzt habe:
Coeus . Ein traditionelles MVC-Webframework für Scala.
Ungefiltert . Ein Toolkit zur Bearbeitung von HTTP-Anfragen in Scala.
Uniscala Granit .
Gardel
Mondo
Amore . Ein Scala-Port des Ruby-Webframeworks Sinatra
Skaliert XML . Flexibler Ansatz für die XML-Verarbeitung und eine vereinfachte Art der Interaktion mit XML.
Gürtel . Eine Rack-ähnliche Oberfläche für Webanwendungen, die auf Scalaz-HTTP basiert
Frank . Webanwendung DSL basiert auf Scalaz / Belt
MixedBits . Ein Framework für die Scala-Programmiersprache zum Erstellen von Websites
Circumflex . Vereinigt mehrere eigenständige Open Source-Projekte für die Anwendungsentwicklung mit der Programmiersprache Scala.
Scala Webmachine . Port of Bashos Webmaschine in Scala, ein REST-basiertes System zum Erstellen von Webanwendungen
Bowler . Ein RESTful, Multi-Channel-fähiges Scala-Webframework
quelle
Probieren Sie Play Framework aus , das auch Scala unterstützt.
quelle
Ein sehr interessantes Webframework mit kommerzieller Bereitstellung ist Scalatra , inspiriert von Rubys Sinatra. Hier ist ein InfoQ-Artikel darüber.
quelle
Ich finde Unfiltered sehr interessant https://github.com/unfiltered/unfiltered .
Es wird in der Liste von IttayD erwähnt.
Hier ist eine Präsentation darüber http://unfiltered.lessis.me/#0 und das Video http://code.technically.us/post/942531598/doug-tangren-present-the-unfiltered-toolkit-for
Auch hier gibt es einen Artikel mit mehr Infos http://code.technically.us/post/998251172/holding-the-parameter
quelle
Es ist anzumerken, dass auch ein erhebliches Interesse an Wicket und Scala besteht . Wicket passt überraschend gut zu Scala. Wenn Sie das sehr ausgereifte Wicket-Projekt und sein Ökosystem (Erweiterungen) sowie den prägnanten Syntax- und Produktivitätsvorteil von Scala nutzen möchten, ist dieses möglicherweise das Richtige für Sie!
Siehe auch:
Einige Prosa
Präsentation
Einige Erfahrungen mit Wicket und Scala
Ankündigungen mit Bezug auf das Projekt für den Klebercode zum Binden von Scala-Verschlüssen an Modelle
quelle
Das Spiel ist ziemlich süß.
Es ist jetzt produktionsbereit. Es beinhaltet: ein cooles Template-Framework, automatisches Neuladen von Quelldateien auf Safe, ein zusammensetzbares Aktionssystem, Akka-Attraktivität usw.
Es ist Teil des Typesafe Stack .
Nachdem ich es für zwei Projekte verwendet habe, kann ich sagen, dass es ziemlich reibungslos funktioniert und es etwas sein sollte, das Sie beim nächsten Mal berücksichtigen sollten, wenn Sie neue Web-Frameworks erlernen möchten.
quelle
Ich neige dazu, JAX-RS mit Jersey zu verwenden (Sie können nette Ressourcen-Beans in Scala, Java oder Groovy schreiben), um RESTul-Webanwendungen zu schreiben. Dann verwende ich Scalate zum Rendern der Ansichten mit einer der verschiedenen Vorlagensprachen ( JADE , Scaml , Ssp (Scala Server Pages), Moustache usw.).
quelle
Es gibt ein neues Webframework namens Scala Web Pages . Von der Website:
Zielgruppe
Das Scala Pages-Webframework spricht wahrscheinlich Webprogrammierer an, die über einen Java-Hintergrund verfügen und Webanwendungen in Scala programmieren möchten. Der Schwerpunkt liegt eher auf OOP als auf funktionaler Programmierung.
Eigenschaften und Merkmale
$variable
und<?scp-instruction?>
quelle
Prikrutil, ich denke wir sitzen auf demselben Boot. Ich komme auch aus Erlang zur Scala. Ich mag Stickstoff sehr, deshalb habe ich beschlossen, ein davon inspiriertes Scala-Webframework zu erstellen.
Schauen Sie sich Xitrum an . Das Dokument ist ziemlich umfangreich. Aus der README:
Xitrum ist ein asynchrones und geclustertes Scala-Webframework und ein Webserver über Netty und Hazelcast:
Hazelcast gibt auch:
Folgen Sie dem Tutorial für einen schnellen Start.
quelle
Es gibt auch Pinky, der früher auf Bitbucket war, aber auf Github übertragen wurde .
Github ist übrigens ein großartiger Ort, um nach Scala-Projekten zu suchen, da dort viel getan wird.
quelle
Ich möchte meine eigenen Bemühungen zu dieser Liste hinzufügen. Weitere Informationen finden Sie hier:
brzy Rahmen
Es befindet sich in der frühen Entwicklung und ich arbeite immer noch aggressiv daran. Es enthält Funktionen wie:
Jedes Feedback wird sehr geschätzt.
UPDATE: 2011-09-078, ich habe gerade ein großes Update auf Version 0.9.1 veröffentlicht. Weitere Informationen finden Sie unter http://brzy.org , einschließlich eines Screencasts.
quelle
Sowohl Sweet als auch Slinky scheinen seit etwa einem Jahr nicht mehr gewartet zu werden. Sweet Maven Repo sweetsoftwaredesign.com ist tot, es gibt also keine Möglichkeit, Abhängigkeiten herunterzuladen.
quelle
Hinweis: Spiffy ist veraltet.
< stecker >
Spiffy :
Spiffy ist ein Webframework, das Scala, Akka (eine Scala-Actor-Implementierung) und die Java Servlet 3.0-API verwendet. Es nutzt die asynchrone Schnittstelle und zielt darauf ab, eine massiv parallele und skalierbare Umgebung für Webanwendungen bereitzustellen. Die verschiedenen Komponenten von Spiffy basieren alle auf der Idee, dass es sich um unabhängige minimalistische Module handeln muss, die sehr schnell kleine Arbeiten ausführen und die Anforderung an die nächste Komponente in der Pipeline weiterleiten. Nachdem die letzte Komponente die Anforderung verarbeitet hat, signalisiert sie dem Servlet-Container, indem sie die Anforderung "abschließt" und an den Client zurücksendet.
https://github.com/mardambey/spiffy
< / plug >
quelle
Sie können auch Context ausprobieren . Es wurde als Java-Framework konzipiert, aber ich habe es auch ohne Schwierigkeiten erfolgreich mit Scala verwendet. Es ist ein komponentenbasiertes Framework und hat ähnliche Eigenschaften wie Lift oder Tapestry.
quelle
Ich bin vor ein paar Wochen auf Ihre Frage gestoßen, habe aber seitdem auch etwas über Circumflex erfahren . Dies ist ein schönes, minimales Framework, das daher leicht zu erlernen ist und über eine ziemlich gute Dokumentation verfügt.
Neben seiner Minimalität soll es auch gut mit anderen Bibliotheken zusammenarbeiten und es Ihnen ermöglichen, Ihre eigene Implementierung von Dingen zu verwenden, wenn Sie sie benötigen.
quelle