2009-07-08 16 views
14

Ich habe Grails in den letzten Monaten verwendet und ich mag es wirklich, besonders GORM. Ich interessiere mich jedoch für Scalas Lift. Daher würde ich gerne Ihre Meinung darüber wissen, welche Art von Web-Apps für welchen dieser beiden Frameworks besser geeignet ist oder ob es nur eine Frage des Geschmacks ist, welchen Frame zu verwenden?Grails - Lift: Welches Framework eignet sich besser für welche Anwendungen?

Schließlich, welche dieser Frameworks wird Ihrer Meinung nach in Zukunft mehr verwendet werden? Ich habe das Gefühl, dass Grails weit von einer kritischen Masse entfernt ist und immer noch sehr unklar ist (in den letzten Monaten hatte ich die Gelegenheit, mit mittelständischen Unternehmen und IT-Startups zu arbeiten, die meist mit dem JVM-Stack arbeiteten und nur einer wusste) und ich benutze Grails) und ich bin mir nicht einmal sicher, ob es das "RoR" der Java-Welt werden kann (Tatsächlich gibt es einen Rückgang des Wachstums in den letzten Monaten, selbst wenn andere Frameworks eine positive Wachstumsrate haben). Und ich liebe Groovy, es ist wirklich einfach zu lernen, aber ich habe bemerkt, wie langsam es für einige Aufgaben sein kann.

Auf der anderen Seite scheint Scala populärer zu sein (Tiobe Index) und die Tatsache, dass Twitter es jetzt verwendet, gab es noch mehr Präsenz in der Blogosphäre mit vielen Liebenden und Hassers Summen. Es ist berühmt dafür, schnell und skalierbar zu sein. Die Sprache scheint jedoch etwas schwer zu verstehen und für viele Entwickler zu lernen (vielleicht wird sie nie Mainstream-Status erlangen). Lift ist wenig bekannt und ich habe einige Berichte gelesen, dass es besser für kleine Apps (weniger als 20 Domain-Klassen) geeignet ist.

Durch die Anzahl der Bücher veröffentlicht Groovy-Grails jetzt dominieren, aber viele Verlage haben Scala Bücher auf den Werken, so denke ich, dass dieser Vorteil nicht lange dauern wird.

Schließlich haben wir das Problem, dass sowohl Sprachen als auch Frameworks immer noch schlechte IDE-Unterstützung haben (es wird von Tag zu Tag besser, aber weit weg von dem, was Java-Shops produktiv zu sein erwarten).

Ich möchte keine Flamme Kriege starten, aber ich würde sehr daran interessiert sein, Meinungen anderer Benutzer zu hören.

+2

Grails hat keine schlechte IDE-Unterstützung - in der Tat hat es ausgezeichnete IDE-Unterstützung im Vergleich zu den meisten RAD-Web-Frameworks - Intellij IDEA hat unerreichte Grails-Unterstützung.Der einzige Nachteil ist seine kommerzielle (und es ist nicht wirklich ein Nachteil, ich meine, komm schon! Seine Zeit, um für Ihre Software zu bezahlen, kann nicht immer freie, aber qualitativ hochwertige Software erwarten ... aber das ist eine andere Debatte alle zusammen ...) – Chii

+0

Die SpringSource Tool Suite (basierend auf Eclipse) ist jetzt kostenlos und beinhaltet eine anständige Grails-Unterstützung. –

+0

Unterstützung für Grails ist gut mit GGTS: http://grails.org/products/ggts – Jayan

Antwort

1

Grails ist eine nette Idee (aber nur "gestohlen" von Rails), aber die Tatsache, dass die groovigen Jungs nicht daran interessiert sind, die richtige Eclipse-Unterstützung zu bekommen, behindert ihren Erfolg sehr. Ich habe sogar gesehen, dass Eclipse-Fragen überhaupt nicht auf den Gralslisten beantwortet wurden.

Ich stimme mit Tim überein, dass Netbeans 6.7 endlich die erste halbwegs brauchbare Open Source IDE Unterstützung für Groovy/Grails liefert - und SpringIDE wird schließlich auch eine bessere Groovy/Grails Unterstützung bieten.

Der Grund, warum viele Java-Leute Java lieben, ist die statische Typisierung, die es Tools ermöglicht, Ihnen mit vielen Dingen zu helfen. Dies ist mit einer Sprache als groovy verloren. Ja, ich könnte jedes wirklich wichtige Stück Code in Java schreiben und trotzdem Grails benutzen - aber warum sollte ich, um eine Reihe von Zeilen Code zu speichern, das tun, anstatt zu lernen, ein Java-Framework höchst effektiv zu benutzen?

Um zu Ende zu kommen: Ich habe Scala noch nicht angeschaut, aber ein paar einfache Apps mit Grails erstellt - und tendiere dazu, zu Java zurückzukehren und jede App neu zu implementieren, die in einem einfachen Java-Framework weiter entwickelt werden muss denke Wicket und Seam.

Ich werde auch auf Scala/Lift schauen, ich habe viele gute Dinge darüber gehört!

BTW: Ich würde Communities vergleichen und Mailinglisten anschauen - wie viele Leute sind da, bekommen sie gute Antworten auf ihre wichtigen Fragen?

Grails scheint eine nicht beantwortete Rate von fast 50%, die ich fühle, ist schlecht.

+0

"Grails scheint eine nicht beantwortete Rate von fast 50%" - 5783 Fragen markiert, unbeantwortet 1225 == 22% unbeantwortet. –

+3

Lauri, gute Nachrichten, danke! Wenn Sie meinen Beitrag lesen, sprach ich nicht über Stack Overflow, sondern über die Mailing-Liste des Frameworks. Und es ist vor 3 Jahren;) – Henning

1

Grails Unterstützung in Netbeans 6.7 ist wirklich gut, sowie die Idee intellij Unterstützung in Maia.

Eclipse ist immer noch ziemlich sucky.

Ich schaute auf Aufzug, aber war besorgt über die verfügbaren Ressourcen jetzt; Das wird sich in Zukunft ändern, aber meine Projekte können nicht warten.

9

Die akzeptierte Antwort hier nimmt eine wirklich ignorante Sicht auf Groovy - es ist eine moderne, dynamische Sprache (dynamisch vs. statisch ist eine große Debatte an und für sich, und nicht besonders relevant hier). Dies ist von Entwurf und daher kein Nachteil, nur ein Unterschied. Es hat viele moderne Sprachfunktionen, die Java nicht hat, wie zum Beispiel Closures, native Regexp, polymorphe Iteration, einige optionale statische Typisierung (Debattenfrage, aber auch groovy ++), native Syntax für Listen und Karten, etc.- Sie kann hier einen Vergleich sehen http://groovy.codehaus.org/Differences+from+Java

Um die eigentliche Frage von Grails vs. Lift zu adressieren, würde ich Grails Hands-Down sagen. Es hat die SpringSource dahinter, und schauen Sie sich einfach die Plugin-Seite http://www.grails.org/plugin/category/all an - ich kann nicht einmal herausfinden, welche Plugins oder Äquivalente für Lift verfügbar sind. Grails bietet außerdem neueste Cloud-freundliche Technologien mit Funktionen wie nativer RabbitMQ-Messaging-Unterstützung und schlüsselfertiger GORM-Unterstützung für MongoDB und Redis.

+0

Nicht etwas zu mögen ist arrogant? Interessante Sichtweise. Und dann, ich sage nicht, nicht-statische ist schlecht im Allgemeinen. Aber wenn du es statisch magst, dann sind nicht-statische Dinge von Natur aus nicht deine Tasse Tee. Wenn Sie rot mögen, könnte die Verwendung von blauer Farbe für Ihr Haus nicht Ihrem Geschmack entsprechen ... – Henning

1

Ich möchte speziell die Frage "für welche Art von Anwendungen" beantworten. Der Hauptunterschied zwischen den Philosophien von Grails und Lift scheint zu sein, dass Grails MVC erzwingt, während Lift liberaler zu sein scheint, d. H. MVC nicht erzwingt, aber genug Möglichkeiten bietet, MVC zu verwenden, wenn Sie wollen.

Auch Lift scheint für 'Single-Page-Anwendungen' hervorragend zu sein, besonders wenn Sie eine Server-Push-Funktionalität mit Technologie wie Comet implementieren müssen (was natürlich nicht bedeutet, dass es nicht für andere Anwendungen geeignet ist). Auf der anderen Seite scheint Grails besser für die "Enterprisy" -Anwendungen zu sein, besonders wenn Sie bereits mit Spring und Hibernate vertraut sind, aber Ihre App sehr übersichtlich sein soll (mit Convention over Configuration) als das, was eine Nicht-Grails-App wäre Verwenden Sie diese Technologien.


Referenzen:

  1. Simply Lift, chapter 13
  2. Single-Page Application

Haftungsausschluss:
Ich habe gerade erst begonnen Aufzug zu erkunden und gebaut einige einfache Anwendungen uns Grails.

1

Mit allen Leistungsverbesserungen und Weiterentwicklungen von Grails2.0, mit großer Unterstützung von IntelliJ 11 für das Framework, eine Fähigkeit, so ziemlich jede moderne Web-Technologie in Ihre Grails-App zu integrieren, und ja - VMware Gewicht dahinter - Ich sehe wirklich nicht, wie Lift ein Vorteil oder eine gute Wahl sein könnte. Denken Sie nur an die Verwendung von zwei verschiedenen Sprachen in der gleichen Anwendung, brauchen Doppel-Expertise im Team, usw.

Die ursprüngliche Frage wurde wie vor 2 Jahren gepostet und ich denke, die Zeit zeigte, auf welcher Seite ist die Wahl der dev community;)

Verwandte Themen