Freitag, Dezember 21, 2007

mein erstes Grails-Projekt

Eigentlich bin ich eher skeptisch, was neue Technologien angeht. Zu häufig wird viel zu viel versprochen und der Gesamtnutzen bleibt zweifelhaft. Viele Technologien lösen auch schlicht Probleme, die ich gar nicht habe.
Bei Groovy und Grails verhält es sich anders. Ich hatte jetzt das Glück, dass ich zum Jahresausklang ein kleines Grails-Projekt machen konnte. Ich hatte Grails bereits vorher ein wenig ausprobiert und hatte daher eine Idee, was mich erwartete. Und diese Erwartungen wurden noch übertroffen.
Wir haben in sehr kurzer Zeit eine kleine aber komplette Internetanwendung mit lächerlich wenig Code geschrieben. (Sobald die Anwendung Live ist, werde ich den Link hier mal posten.)
Besonders beeindruckt hat mich die Klarheit des Programmiermodells. Struts, JSF und Spring Web-MVC haben bei mir immer das Gefühl hinterlassen, dass intern Dinge passieren, die ich nicht ganz verstehe. Dieses Gefühl habe ich mit Grails nicht.
Weiterhin ist interessant, dass wir - obwohl es für alle das erste Grails-Projekt war - jedes Problem in weniger als 2 Stunden lösen konnten. Bei anderen Java-Technologien hatten wir immer wieder Fälle, wo wir uns Tage oder gar Wochen die Zähne ausgebissen haben; teilweise konnten wir die Probleme gar nicht lösen und mussten dann mit Work-Arounds arbeiten.

Post bewerten

Kommentare:

Juergen hat gesagt…

Eine Frage stellt sich mir. Sind die Projekte miteinander vergleichbar? Sind die vorherigen Projekte nicht evtl. deutlich größer und komplexer?

Sven hat gesagt…

Eignet sich Grails eigentlich auch für große Projekte? Habe bisher den Eindruck, dass sich Grails nur für kleinere Projekte oder Prototyping gut eignen würde.

Stefan Roock hat gesagt…

Beide Kommentare zielen auf die Projektgröße bzw. -komplexität ab.
Ja, dieses erste Grails-Projekt ist deutlich kleiner und einfacher als die Java-Projekte, die ich vorher gemacht habe. Aber wir arbeiten uns hoch. Zur Zeit bin ich in einem Grails-Projekt, dass schon etwas komplexer ist.

Ich sehe bei der Komplexität allerdings nicht wirklich ernsthafte Probleme. In dynamischen Sprachen wir Lisp, Smalltalk oder Python sind erfolgreich sehr große Systeme geschrieben worden.

Ruby on Rails ist von den Konzepten her Grails sehr ähnlich (oder andersrum :-) und mit Rails sind auch erfolgreich größere Projekt entwickelt worden.

Alerdings müssen wir mit unserem Java-Hintergrund möglicherweise die Art und Weise überdenken, in der wir Java-Projekte angehen und brauchen vielleicht auch andere Strukturierungsmittel, als wir sie sonst verwenden.

Juergen hat gesagt…

Was ich interessant finde ist, dass Du schreibst:
"haben bei mir immer das Gefühl hinterlassen, dass intern Dinge passieren, die ich nicht ganz verstehe. Dieses Gefühl habe ich mit Grails nicht."

Bei mir ist es genau anders herum. Keine noch so einfache Funktionalität funktioniert bei Grails so wie ich es erwarte. Ich laufe ständig in Fehler in der Dokumentation und Plugins.
Gerade das Pattern "Programming by Conventions" ist doch eher undurchsichtig, da ich nicht, wie ich es gewohnt bin einfach ins Interface schauen kann, sondern immer mühselig die "schlechte" Dokumentation durchsuchen muß.

Daher war meine Frage etwas zu unpräzise. Ich denke die Komplexität steigt mit der Projektgröße und daher auch nach Transparenz der benutzten Frameworks.
Gerade mit Spring (und inzwischen auch mit Myfaces) hatte ich man doch sehr stabile und gut dokumentierte Frameworks zur Verfügung.
Hibernate benutze ich sogar bewusst nicht mehr, da ich dort mehr Probleme als Lösungen vorfand.

Stefan Roock hat gesagt…

Inzwischen haben wir das zweite - fast dreimal so große Projekt - fast fertig. An meiner Einschätzung hat sich bisher nichts geändert.