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?
Antwort
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.
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. –
Ja, Kevin. Ich bin jetzt zu IntelliJ IDEA umgezogen und finde, dass es hinsichtlich der Scala-Unterstützung deutlich besser ist als Eclipse. – David
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.
Die Kriterien in meinem Kopf ist, welches Framework am besten leistungsfähig, skalierbar und sehr stabil ist. – Rupeshit
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.).
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.
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.
Das ist ein sehr netter Link, und für mich ist es eine großartige Möglichkeit, Vaadin in meinem neuen Projekt zu verwenden –
- 1. Welches ist besser jquery mobile oder phonegap
- 2. PigServer oder PigRunner? Welches ist besser?
- 3. Welches ist besser von in DATE_FORMATE() oder MONAT(), YEAR()
- 4. Welches ist besser ng-view oder ui-view?
- 5. Escape HTML zu PHP oder Echo verwenden? Welches ist besser?
- 6. Welches Hilfe-Authoring-Tool ist besser - Robohelp oder MadCap Flare?
- 7. Statt Trigger oder berechnete Spalte? Welches ist besser?
- 8. UIImageView setImage oder setBackgroundColor, welches ist besser in iOS
- 9. Welches ist besser zum Füllen von DataGridView Lambda oder Linq?
- 10. Welches Layout ist besser für meine App?
- 11. Welches dieser beiden Schemas ist besser skalierbar?
- 12. Instanzen und Iterationen. Welches ist besser?
- 13. Welches ist besser Plattform für große Datenbank
- 14. Magento aktuelle Kategorie? Welches ist besser?
- 15. Grails - Lift: Welches Framework eignet sich besser für welche Anwendungen?
- 16. Was ist besser, ein Javascript-Framework oder mehrere Frameworks
- 17. Welches ist besser, Sencha Touch oder phonegap für Android zu verwenden?
- 18. "Cocos2d-Javascript" oder "Cocos2d-x html5", welches ist besser für HTML5-Entwicklung?
- 19. Was ist besser, Nagios oder Sensu?
- 20. NAnt oder TFS bauen, was ist besser?
- 21. "if" und "#if"; welches ist besser zu verwenden
- 22. Wie erkennt man, welches Keras Modell besser ist?
- 23. Welcher ist besser Komet oder Ajax?
- 24. Welches HTML5 Media JS Framework ist am besten?
- 25. Welches ist besser zu verwenden und warum in C#
- 26. Welches ist besser in welchem Bereich Symbian, Android und Bada?
- 27. welche besser Lambda-Ausdrücke oder
- 28. Welches wird am häufigsten verwendet? RSS oder Atom? und von welcher ist besser zu bauen?
- 29. AS400 Programmierer, der OOP Sprache sucht. Welches ist besser Java oder. NET
- 30. Microsoft Sync Framework oder Replikation
Ich würde diejenige auswählen, die mich von Java "wegkommen" lässt. Nur meine zwei Cent. –
Was ist los mit Java? Sie können Python oder Java mit GWT verwenden. – randomguy
Vielleicht könnten wir besser beraten, wenn Sie uns eine genauere Vorstellung davon geben, was genau Ihre Projektanforderungen sind. –