Frage

SpringSource (jetzt VMware) verfügt über zwei sehr ähnliche Technologien: Grals und Frühlings -Roo. Ich habe Grails benutzt, aber ich sehe, dass Springource aktiv an etwas arbeitet, das für diese Technologie Konkurrent ist, und das macht mich Sorgen um die Zukunft von Grails.

Weiß jemand, wie sich diese Technologien beziehen, werden zusammengeführt oder einer von ihnen wird aufgegeben?

Gibt es außerdem wichtige technische Unterschiede zwischen Grails und Roo?

War es hilfreich?

Lösung

SpringourceDas Ziel ist es, es so schnell und einfach wie möglich zu machen, Lösungen auf dem Bauen, zu führen und zu verwalten. Wir haben beide Gral und Frühlingsroo Weil wir uns zutiefst um die Produktivität der Entwickler kümmern und zweifellos beide Tools einen ernsthaften Schub für das bieten, was Teams im Frühjahr erreichen können.

Wir haben beide Technologien, weil Roo und Grails auf philosophischen und Implementierungsebene sehr unterschiedlich sind (wie bereits in den anderen Antworten erwähnt). Jede Technologie nähert sich ihrer primären Sprache (Java oder Groovy) und dem Betriebsmodell (Dev-Time oder Laufzeit) mit der Philosophie von "Wie machen wir das Wertversprechen unglaublich gut mit dieser Sprache und dieser Betriebsmodellkombination?". Als solches sehen Sie jede Technologie, die einen anderen Stil einnimmt, der diese Kombination (Roos Java+Dev-Time oder Grail's Groovy+Laufzeit) und die angemessenen Vorteile maximiert.

Diese Unterschiede sind eigentlich sehr positiv, da sie bedeuten, dass die Frühlingsgemeinschaft für welchen "Geschmack" der Produktivitätslösung sie bevorzugen kann. Während diese anfänglichen Unterschiede in Bezug auf Sprachauswahl und Laufzeit/Dev-Time-Betrieb sofort erkennbar sind, erstreckt sich auch die Auswahl von Grals oder RoO auch auf subtilere Überlegungen wie die verwendeten Standardtechnologien, das Benutzerinteraktionsmodell, IDE-Unterstützung, Abhängigkeiten, Standards, Roadmap, Erweiterungen usw. Fast alle dieser Unterschiede sind eine natürliche Folge einer Best-of-Breed-Lösung für einen bestimmten Sprachstil.

Unser bester Rat ist, beide Lösungen zu berücksichtigen. Jeder hat seine Sweet Spots, aber es gibt Unterschiede zwischen den beiden, die Ihre Gesamterfahrung mit der einen oder anderen Technologie in einem bestimmten Kontext verbessern. Beide Referenzleitungen detailliert die Details jeweilige Vorteile von jede Lösung. Denken Sie natürlich daran, dass die Zeitinvestition beides minimal ist. In 10 Minuten können Sie ein Projekt in Roo oder Grails erstellen. Probieren Sie ihnen also aus und sehen Sie, was sich für Sie angesichts Ihrer spezifischen Hintergrund- und Projektanforderungen natürlicher anfühlt.

Andere Tipps

Der Hauptunterschied besteht darin, dass Roo ein reines Java -Framework ist, während Grals sowohl Groovy als auch Java nutzt. Beide basieren auf den Kern -Frühlingsbibliotheken und nutzen beliebte Java -Open -Source -Bibliotheken.

Diese Frage wurde zurückgestellt, als Roo angekündigt wurde und Graeme Rocher (Grails Lead) sagt, dass beide Frameworks einen Platz innerhalb des Frühlings haben und gleichermaßen unterstützt werden.

Wenn überhaupt, denke ich, dass Grals eine bessere Zukunft als Roo hat. Ich liebe es, mich damit zu entwickeln und sehe keine Nachteile dazu, dass es nicht reine Java ist.

Gral und Roo sind sehr unterschiedlich. Der erste große Unterschied ist die verwendete Sprache. Während Sie Groovy -Code wie herkömmlicher Java -Code schreiben können, benötigen Sie noch die groovigen Abhängigkeiten, um Grails -Anwendungen auszuführen. Um in Grails so produktiv wie möglich zu sein, benötigen Sie auch einen Verständnis für Funktionen in Groovy, die derzeit nicht Teil von Java sind, z. B. Schließungen. Ein weiterer Unterschied ist die Philosophie, die die Frameworks zum Generieren von Code einnehmen. Grails generiert zur Laufzeit viele Methoden, während Roo sie während des Entwicklungsprozesses auf Anfrage generiert. Roo hat keine hinter den Kulissen Magie, die für die Verwendung von Aspekt -orientiertem Programmieren akzeptiert wird, und Sie können den gesamten Code anzeigen, den Roo generiert. In Roo müssen Sie beispielsweise einen Befehl verwenden, damit er dynamische Findermethoden wie FindByBook () generiert und dann den generierten Code in den .aj -Dateien anzeigen kann. In Grails wird die FindByBook () -Methode zur Laufzeit erstellt und Sie können den generierten Code nicht anzeigen. Mit Roo können Sie auch die Verwendung des Frameworks einstellen, wenn Sie sich entschieden haben, während Sie weiterhin eine laufende Anwendung haben, indem Sie alle generierten Code in normale .java -Dateien zusammenführen. Sie haben dann keine Abhängigkeiten von Roo -Bibliotheken zur Laufzeit oder zur Entwurfszeit. Wenn Sie sich entscheiden, dass Sie keine Gral mögen, gibt es keine Möglichkeit, das Framework zu verwenden, während Sie weiterhin eine funktionierende Anwendung haben.

IMO Die beiden sind nicht sehr ähnlich. Obwohl es Ähnlichkeiten gibt, sind die folgenden signifikanten Unterschiede:

  • Roo verwendet "Stock-Standard Java", Grails basiert auf Groovy
  • Grails ist ein Web -Framework, Roo ist nicht

Roo ist dem Befehlszeilensystem von Grails sehr ähnlich (z. B. die create-app, create-domain-class, test-app Geben Sie Befehle ein, die in Grails gefunden wurden). Ich wäre nicht überrascht, dass zwischen diesem Teil des Grals-Frameworks und Roo eine "Kreuzbefehle" sehen.

Ben Alex von Springource spricht über Roo in Dieses Interview Und er wird nach Grails gegen Roo gefragt. Der Hauptunterschied neben der Verwendung verschiedener Sprachen (Groovy vs Java, wie andere erwähnt) besteht darin, dass Roo hauptsächlich ein Tool für Entwicklungszeiten ist und Grals mehr an der Laufzeit beteiligt ist.

Sie sind eigentlich nicht so ähnlich. Roo macht es ist magisch in der Kompilierung Zeit, wo Grals es Laufzeit ist. Aus diesem Grund nimmt ROO -Projekte zur Laufzeit keine Leistungshits an.

Ich kann nicht sehen, wie sie zusammengeführt werden können, wenn Grails auf Groovy und Roo auf Java aufgebaut ist.

Ich habe einige Kommentare zu den Grails Mailing-Listen gesehen, die darauf hinwiesen, dass die Autoren glaubten, dass Roo nur als Sprungbrett für Grails existiert! Ich persönlich überlege jedoch einen möglichen Wechsel von Grals nach Roo. Ich denke, der Hauptunterschied besteht zwischen dynamischen und statisch getippten Sprachen - für mich ist das riesig. Ich liebe viele Merkmale von Grails, aber ich bevorzuge die IDE-Unterstützung und die Überprüfung einer statisch typisierten Sprache. Einige andere fühlen sich genau das Gegenteil, daher Pferde für Kurse. Trotzdem steht static Groovy derzeit in einer schweren Entwicklung, wer weiß, was die Zukunft ausübt.

Wir hatten eine Anforderung, bei der wir eine Anwendung in der Produktion hatten und im Frühjahr MVC entwickelt wurden, und die Geschwindigkeit der Entwicklung neuer Merkmale war langsam. Wir mussten alternative Frameworks wie Grals und Roo erkunden. Ich persönlich verbrachte fast einen Monat lang, um zu erkunden, welches besser war.

Wenn Sie die Details der Analyse besuchen möchten, besuchen Sie @ http://krishnasblog.com/2012/05/08/roo-vs-grails/

Wir haben die folgenden Funktionen in diesen und darunter untersuchten Ergebnissen untersucht. Das letzte Urteil sind wir nicht sicher, ob wir beide verwenden werden, wir erforschen immer noch

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top