Was sind "Groovy" und "Grails" und welche Arten von Anwendungen werden mit ihnen erstellt?

100

Heutzutage höre ich viel über "Groovy on Grails" und möchte mehr darüber wissen:

  • Was ist Groovy?
  • Was ist Gral?
  • Welche Art von Anwendungen werden mit Groovy on Grails erstellt?
Rachel
quelle
3
Es ist auch nur Grails. Nicht Groovy on Grails (das macht keinen Sinn ..). Du hast Glück, dass Marc Palmer diese Frage nicht gesehen hat :)
leebutts
23
Grails = Groovy on Rails
Pascal Thivent
1
Tatsächlich gab es einige Kontroversen um den Spitznamen "Groovy on Rails", weshalb Grails NICHT mehr Groovy on Rails heißt. Es ist nur Grails.
Matthias
3
Ja, vor 5 Jahren, im Jahr 2006, haben sich die Ruby on Rails-Leute beschwert und das Framework namens "Groovy on Rails" wurde in "Grails" umbenannt. Es wurde nie Groovy on Grails genannt, außer von verwirrten Rekrutierern und ihren Opfern.
Burt Beckwith

Antworten:

188
  1. Was ist Groovy on Grails?

    Es existiert nicht mehr unter diesem Namen. Es heißt jetzt einfach Grails .

  2. Was ist Groovy?

    Ursprünglich eine dynamische Sprache für die JVM. Seit Groovy 2.0 werden jedoch sowohl statische als auch dynamische Typisierung unterstützt.

  3. Was ist Gral?

    Grails (früher bekannt als "Groovy on Grails") ist ein Programmierframework, das auf Groovy basiert und von Ruby on Rails inspiriert ist (es gibt Unterschiede, aber es gibt auch viele Ähnlichkeiten). Wie RoR fördert Grails "Coding by Convention", Best Practices für die Entwicklung und soll hochproduktiv sein.

  4. Welche Art von Anwendungen werden mit " Groovy on Grails" erstellt?

    Grails wird verwendet, um Webanwendungen zu erstellen, die auf der JVM ausgeführt werden.

  5. Was sind die Vorteile von Groovy on Grails?

    Hohe Produktivität, die sich auf das Geschäft anstatt auf die Installation konzentriert. (Beachten Sie, dass ich die Verwendung von Grails mit einem vorhandenen Datenmodell nicht empfehlen würde. Der Grund dafür ist, dass Grails einen Top-Down-Ansatz empfiehlt, bei dem das Datenbank-ER-Modell als Ergebnis der Domänenklassen entsteht. Wenn Sie eine Legacy-Datenbank verwenden Sie können die Datenbank nicht den Domänenklassen zuordnen. Möglicherweise stimmt die Namenskonvention nicht überein, sodass die Verwendung von hbm.xml-Konfigurationsdateien oder -Anmerkungen im Ruhezustand erforderlich ist. IMO, dies ist keine triviale Änderung in Der Workflow kann sehr umständlich werden und Sie verlieren am Ende die meisten Vorteile von Grails.)

  6. Warum sollte man Groovy on Grails verwenden wollen, wenn wir Standardprogrammiersprachen wie C / C ++, Java / J2EE und .NET / C # haben?

    Wegen Punkt 5.

Pascal Thivent
quelle
1
Können Sie mehr erklären, warum Sie die Verwendung von Grails mit einem vorhandenen Datenmodell nicht empfehlen würden?
Todd Hunter
1
Können Sie mehr darüber erklären, was Sie damit meinen High productivity, focusing on business instead of plumbing.? was ist plumbing?
Thang Pham
@ HarryPham - Boilerplate-Code und Umgang mit "wie Dinge getan werden" anstatt "was Dinge tun wir" der Implementierung
cdeszaq
@Pascal Thivent - Ich könnte am Ende das Programm eines anderen von Grund auf neu schreiben, und wenn Sie nicht empfehlen würden, Grails nicht mit einem vorhandenen Datenmodell zu verwenden, wäre Grails der klare Gewinner für das zu verwendende Framework. Ich habe die DB-Architektur des Programms noch nicht gesehen, aber ich stelle mir vor, dass es angesichts der einfachen Funktionalität des Programms ziemlich einfach ist. Würde sich Ihre Empfehlung überhaupt ändern, wenn die vorhandene DB-Architektur einfach ist? Könnte der umständliche Workflow durch die Migration der Daten in der Legacy-Datenbank in eine neue Datenbank vermieden werden, und wenn ja, wäre dies schwierig? Vielen Dank.
Daniel
Seit Grails 3 gibt es verschiedene Profile, mit denen Sie das Grails-Framework an Ihre spezifischen Anforderungen anpassen können. Es ist nicht mehr nur ein Webframework, sondern kann erfolgreich zur Entwicklung leichter REST-Mikrodienste verwendet werden, ohne den Platzbedarf einer Template-Engine oder sogar einer ORM-Schicht. grails.github.io/grails-doc/latest/guide/single.html#profiles
Luis Muñiz
24

Groovy ist eine objektorientierte Programmiersprache für die Java-Plattform. Es ist eine dynamische Sprache mit ähnlichen Funktionen wie Python, Ruby, Perl und Smalltalk. Es kann als Skriptsprache für die Java-Plattform verwendet werden. Groovy hat eine Java-ähnliche Syntax und arbeitet nahtlos mit Java-Bytecode.

Weitere Funktionen sind:

  • Einfache Lernkurve
  • Unterstützung für domänenspezifische Sprachen
  • Kompakte Syntax
  • Unterstützung für dynamisches Tippen
  • Leistungsstarke Verarbeitungsprimitive
  • Einfache Entwicklung von Webanwendungen
  • Unterstützung für Unit-Tests.

Grails ist ein Open Source-Webanwendungsframework, das die Programmiersprache Groovy verwendet. Es soll ein Framework mit hoher Produktivität sein, indem es dem Paradigma "Codierung nach Konvention" folgt, eine eigenständige Entwicklungsumgebung bereitstellt und einen Großteil der Konfigurationsdetails vor dem Entwickler verbirgt.

Wie Rails scheint Grails das zu sein, was ich "stark gemasert" nenne. Wenn Sie die Dinge auf Grails-Art tun, ist die Entwicklung einfach (und im Allgemeinen recht schnell). Das Framework hat in der Regel eine bevorzugte Methode, um die meisten Dinge zu tun. Auf der anderen Seite, wenn Sie gegen den Strich gehen müssen, werden Sie eine vergleichsweise harte Zeit davon haben.

Und sag nicht Groovy on Grails (existiert nicht), aus Gründen, die auf diesen Blog verweisen .

Jainendra
quelle
12

Grails ist direkt analog zu Ruby on Rails , läuft aber mit Groovy. Was ist Groovy ? Es ist eine Skriptsprache, die auf der Java Virtual Machine (JVM) ausgeführt wird.

Sie können also Java-Bibliotheken verwenden, die Sie bereits haben oder verfügbar sind (da sie zu Bytecode kompiliert wurden und somit auf einer JVM ausgeführt werden), sowie die Leistung der JVM (für die Speicherbereinigung, Geschwindigkeit über JIT-Kompilierung usw.) und die Prägnanz von Groovy. Die Lernkurve für einen Java-Programmierer, um Groovy zu erlernen, sollte ziemlich klein sein (wodurch die große Anzahl verfügbarer Java-Programmierer genutzt wird).

Es ist eine ganz andere Art und Weise Web - Anwendungen auf die Standard - Java - Mechanismen der Servlet - Programmierung zu erstellen, JSPs, Java Server Faces usw. Grails (wie Ruby on Rails) eine dynamischere und iterative Entwicklungsumgebung als die Standard - Entwicklungsmechanismen verspricht (ob das stimmt in üben kann ich nicht raten)

Brian Agnew
quelle
Gehirn, Ihre Aussagen widersprechen, Sie sagen, es ist eine Skriptsprache, aber im nächsten Absatz sagen Sie, es ist zu Byte-Code kompiliert. Ich bin ein .NET-Programmierer und Skriptsprachen wie Javascript usw. werden nicht kompiliert, sondern nur interpretiert. Könnten Sie bitte erklären, was Sie mit diesen widersprüchlichen Aussagen meinen
Lerner
Groovy kann in beide Richtungen verwendet werden. Groovy-Programme können wie Javascript zeilenweise als einfaches Skript ausgeführt werden. Es kann auch mit dem Groovy Compiler zur Bytecode-Klasse kompiliert werden, die mit JVM ausgeführt werden kann.
PRMDK
0

Grails-MVC-Framework für die Entwicklung einer Webanwendung und einer Code-fähigen Plattform mit DRY (Wiederholen Sie sich nicht), das auf Spring + Hibernate basiert. Die Grails-Plattform kümmert sich um die Infrastruktur und die Abhängigkeiten, um eine Web-App auszuführen, sodass sich die Entwickler auf die Erstellung der Funktionen für das Produkt konzentrieren können. Grails - ein großartiger Rahmen für die Startup-Organisationen, um das Produkt vom Entwicklungsmodus in den Produktionsmodus zu bringen.

Pavithra R.
quelle