2010-10-16 8 views
11

Ich wollte ein neues Web-Anwendungsprojekt starten und ich bin verwirrt zwischen zwei Frameworks, die GWT (Java) oder Lift (Scala) ist. Also ich möchte deine Meinung welche ich wähle? Beide sind gut gemäß meiner Projektanforderung. Bitte sagen Sie mir anhand eines Frameworks-Vergleichs, was gut ist.Welches ist besser Framework Java/GWT oder Scala/Lift?

+5

Ich würde diejenige auswählen, die mich von Java "wegkommen" lässt. Nur meine zwei Cent. –

+2

Was ist los mit Java? Sie können Python oder Java mit GWT verwenden. – randomguy

+0

Vielleicht könnten wir besser beraten, wenn Sie uns eine genauere Vorstellung davon geben, was genau Ihre Projektanforderungen sind. –

Antwort

18

Ich habe GWT als eine sehr effektive Technologie für die Client-Seite gefunden und verwende eine Kombination von Java und Scala auf der Serverseite.

GWT ist attraktiv, weil es Ihnen ermöglicht, Ihre Webanwendung in Java von vorne nach hinten zu schreiben; Du programmierst in Java; und Sie debuggen Ihr Programm in Eclipse, nahtlos von Client-Code auf serverseitigen Code und wieder zurück. Es ist wirklich eine wundervolle Sache.

Scala ist eine schöne Sprache, und ich bin in sie wie alle anderen verliebt. Wenn es nur eine GWT-Variante auf Scala! Some work has been done in that direction already. Allmählich habe ich den größten Teil meines serverseitigen Codes zu meiner großen Zufriedenheit nach Scala migriert.

Wenn Sie Lift verwenden würden, wie viel JavaScript-Code müssten Sie verwenden? Sind Sie mit JavaScript vertraut? Wie komplex ist das clientseitige Verhalten Ihrer Anwendung? Für eine ziemlich geradlinige clientseitige Logik bin ich mir sicher, dass sich Lift als zufriedenstellend erweisen wird. Wenn Sie eine sehr Desktop-ähnliche Anwendung erstellen möchten und/oder Sie besonders daran interessiert sind, den letzten Tropfen Geschwindigkeit aus Ihrer App zu holen, gehen Sie mit GWT. So oder so, Sie werden nicht enttäuscht sein. Sie sind großartige Technologien, in die man investieren kann.

Bedenken Sie auch, dass IDE-Unterstützung für Scala immer noch sehr im Entstehen begriffen ist. Ehrlich gesagt denke ich, dass jegliche Produktivitätsgewinne, die ich durch die Verwendung von Scala gesehen habe, durch verschiedene zeitaufwendige Probleme mit Scala IDE für Eclipse verloren gegangen sind. Die Geschichte mag in IDEA etwas besser sein, aber nicht viel.

Vielleicht können Sie sich eine bestimmte Zeit widmen, um Lift und GWT zu erkunden, und Ihre eigene Entscheidung treffen, basierend auf dem, was Sie in dieser Zeit abschließen können. Sei diszipliniert und halte dich an die Zeitbox, die du beiseite gelegt hast.

+4

Meine persönliche Erfahrung (und ich denke nicht, dass ich hier alleine bin) ist, dass die IDE-Erfahrung beim Codieren mit IntelliJ wesentlich besser ist als bei der Eclipse, es ist nicht nur marginal. –

+0

Ja, Kevin. Ich bin jetzt zu IntelliJ IDEA umgezogen und finde, dass es hinsichtlich der Scala-Unterstützung deutlich besser ist als Eclipse. – David

5

Sie beide produzieren eine Web-App, sind aber unterschiedliche Frameworks in der Natur, so dass ich nicht sehe, wie sie verglichen werden können. Wenn Sie "gut" sagen, welche Kriterien haben Sie vor Augen?

bearbeitet:

Skalierbarkeit und Leistung hängt von der Art von Back-End-Transaktionen und Daten, aber alle Dinge gleich, würden Sie bessere Chance mit Lift/Scala haben.

Von @dpp's interview:

  • Aufzug hat eine bessere Unterstützung für Comet als jeder anderer Web-Framework ... und das ist, warum Novell Lift für das Pulse-Front-End gewählt hat.
  • Lift hat eine hervorragende Ajax-Unterstützung.
  • Lift ist persistent agnostisch, also funktioniert es mit Ihren vorhandenen Java-Modellobjekten und Geschäftslogik.
  • Die REST-Unterstützung von Lift ist weitaus flexibler und sicherer als die REST-Unterstützung in anderen JVM-Web-Frameworks.
+0

Die Kriterien in meinem Kopf ist, welches Framework am besten leistungsfähig, skalierbar und sehr stabil ist. – Rupeshit

6

Sie auch nicht vergessen Sie GWT mit Scala (Server-Side-Code auf Scala und Client-Seite auf Java) verwenden können.

Es gibt auch einen Unterschied in was diese Combos am besten sind. Zum Beispiel hat Lift Uber-Kometen-Unterstützung und GWT ist besser für reichere Clients und kann die Anzahl der Server-Anfragen reduzieren.

Ich würde Lift wählen, es sei denn, Sie benötigen wirklich reich Client-Seite oder enorme Skalierbarkeit (z. B. keine Sitzungen, viele Client-Caching usw.).

5

Persönlich würde ich Lift empfehlen. Aber es ist eine rein menschlich getriebene Empfehlung und hat nichts mit den relativen technischen Vorteilen der beiden Frameworks zu tun.

Die Tatsache, dass Sie sogar wissen, diese Frage zu stellen, deutet darauf hin, dass Sie bereits Scala, wie es wissen, und wahrscheinlich die Sprache weiter verwenden möchten. Wenn Sie in diesem Fall gezwungen wären, eine Anwendung in Java zu schreiben, würden Sie sich schnell frustriert fühlen.

Obwohl Scala kann mit GWT verwendet werden, finden Sie, dass Lift viel bessere Unterstützung für einige der besseren Eigenschaften von Scala (d. H. Schauspieler). Aus diesem Grund würde ich Lift bevorzugen.

Sie könnten auch Scalatra und Play als alternative Web-Frameworks für Scala untersuchen.

4

Ich bin dabei, selbst ein Web-UI-Projekt zu starten, also fand ich diesen Thread sehr nützlich. Ich weiß, dass der ursprüngliche Beitrag die jeweiligen Vorzüge von GWT vs Lift vergleichen sollte, aber Sie könnten auch interessiert sein, sich Vaadin anzusehen (http://vaadin.com/home). Es verwendet GWT zum Rendern im Browser, aber der Großteil der UI-Struktur und Logik ist auf der Serverseite implementiert. Der serverseitige Code kann in jeder JVM-Sprache implementiert werden (daher können Sie Scala verwenden). Also, wenn Sie ein Scala-Fan sind, könnte dies eine geeignete Lösung für Sie sein.

+0

Das ist ein sehr netter Link, und für mich ist es eine großartige Möglichkeit, Vaadin in meinem neuen Projekt zu verwenden –

Verwandte Themen