88 Stimmen

Ist Grails es wert?

Dies ist halb Tirade, halb Frage.

Lohnt es sich, Grails zu verwenden? Ich versuche, eine relativ einfache datenbankgestützte Webanwendung zu entwickeln. Mein Know-how ist in Java, so natürlich Grails schien wie eine gute Wahl. Zuerst dachte ich an die Verwendung von Spring, JPA und Hibernate, aber ich habe das zuvor verwendet und bin in alle Arten von mühsamen Konfigurations- und Kodierungsarbeiten geraten. Grails wirbt damit, dieses Problem zu lösen.

Meine größte Frustration mit Grails ist all die kleinen Dinge, die nicht funktionieren. Was ich meine ist, dass es nicht funktioniert, wie man intuitiv denken, es sollte. Es ist sehr grob an den Rändern. Ich stoße ständig auf Probleme. Manchmal ist es mein Mangel an Grails Verständnis - andere Male habe ich legitime Grails Bugs entdeckt.

Ein großes Problem ist das Fehlen einer guten Eclipse-Integration. Es gibt zwar ein Groovy- und Grails-Plugin, aber außer Syntaxhervorhebung tut es nicht viel. Das Aufrufen von Groovy aus Java und umgekehrt ist sehr mühsam konfigurieren. . Keine gute IDE-Unterstützung zu haben, ist ein großes Manko.

Was passiert, ist, dass ich mich hinsetze und versuche, meine Webanwendung zu entwickeln. Am Ende des Tages stelle ich fest, dass ich etwa 85% des Tages damit verbracht habe, Grails-bezogene Probleme zu debuggen. Wenn es keine Eclipse-Probleme sind, dann sind es eifriges Laden , Abruf in der Ansicht , eins-zu-viele-Beziehungen , Merkwürdiges Verhalten bei leeren Dateien , ein seltsamer Eigenschafts-/Getter-Fehler - es geht einfach immer weiter. Dies ist nur eine Auswahl der Probleme, auf die ich heute gestoßen bin. Meine letzte Sitzung mit Grails ergab ein ganzes Bündel von verschiedenen Problemen.

Ich frage mich manchmal, ob es das wert ist. Ich bin neugierig, ob andere diese Erfahrung gemacht haben. Gibt es Leute, die Grails tatsächlich verwenden, um produktiv eine Webanwendung zu entwickeln? Gibt es andere Frameworks für die schnelle Webentwicklung, die ich in Betracht ziehen sollte?

7 Stimmen

Sie haben diese Frage schon vor Monaten gestellt, aber ich möchte nur sagen, dass ich mich in den letzten Jahren von Java entfernt habe und erst kürzlich gezwungen war, Ruby on Rails zu verwenden. Ich kann nicht beschreiben, wie einfach und leicht es ist, alles zu tun. Ich persönlich verabscheue Ruby und seine alberne Flexibilität, aber im Vergleich dazu, eine Webanwendung in irgendeinem Framework in Java zu entwickeln... RoR hat eine riesige Community und viele schlaue Leute, die Antworten geben. Entwicklung macht wieder Spaß... Natürlich muss man bei Null anfangen, aber es ist nie wie beim ersten Mal.

4 Stimmen

Netbeans hat jetzt eine ziemlich gute Grails/Groovy-Integration.

1 Stimmen

Groovy+Grails scheint manchmal das Schlimmste aus der Java- und Ruby-Welt zu vereinen. Es löst zwar viele Spring- und andere Konfigurationsprobleme, aber es ist nie so einfach wie Ruby+Rails. Es kann nahe dran sein, aber das erfordert Arbeit. Gleichzeitig führt es einige der Ruby+Rails-Unzuverlässigkeiten/Unvorhersehbarkeiten ein. Momentan frage ich mich, wie zum Teufel es möglich ist, dass Grails keine Bindung von Request-Parametern an Domain/Command-Objekte unterstützt. Ich muss zusätzlichen Code hinzufügen, damit es Enums richtig erkennt.

2voto

hendrixski Punkte 1124

Absolut. Es gibt so viele Java-Frameworks, dass die Messlatte für Neulinge ziemlich hoch liegt, und es ist ein Beweis für Grails, dass es in der Lage war, sich in einem so überfüllten Raum zu erheben.

Es hat immer noch ein paar scharfe Kanten, aber das ist nur eine Frage der Zeit, bis sie verfilzt sind, das zugrunde liegende Projekt ist es SEHR wert.

1voto

Joshua Partogi Punkte 15645

Grails könnte für Ihre Art von Anwendung zu groß sein (basierend auf den zahlreichen Dateien, die bei der ersten Initialisierung erstellt werden, und den Ressourcen, die es benötigt). Wenn Sie nach etwas einfachem suchen, könnte Grails nicht das sein, was Sie suchen. Wenn Sie etwas suchen, das einfach ist und funktioniert, dann ist django meiner Meinung nach gut geeignet. Schauen Sie sich an, wie einfach (wie viele Dateien benötigt werden) es ist, eine CRUD-Anwendung aus seine Anleitung . Von hier aus lassen sich Ihre Anwendungen (relativ) einfach skalieren, wenn Ihre Bedürfnisse und Anforderungen wachsen.

0voto

Rollo Tomazzi Punkte 3040

Ich bin mir nicht sicher, ob sie jemals in der Lage sein werden, Grails richtig zu machen, wissen Sie. Und mit richtig meine ich, alle Details (kleine und große) anzusprechen, die es am Ende spröde und zerbrechlich erscheinen lassen. Ich bin nicht einmal sicher, dass es ein echtes Entwicklungsteam (d.h. mehr als 2 Personen) dahinter gibt.

Jedes Mal, wenn ich über ein Feature meiner Grails-Projekte iteriere und versuche, etwas zu verbessern, ist es derselbe Arbeitsablauf: alles fällt auseinander, dann gibt es hunderte von "google"-Testzyklen, dann findet man den Grund heraus, warum man nicht tun kann, was man will und man macht etwas anderes.

Am Ende ist man frustriert, weil man nichts mehr anfassen will, was läuft. Und Dinge, die nicht gut laufen, lässt man fallen!

Ich erwäge einen Wechsel zu Rails über JRuby. Das ist vielleicht das Beste aus beiden Welten: ein fähiges Web-Framework mit einer aktiven und großen Community, ein engagiertes Entwicklerteam, eine Plattform, die nicht auf fragwürdigen und komplexen Frameworks wie Spring oder Hibernate basiert, ein schneller und ehrgeiziger Veröffentlichungszyklus. Und JRuby, weil ich ehrlich gesagt so viele Java-Assets in meinem Rucksack habe, dass ich sie nicht einfach wegwerfen kann.

0voto

Jonas Punkte 108660

Wenn Ihr Fachwissen in Java liegt, wie Sie sagen. Sie sollten einen Blick werfen auf Spielrahmen - ist ein von Ruby on Rails inspiriertes Web-Framework mit einem sehr kurzen Entwicklungszyklus - speichern Sie einfach Ihre Java-Quelldatei und aktualisieren Sie Ihren Webbrowser. Und wenn Sie eine andere Sprache ausprobieren möchten, hat Play Framework ein Modul, mit dem Sie stattdessen Scala verwenden können.

Ich mag Play Framework, weil es leicht zu verstehen ist und eine gute Leistung hat. Sie können auch JPA und Hibernate für die ORM-Schicht verwenden, wenn Sie möchten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X