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.

7voto

Don Werve Punkte 5052

Ich habe viel mehr Erfahrung mit Ruby on Rails als mit irgendetwas aus der Java-Welt, also komme ich aus einer anderen Perspektive. Insgesamt, Grails ist Rails ist sehr viel unausgereifter als Rails, was zum Teil an seiner Unreife liegt und zum Teil daran, dass es auf zwei wahnsinnig komplexe Frameworks (Spring und Hibernate) zurückgreift. Rails hat auch eine viel größere Community.

Aber Groovy als Sprache hat enorme Fortschritte gemacht und es ist ein Vergnügen, damit zu arbeiten. Dank der Verbesserungen in Groovy 1.6, Grails ist ziemlich viel schneller als JRuby auf Rails, und Sie erhalten erstaunlich gute XML-Unterstützung über GPath. Es gibt eine Menge netter Features, die Sie erhalten, indem Sie auf der JVM (wie Gleichzeitigkeit und Tonnen von Threadsafe-Code), aber ohne mit Java (eine Sprache, die ich nicht viel Pflege), so dass ich eine wirklich harte Zeit der Überzeugung mich etwas auf MRI zu verwenden, zu mucksen.

Python sieht allerdings verlockend aus, das muss ich zugeben.

Was Ihre Eclipse-Probleme angeht, kann ich Ihnen nicht helfen. Ich benutze Vim und Emacs, hauptsächlich weil ich IDEs nicht ausstehen kann. Bei dynamischen Sprachen wie Groovy, Ruby und Python glaube ich allerdings nicht, dass IDEs einen wirklichen Nutzen bringen, da es keinen wirklichen Platz für die Codegenerierung oder die Notwendigkeit zum Kompilieren gibt. Vielleicht sollten Sie eine Weile ohne IDE arbeiten, um zu sehen, ob die Dinge reibungsloser laufen?

Also, ja, ich denke, Grails ist es wert. Sie haben eine verdammt gute Arbeit geleistet, um die Dinge so schnell zum Laufen zu bringen, wie sie es getan haben, und die Grails und Groovy Teams sind beide sehr, sehr engagiert.

6voto

tcurdt Punkte 12170

Ich bin ganz Ihrer Meinung! Grails fühlt sich immer noch so rau um die Kanten, dass es fast ein Witz ist, es mit Rails zu vergleichen. Wenn wenigstens die Fehlerberichterstattung ein wenig besser wäre. Aber das liegt wohl auch an der riesigen Menge an Bibliotheken, die es unter der Haube verwendet. Ein Wort: Stacktrace! Ich bin auch kein großer Fan des model->db Ansatzes (Rails hat db->model). Das Scaffolding lässt auch viel Raum für Verbesserungen. Und "kein Neustart erforderlich" funktioniert auch nicht wie angekündigt. (Ich bin mir nicht sicher, was schlimmer ist - die ganze Zeit neu starten zu müssen oder manchmal seltsame Verhaltensweisen zu finden, die verschwinden, wenn man neu startet) Und lassen Sie mich nicht mit GORM anfangen. (Wenn es Stunden dauert, um einen Weg zu finden, was ein einfaches SQL gewesen wäre, fängt man an, sich zu fragen, ob dieses ganze ORM wirklich Zeit spart) Vielleicht, solange es einfach ist.

Ich meine: es ist immer noch eine der besseren Entscheidungen eines Rahmens, wenn Sie aus der Java-Welt kommen. (So viel nutzlosen Mist da draußen, die sich selbst ein Web-Framework nennt) ... es hat Potenzial. Ich wünschte nur, es würde nicht auf so viel anderes komplexes Zeug aufbauen.

Wie auch immer - hoffen wir, dass diese Dinge geklärt werden. Im Moment bin ich auf der Lauer playframework.org das ebenfalls sehr raffiniert und vielversprechend aussieht.

4voto

branchgabriel Punkte 4160

Es wird sich lohnen, wenn sie das Eclipse-Plugin fertigstellen. Je früher, desto besser, sage ich. Der Versuch, meinem Chef Groovy zu verkaufen, wird nicht einfach sein, bis das passiert.

3voto

Ed.T Punkte 1697

Ich war ein Eclipse-Benutzer, bevor ich mit Grails begann. Es war schnell klar, dass das nicht ausreichen würde. Also habe ich Intellij und NetBeans ausprobiert. Zu der Zeit war Intellij besser, was Groovy und Grails anging. NetBeans war jedoch kostenlos, und das war mir gut genug. Seitdem wurden für alle drei neue Versionen oder neue Plugins veröffentlicht. Ich verwende NetBeans immer noch wegen der Kosten von Intellij. Mit der Übernahme von G2One durch Spring Source ist eine der Erwartungen eine bessere Unterstützung für Groovy und Grails in Eclipse. Dies wird für eine stärkere Akzeptanz notwendig sein.

Die Verwendung von Grails für ein neues Projekt ist wunderbar. So viel von dem Enterprise-Java-Gepäck ist nicht mehr notwendig. Ich kann mir vorstellen, dass es schwierig ist, etwas zu portieren, denn solange man nicht versteht, wo die Stärken und Schwächen eines Frameworks liegen, ist es schwer, es effizient zu nutzen. Es wird versprochen, dass die JSP-Unterstützung in Grails 1.1 einfacher wird. Ich weiß nicht, ob es eine gute Idee ist, eine Beta-Version zu verwenden, während man versucht, ein neues Framework zu verstehen. Die Tests wurden für die neue Version ebenfalls stark überarbeitet. Wenn es die Zeit erlaubt, können Sie in Betracht ziehen, zu warten, wie die 1.1 Freigabe sollte sehr bald sein.

Wenn Sie die Gelegenheit haben, Grails in einer anderen IDE auszuprobieren, wenn Sie ein Projekt von Grund auf neu beginnen, denke ich, werden Sie es in einem anderen Licht sehen.

3voto

Ich habe gerade damit begonnen, Grails für ein neues Projekt zu verwenden... keine xml-Dateien schreiben zu müssen und trotzdem die Leistung von Spring und Hibernate zu haben, ist wirklich erstaunlich.

Verwenden Sie IntellijIDEA für die IDE obwohl, ich tatsächlich entdeckt Grails durch die IDE (ich könnte aber voreingenommen sein, ich hassen Sonnenfinsternis).

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