Ist Grails (jetzt) es wert?
Ich weiß, das ist ein doppelte, aber der Grails-Welt hat sich deutlich da, die Frage wurde vor mehr als einem Jahr, da hat der IDE-Unterstützung in Eclipse, also bitte nicht einfach blind schließen.
Ich dachte, die Antwort war ja und auf dem Weg in ein neues Projekt mit Grails 1.2.0 und geflirtet haben mit Groovy - /Grails-bits der STS Eclipse-Integration.
Ich denke, die Frage verdient ein Wiederaufgreifen nach einem Jahr der Grails-Entwicklung, wenn die Antwort war auf jeden Fall gemischt.
So, wie ein erfahrener Java web-Entwickler habe ich diese Fragen und würden uns freuen meine Annahmen herausgefordert:
- Ist Grails jetzt lohnt es vs. Ruby oder Rollen Sie Ihre eigenen?
- Hat es überwindung, seinen buggy zu starten?
- Ist es wirklich verleihen die schnelle Entwicklung profitiert? (Ich gebe zu, ich bin kämpfen, jetzt bin ich vorbei an der umfassenden baseline-Konfiguration, um meine maßgeschneiderte app, die nicht Liste und Seite orientiert)
- Erfüllt Sie für die Reale Welt der Produktion von apps? (Es fühlt sich schwer an)
- Ist das Eclipse-plug-in besser als es war und für diesen Zweck geeignet? (Ich denke noch nicht)
Dank
EDIT:
Ich Lerne wie ich gehen, und ich habe ein paar erhebliche Beschwerden zu machen über das Leben mit der framework - eher als framework-Funktionen selbst. Ich bin das hinzufügen dieser, weil ich denke, Sie sollte überlegungen und basierend auf meine Erfahrung und meine Meinung, und kann jemandem helfen, der versucht, zu entscheiden, ob Sie gehen grails. Ich kann auch mit meinen Mangel an Erfahrung mit dem framework, so dass keiner das gemeint ist, wie und Kritik. Ich bin eine erfahrene Entwickler-und das ist, was ich gefunden habe:
Debugging ist wirklich schwer. In der Tat ist es fast unmöglich, vor allem als Anfänger in dem Rahmen, was ist, wenn Sie müssen Ihre treuen debugger Freund die meisten. Ich verbrachte viel mehr Zeit als ich sollte zum aufspüren der Probleme der syntaktischen Fehler in einem Teil von dem code zu tun, mit verweisen auf domain-Felder, die Sie verursachen silent Fehler irgendwo in den Stapel.
Protokollierung ist ehrlich gesagt schrecklich. Sie haben zwei Modi, "nichts brauchbares" und "jede Menge Unnützes Zeug". Mein debug-log war 128Mb, nach einer einzigen Seite anfordern und enthält nichts über meinen Fehler. Die ganze Frage der Protokollierung muss die erneute überprüfung im Rahmen meiner Meinung nach.
Der STS Eclipse IDE ist der marginale Wert. Andere als syntax hilighting ist es nicht viel. Sie können nicht Debuggen Sie den code, so ist es ein besserer editor. Die code-Hinweise sind lückenhaft, und es gibt keine Aps-Unterstützung an alle soweit ich das sehen kann. Es ist auch die langsamste Eclipse-plug-in habe ich auf meinem desktop - von über 2 Minuten zum starten. Es ist erschreckend langsam. Ich habe wieder einen text-editor (die Sie bemerken, all die online-tutorial-videos auch tun) und einige benutzerdefinierte syntax-hilighting.
Ich habe einige ernsthafte Bedenken über die Leistung. Ein bisschen zu früh zu sagen, aber ich bin bereits da ich mich durch optimieren der Datenbank, da der Ruhezustand. Vielleicht ist das zu erwarten, aber ich bin wirklich mit meinen Domänen-Modell für die einfache Konventionen, um die Ausbeute performant Abfragen.
Und eine Letzte, die Konvention, Ihre logische domain-Modell und physischen Datenbank-Modell soll identisch sein, ist nicht eine intelligente Standard und kaum jemals der Fall in der realen Welt. Ich weiß, man kann die beiden trennen, aber es schafft eine Komplexität, die ich denke, könnten vermieden werden, wenn die Konventionen wurden erweitert. Es gibt keine ausreichenden Unterlagen über die Zusammensetzung und was Sie tun müssen, um es in der Praxis funktionieren.
InformationsquelleAutor der Frage Simon | 2010-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich mit Grails mehr als 4 Monate jetzt, und ich werde versuchen, Ihnen meine persönlichen Gefühle zu Grails und seine Benutzerfreundlichkeit.
Natürlich, ist die Antwort nicht 'ja' oder 'Nein', aber es hängt davon ab,. Es hängt von Ihren Anforderungen ab (Sie müssen in der Java-Welt?), auf Ihre Präferenzen als auch (bevorzugen Sie die fachliche Entwicklung, machen Sie lieber Groovy...)?
Allerdings kann ich Antworten, dass Grails ist eine ernst zu nehmende alternative zu Schienen. Ich glaube, dass alles, was Ihre Rails-Anwendung, die Sie tun können, es mit Grails als gut. Aber je nach der Natur Ihres Projekts, es könnte mehr oder auch weniger Zeit. Wieder, wenn Sie vertraut sind mit der schiene, aber nicht mit Grails, Rails ist die sicherere option.
Ja. Wenn Sie einen Blick auf meine ersten Nachrichten (die in dieser website oder anderen), ich war beschweren sich viel über die Grails-bugs. Aber, Sie brauchen nur daran zu erinnern, dass Grails ist ein wenig rau auf der Kante (nicht zu viel Verwendung von domain-Vererbung ,zum Beispiel) und sobald Sie sind vertraut mit den Rahmenbedingungen, die Sie nicht erleben zu viel böse überraschungen. Ich sage nicht, dass Grails ist nicht buggy. Es ist sicherlich mehr als die Schienen. Aber es ist auch mehr nutzbar als buggy. Ein Ratschlag : verwenden Sie so wenige plugins wie möglich. Denn viele von Ihnen sind fehlerhaft und einige sind nicht kompatibel untereinander. Also, nicht enthalten grails-plugin, es sei denn, Sie sind sicher, dass das grails-plugin ist up-to-date, non-intrusive und getestet (durch sich selbst).
Ja. Sie fast nicht benötigen, um mit DB design. Die Konfiguration ist fast fertig für Sie von Anfang an Dank Convention over Configuration. Ihre Anwendung ist einfach maintenable. Der einzige Nachteil den ich sehe, ist die front-end-Entwicklung, die ist nicht so Reich wie andere Technologien (wie Rails oder ASP)
Kann ich nicht sagen, weil ich es immer noch nicht gehen, meine website live aber ich bin ziemlich zuversichtlich, da sky.com ist mit Grails und die Orte ziehen erheblichen Verkehr - um
7 Millionen Seitenaufrufe pro Tag . Wieder performance hängt stark von Ihrer Anwendung, - Architektur-und design-Entscheidungen.
Keine Ahnung. Ich verwende IntelliJ, aber ich denke, es ist nicht viel besser als vor einem Jahr, nach beschweren Nachrichten sehe ich auf dem Grails-Reich.
Ich hoffe, es hilft.
InformationsquelleAutor der Antwort fabien7474
Angefangen, ein Rails-Projekt vor kurzem hatte dabei einige Sachen mit Grails.
Meine Hauptsache mit Schienen ist, dass es eine Menge Zeug, dass ist völlig undurchsichtig, um die dev (die ich hasse), und diese neigt dazu, zu erhöhen, wenn Sie beginnen, fügen Sie mehr plugins/Generatoren/libs/etc, denn um Sie zu kombinieren, müssen Sie patch etwas nach oben. Sie bekommen das Gefühl, dass Schienen+plugins sind einfach ein Riesen DSL-hack, der beginnt zu brechen, wenn Sie eine falsche Kombination von plugins+Versionen.
Mit Grails, obwohl das ökosystem ist viel kleiner, alles neigt dazu, relativ konsistent. Der DSL-Ansatz ist nicht sehr verwendet, und durch die Verwendung konventionellen-aber-langweilig design (ich meine, mit Klassen,Schnittstellen,etc. statt DSLs) es ist viel einfacher zu verstehen, wie die Heizung funktioniert.
Tun, eine 1-zu-1-Vergleich, hier ist, wie es geht:
Grails hat hervorragende plugins für die Grundlagen (Autorisierung/Authentifizierung, ORM, etc.) und einige andere plugins für kleinere Sachen
Hier ein Beispiel:
Fazit:
InformationsquelleAutor der Antwort Miguel Ping
Es sich sehr gelohnt!
Sind wir mit Grails in mehreren Projekten, die alle mit großem Erfolg aus den folgenden Gründen:
Einfach - Es ist eine der einfachsten Rahmenbedingungen, die wir jemals verwendet
Legacy code-Wiederverwendung - Alles, was wir tun müssen, ist unsere legacy-code und werfen es auf die lib-oder src-Ordner und fertig. Einfach toll für uns.
Legacy-Datenbank-Struktur - Es ist ein tolles Werkzeug, wenn Sie wollen, generieren von Visualisierungen, die auf legacy-Datenbanken.
Nun, über die Lebensfähigkeit:
Fehler: wir haben nicht konfrontiert, zu viele bugs, die seit version 1.1 (version 1.0 war viel zu buggy für uns)
Tools: Netbeans ist wirklich eine Verbesserung an dieser front, aber es ist nicht einmal nahe an anderen Werkzeugen wie Intellij IDEA (Super support!). Das gleiche kann gesagt werden über Eclipse.
Portabilität: wir haben noch nie konfrontiert, ein einziges problem auf unsere Projekte.
InformationsquelleAutor der Antwort Kico Lobo
Wir haben ein halbes Dutzend Grails-Anwendungen in Produktion jetzt, und während Grails unterscheidet sich von java-frameworks und erfordert eine gewisse Einarbeitungszeit, es hat sich ausgezahlt, denn wir haben Agile Techniken. Details:
Sagte dieser, wie bei allen neuen Technologien, empfehle ich die Herstellung von Prototypen, code reviews, pair programming, und vielleicht mit einigen der Beratung als gut.
InformationsquelleAutor der Antwort Olivier Gourment
Es ist sehr viel Wert. Ich benutze es schon seit über einem Jahr jetzt und Liebe es. Ich verwendet, um zu scheuen, diese Arten von rad-tools, aber es hat die Art verändert, wie ich arbeite. Mit der 1.2 Version hat es noch besser geworden mit der besseren stack-trace-info (besonders für GSPs).
Das einzige problem hatte ich mit der Skalierung wurde hibernate und es ist cache, das ist nicht wirklich ein grails-Problem. Sogar die, die ich nicht wie hibernate im Allgemeinen, die Art und Weise grails wickelt es mit GORM ist ein Kunstwerk für mich. Die Kriterien Schließung Aspekt ist wunderbar, mit zu arbeiten.
InformationsquelleAutor der Antwort Robert
Muss ich noch jemanden finden, der ein Experte in beiden Grails und Schienen und zieht Grails.
Wenn Sie wissen beide gut, dann werden Sie mit ziemlicher Sicherheit bevorzugen Schienen.
Grails in der Regel appelliert an Java-Entwickler, die Angst Plattform ändern.
In diesem Fall denke ich, JRuby ist wahrscheinlich ein besserer Weg, um agile Ansatz auf die Alterung der legacy-jvm.
InformationsquelleAutor der Antwort optimisticmonkey
Dass Grails für ein Projekt vor kurzem habe ich wollen unsere Erfahrungen austauschen im Vergleich zu standard-J2EE-Applikations-Entwicklung.
Jeden Fall, es funktioniert. Auch wenn das Gerüst Weg ist früh und Konventionen überschrieben werden, um die eigenen Bedürfnisse, die start-up-Periode ist sehr kurz, da wir nicht haben, um Pflege für viele verschiedene Technologien. Diese Art von lightweightness macht uns die Arbeit nicht nur schneller, sondern auch präziser und sauberer.
Schreiben von tags war nie einfacher - während mit JSF wir zunächst überlegten, ob es die Mühe Wert ist, mit der Grails-wir tun es einfach. Arbeiten testdriven und zum erreichen einer hohen Durchimpfungsrate ist auch Recht einfach, obwohl die verschiedenen Testfälle und Spott Strategien sind manchmal inkonsistent und fehlerhaft.
Wechsel von Java zu Groovy ist eine große Freude, die wir geliebt haben, Liste und map-Literale, Verschlüsse, Bauherren, wegwerfen, unser boiler plate "Karte" - Implementierung in Java und schreiben kompakt, sinnvoll und konzentriert-code.
Was verlangsamt die Geschwindigkeit der Entwicklung ist nicht so perfekt, IDE-support, das gilt auch für die IntelliJ plugin, das wir verwenden. Die schlechte, oft alte und auch falsche Dokumentation verstreut über verschiedene Orte (Folierung das Versprechen "the search is over") wird auch in der Art und Weise der raschen Entwicklung. So mussten wir oft zurückgreifen, um source-code-Lesung - Folge der Angst, die durch die zugrunde liegende Feder Klassenhierarchien.
InformationsquelleAutor der Antwort hlg
Debugging ist wirklich hart.
Ich habe noch nie festgestellt, dass dies ein großes problem. Sie können entweder fügen Sie einen debugger und gehen Sie durch, oder halten einer Last von println/logs in den code ein, um herauszufinden, was Los ist.
Protokollierung ist ehrlich gesagt schrecklich.
Ich Stimme der stack-traces in der Regel 4 Seiten nutzlose info, mit dem gelegentlichen Linie, das ist informativ. Aber Ihr ein kleiner Preis zu zahlen, für solch eine ehrfürchtige Rahmen.
Der STS Eclipse IDE ist der marginale Wert.
Eclipse ist Pisse schlechte Unterstützung für Grails. Verwenden IntelliJ, wenn feasably möglich. Ich bin ein tightwad, aber wenn meine Firma mir erlaubt würde ich gerne zahlen die Kassen für IntelliJ.
InformationsquelleAutor der Antwort Amoeba
Habe ich mit Grails seit den frühen 1.0-beta-Tagen und ich kann nur empfehlen, Sie beginnen, die Groovy/Grails ernst, wenn Sie kommen aus Java shop.
Wenn Sie ein Java-shop und überlege, Ruby Rails, Stopp-go Grails. Wenn grails nicht für Sie arbeiten, dann können Sie immer beginnen Schienen.
InformationsquelleAutor der Antwort Teo Choong Ping
Zeige ich Euch meine 3 Jahre Erfahrung mit Grails in fast zehn Anwendungen. Kann ich nicht vergleichen, gegen Ruby on Rails, so dass ich ' ll beantworten Ihre anderen Fragen.
InformationsquelleAutor der Antwort Bianca Rosa
Den Grails Eclipse-plugin ist Mist. Es stürzt ab ohne Grund, und nicht wirklich Unterstützung Groovy Flexibilität. NetBeans und IntelliJ Gerüchten zufolge viel besser, aber ich habe nicht versucht, Sie noch nicht.
Leistung bringt es? Natürlich tut es das. Auch "Ruby on Rails" führt, so lange wie Sie werfen genug Server das problem. Ich habe keine Ahnung, wie Grails im Vergleich zu verschiedenen Java-frameworks, obwohl.
Ist es wirklich verleihen die schnelle Entwicklung profitiert? Gut, ich bin immer noch fehlt eine Menge gute Ruby - /Rails-Kram. Es nicht anzuerkennen, Datum und Enum-request-params-automatisch (dann wieder, Schienen auch einige Probleme mit Datumsangaben), TimeCategory sollte Teil der standard-Konfiguration aber nicht. Aber es gibt auch eine Menge Sachen, die erfordert bemerkenswert wenig Konfiguration.
Es ist nicht ganz, wo Schienen ist (freue ich mich ganz besonders auf Rails 3), aber es ist viel angenehmer zu arbeiten als mit vielen Java-frameworks. Auch so, die Magie unter der Oberfläche geht weit tiefer als in den Schienen. Zum Beispiel ist das system der Einschränkungen ist sehr stark, aber gebaut auf der Spitze eines riesigen Schicht von undurchdringlichen Spring-Zeugs, und echt unflexibel, wenn Sie wollen, zu verwenden, daß die gleiche Leistung in einer etwas anderen Weise. Schienen ist leichter zu unterwandern, IME.
Ist es das Wert? Ja. Ist es eine bessere Wahl, als etwas anderes? Das hängt davon ab.
InformationsquelleAutor der Antwort mcv
Ich würde vorschlagen, Sie versuchen für sich selbst. Ich Liebe die Flexibilität von Grails und die Geschwindigkeit der Entwicklung. Aber wie Sie sehen können, anderen Menschen die Erfahrung unterscheidet sich. Ich möchte in der Lage sein zu entwickeln, rapid-Anwendungen für meine Kunden mithilfe der Java-Plattform und ich habe festgestellt, Grails arbeiten sehr gut für uns.
Habe ich auch gefunden das frontend sehr flexibel zu entwickeln. Ich denke auch, dass Sie müssen verwenden Sie gesunden Menschenverstand und wählen Sie Ihre plugins gezielt. Ich bleibe dabei, die plugins unterstützt von springsource.
InformationsquelleAutor der Antwort Scott Warren
Meiner Erfahrung, Grails bringt ein paar sehr attraktive features auf den Tisch, der macht hier auf jeden Fall lohnt zu lernen und es zu benutzen.
Java-ähnliche syntax und groovy-syntax-Zucker. wie am besten aus beiden Welten. Sie können sofort starten mit Java anstatt zu lernen syntax der neuen Sprache wie Ruby und dann langsam bewegen kann, um groovy-syntax, die robust, einfach und intuitiv
Für die Projekt-Manager, es sei denn, es gibt zwingende Gründe "nicht zu verwenden" grails aus irgendeinem Grund( den Widerstand höher zu verabschieden, die neue Technologie oder sowas), sehe ich keinen Grund, warum grails nicht verwendet werden können, oder es zumindest versucht.
Antwort auf die Besorgnis über debugging, es ist nicht so schwer. Debugging ist einfach, wenn Sie verwenden die Netbeans-IDE. Das bringt mich auf einen Punkt zu erwähnen. Nach ein paar Experimenten mit allen IDEs haben wir festgestellt, dass Netbeans ist am besten geeignet für den job. Es hat eine bessere Unterstützung für code-Vervollständigung, syntax-Hervorhebung und debugging etc. Meiner Meinung nach, STS ist nicht gut genug.
InformationsquelleAutor der Antwort Paras
Hatte es auf jeden Fall um einiges verbessert gegenüber dem Vorjahr. Im Dezember besuchte ich die Groovy&Grails Exchange in London. Es war ein toller Vortrag über Groovy&Grails integration in Eclipse/SpringSource STS aufgezeichnet wurde, sehen die video.
Aus meiner Sicht, Eclipse gewonnen, eine Menge Boden. Derzeit IntelliJ scheint ein wenig Voraus, aber das könnte sich ändern, innerhalb der nächsten paar Monate.
InformationsquelleAutor der Antwort Stefan Armbruster
Hinsichtlich der eclipse-plugin, kommt immer noch Ihren Weg, aber Sie können mit der eclipse-version von Spring Source (SpringSource Tool Suite)
http://www.springsource.com/products/sts
Es ist ziemlich anständig im Vergleich zu den bisherigen plugin-Versionen, und seit dem Frühjahr Quelle erworben hat, das Unternehmen verantwortlich für grails und groovy, können Sie erwarten, dass STS sich besser schnell
InformationsquelleAutor der Antwort peninha
Persönlich habe ich gelernt, RoR und benutzte es für ein paar Projekte zu Hause, dann schaltet doch Grails, vor allem, weil es läuft auf der JVM und deshalb hoffe ich, Gebrauch zu machen von der fülle der Java-performance/profiling-Programme, die dazu beitragen sollen, identifizieren von Engpässen im code, bevor Sie zu einem problem geworden.
Im Allgemeinen, die ich gefunden habe zu viel Unterschied in der Qualität der IDE verwendet RoR vs Grails. Obwohl, um fair zu sein, ich bin Programmierung unter Linux und habe nicht versucht, TextMate für die RoR-Entwicklung. Wenn ich mit RoR, die ich verwendet Netbeans.
Jetzt bin ich Programmierung mit STS und finde es ein Vergnügen zu verwenden mit Grails, obwohl ich immer noch finde, dass die Methode Nachweis/Abschluss gemacht werden kann, funktioniert das viel besser.
InformationsquelleAutor der Antwort srkiNZ84
Ich bin ein Vollzeit-java-Entwickler, sondern verwenden Sie Schienen, die für meine hobby-Projekte. Wir bewerten grails für ein Projekt bei der Arbeit ein Jahr zurück. Meine Erfahrung mit grails ließ mich das Gefühl ein wenig enttäuscht, und das war der Grund, dass ich begann, zu untersuchen Schienen. Nach beiden mein Eindruck ist, dass, obwohl groovy ist nicht weit hinter ruby als Sprache, rails bietet eine deutlich verbesserte Erfahrung über grails. Ganz einfach, Schienen scheint zu lösen die weit mehr Probleme der realen Welt, besonders wenn Sie Faktor in die Zahl der guten Edelsteine, die verfügbar sind. Ich denke da an Dinge wie die Bereitstellung von Suche, Versionierung, rss-Feeds, nicht der crud-Anwendungen, integration mit cloud-services, etc.
Ich habe den Eindruck, dass grails ist, um über der Ebene der Schienen 1.x. Durch die Ende dieses Monats rails 3 veröffentlicht wurden. Wir haben eigentlich beschlossen, bewegen sich jetzt in Richtung Schienen bei der Arbeit. Am Ende, grails ist einfacher zu Holen für java-Entwickler, aber letztlich fehlt die Raffinesse deckt ein breiteres Spektrum von Anforderungen an ein Projekt.
InformationsquelleAutor der Antwort opsb
Ich würde sagen Nein. Es ist auch immer noch aufgebläht, imho, für die meisten Anwendungen, vor allem, wenn Sie nur wollen, um Prototypen etwas. Brauchen wir nicht alle, dass code, all diese Abhängigkeiten gebündelt mit grails, um eine web-Anwendung. Sie nicht brauchen, Frühling, jede einzelne Zeit, die Sie wollen, um eine web-Anwendung. Schauen Sie, was Sie versuchen zu erreichen, bevor Sie eine ganze Welt voller Abhängigkeiten zu Ihrem Stapel. Ich denke, es ist wichtig zu wissen, was Ihre Anwendung besteht.
Ich empfehlen, sich auf so etwas wie ratpack, das ist viel leichter, fast wie sinatra for ruby.
InformationsquelleAutor der Antwort Espen Schulstad
Möchte ich darauf hinweisen, zwei weitere überlegungen, die Speichernutzung und Arbeitsmarkt. Grails-Anwendung nimmt eine Menge Speicher, vor allem im development-Modus z.B. 600 Mb für eine mittelgroße Anwendung. Beim Einsatz in der Produktion-Modus, z.B. die war-Datei im Tomcat, die Nutzung über 500 Mb. Dies ist zum Teil ererbt von Java verwenden.
Als für Arbeitsmarkt-und soweit ich gelesen habe, gibt es wenig Nachfrage für Grails Programmierer, job, Stellenausschreibungen, im Vergleich zu z.B. Django und Ruby on Rails.
InformationsquelleAutor der Antwort Mohamad Fakih
Aus meiner Erfahrung als Ende 2013.
Profis
Nachteile
InformationsquelleAutor der Antwort Andrey Chaschev
Es ist immer noch schrecklich. Ich weiß nicht, Ihren Beginn, aber die migration von Grails 2, Grails 3 ist immer noch Alptraum und Sie brechen mehr, als Sie lösen.
Verbrachte ich eine Stunde machen Grails-tests, um die Ausgabe etwas in der Konsole(es funktioniert nicht out of the box), auch in Java werden Sie nicht verbringen so viel Zeit Ausgabe etwas von tests.
Weiß ich immer noch nicht eine einzige berühmte Firma, die bauen etwas mit Grails.
Ich habe keine Ahnung, warum jemand immer noch mit Eclipse, aber IntelliJ-support für Grails-3 ist einfach nicht zu gebrauchen.
Also, die Beantwortung der wichtigsten Frage:
Wenn Sie sich nicht leisten können die Microsoft Access-Lizenz, vielleicht. Für echte Projekte, ich würde bleiben Weg von Grails. Es ist einfach eine Totgeburt Kind, in der Tat.
InformationsquelleAutor der Antwort Andrej Istomin