Wie beginne ich mit Scala für ein Web zu entwickeln?

8

Jetzt bin ich mit der Sprache Scala vertraut und bereit für die Webentwicklung. Der einzige Rahmen, auf den ich stieß, ist Lift und ich weiß nichts darüber. Wie gehen Sie mit Scala zur Webentwicklung?

    
Cory 13.08.2009, 14:46
quelle

6 Antworten

4

Es gibt mindestens zwei Scala-Frameworks für die Web-Entwicklung. Einer, wie Sie bereits erwähnt haben, ist Lift .

Es gibt auch Schritt , was ein Mikro-Framework in der Ader von Sinatra für Rubin ist. Es scheint ziemlich cool und hat eine schöne DSL.

Etwas experimenteller, der neueste scalaz Trunk enthält ein Paket für den Umgang mit Web-Anwendungen. Es fehlt jedoch etwas an Dokumentation und Beispielen, und es wird wahrscheinlich in den nächsten Monaten einige starke Veränderungen geben (ich bin ein Committer). Wenn Sie den neuesten Möglichkeiten folgen möchten, können Sie sich scapps ansehen. Ich hoffe, bald eine Beispiel-App zu haben.

    
Nick Partridge 14.08.2009, 02:47
quelle
2

Ich habe sowohl Wicket als auch Tapestry um Web-Anwendungen in Scala zu erstellen.

Der Hauptgrund, warum ich nicht mit "Lift" gesprochen habe, ist, dass unsere Entwickler sehr viel Erfahrung mit den beiden Frameworks haben und somit die Umstellung auf Scala für sie einfacher wäre.

Natürlich sollten Sie bei der Verwendung eines Java-Web-Frameworks mit Scala Folgendes beachten:

  • Sammelklassen. Scala-Sammlungen sind viel reicher als ihre Java-Gegenstücke, aber die meisten Java-Frameworks können sie nicht verwenden. (Anscheinend wird etwas mit Scala 2.8 eingeführt)
  • Gelegentliche Kompatibilitätsprobleme, z. B. Tapestry 5.1 akzeptiert keine Methoden, die in Modulklassen nicht erforderlich sind, aber Scala fügt implizit jeder Klasse einen $tag() hinzu. Dies führt dazu, dass Tapestry die Klasse zurückweist.
andri 13.08.2009 14:54
quelle
2

Die Verwendung von Lift für die Web-Entwicklung in Scala hat einige Vorteile:

  • aktive, unterstützende, reaktionsfähige Gemeinschaft;
  • das Framework ist eher für Scala gedacht als für Scala;
  • es wurde bereits von mehreren Mitwirkenden viel investiert.

Die Negative:

  • möglicherweise eine Herausforderung, wenn (wie ich) Sie von Frameworks wie Struts bewegen;
  • Ein Großteil der Reaktion auf Benutzeranfragen geschieht in 1.1-SNAPSHOT im Gegensatz zu bestimmten Versionen, was bedeutet, dass Sie gegen bewegliches Ziel codieren. Kein großes Problem in der Praxis, aber ich kann sehen, dass dies für einige beunruhigend ist. Natürlich wird dieser Punkt nicht gut altern, sobald 1.1 veröffentlicht wird.

Wie Nick Partridge in seiner Antwort darauf hingewiesen hat, gibt es andere Frameworks. Da ich nicht weiß, was Sie von einem Framework erwarten oder erwarten, kann ich Sie nur auf einige Ressourcen von Lift hinweisen, die Ihnen bei der Entscheidung helfen können:

  • Es gibt ein Open-Source-Buch (ein Schnappschuss davon wurde als The Definitive Guide to Lift ) veröffentlicht Sie finden sie unter Ссылка (suchen Sie nach master.pdf auf dieser Seite).
  • Das PDF-Dokument "Starten mit Lift" ist eine kürzere Einführung Ссылка
  • Die Mailingliste ist (für mich) sehr umfangreich, aber eine großartige Informationsquelle: Ссылка

Vielleicht möchten Sie auch einen Blick auf die Motivation und die Einflüsse von Lift werfen ("Seasons hochgradig granulare Sitzungen und Sicherheit, Rails schnelle Flash-to-Bang, Django "mehr als nur CRUD ist enthalten", Wickets Designer-freundliche Templating .... ") aufgeführt auf Ссылка um zu sehen, ob sie mit dem übereinstimmen, was Sie wollen.

    
Richard Dallaway 14.08.2009 08:58
quelle
1

Ich hatte Erfolg mit Struts 2 und Scala. Die Annotationen @BeanInfo und @BeanProperty im Paket scala.reflect sind praktisch für den Zugriff auf Eigenschaften.

    
user142435 13.08.2009 19:14
quelle
1

Ich glaube, Lift ist derzeit das führende Web-Framework, wenn Sie Ihre Anwendung in Scala schreiben möchten.

    
Ken Liu 13.08.2009 23:05
quelle
0

play framework ist jetzt eines der größten Scala-Web-Frameworks.

    
binkabir 25.09.2014 08:29
quelle

Tags und Links