Cosa sono "Groovy" e "Grails" e che tipo di applicazioni vengono create utilizzandoli?


100

Al giorno d'oggi ho sentito molto parlare di "Groovy on Grails" e voglio saperne di più:

  • Cos'è Groovy?
  • Cos'è Grails?
  • Che tipo di applicazioni vengono create utilizzando Groovy su Grails?

3
Inoltre, è solo Grails. Non Groovy su Grails (che non ha senso ..). Sei fortunato che Marc Palmer non abbia visto questa domanda :)
leebutts il

23
Grails = Groovy on Rails
Pascal Thivent

1
In realtà, c'è stata una certa controversia sul soprannome di "Groovy on Rails", motivo per cui Grails NON si chiama più Groovy on Rails. Sono solo Grails.
Matthias

3
Sì, 5 anni fa, nel 2006, i ragazzi di Ruby on Rails si sono lamentati e il framework chiamato "Groovy on Rails" è stato rinominato solo Grails. Non è mai stato chiamato Groovy su Grails tranne che da reclutatori confusi e dalle loro vittime.
Burt Beckwith

Risposte:


188
  1. Cos'è Groovy su Grails?

    Non esiste più con questo nome. Adesso si chiama semplicemente Grails .

  2. Cos'è Groovy?

    In origine, un linguaggio dinamico per JVM. Tuttavia, a partire da Groovy 2.0, sono supportate sia la digitazione statica che quella dinamica.

  3. Cos'è Grails?

    Grails (precedentemente noto come "Groovy on Grails") è un framework di programmazione basato su Groovy e ispirato a Ruby on Rails (ci sono differenze, ma anche molte somiglianze). Come RoR, Grails promuove la "codifica per convenzione", le migliori pratiche di sviluppo ed è pensato per essere altamente produttivo.

  4. Che tipo di applicazioni vengono create utilizzando " Groovy on Grails"?

    Grails viene utilizzato per creare applicazioni Web che vengono eseguite sulla JVM.

  5. Quali sono i vantaggi di Groovy su Grails?

    Alta produttività, concentrandosi sugli affari invece che sull'idraulica. (Si noti che non consiglierei di utilizzare Grails con un modello di dati esistente. Il motivo alla base di ciò è che Grails incoraggia un approccio dall'alto verso il basso in cui il modello ER del database nasce come risultato delle classi di dominio. Se si utilizza un database legacy , non puoi adottare questo approccio. Devi mappare il database alle classi di dominio e probabilmente la convenzione di denominazione non corrisponderà, rendendo necessario l'uso di hbm.xml file di configurazione o annotazioni di Hibernate. IMO, questo non è un cambiamento banale in il flusso di lavoro, può diventare davvero macchinoso e si finisce per perdere la maggior parte dei vantaggi di Grails.)

  6. Perché si dovrebbe voler usare Groovy su Grails quando abbiamo linguaggi di programmazione standard come C / C ++, Java / J2EE e .NET / C #?

    A causa del punto 5.


1
Puoi spiegare di più perché non consiglieresti di utilizzare graal con un modello di dati esistente?
Todd Hunter,

1
Puoi spiegare di più su cosa intendi con High productivity, focusing on business instead of plumbing.? che cos'è plumbing?
Thang Pham

@HarryPham - Codice Boilerplate e gestione di "come vengono fatte le cose" piuttosto che "cosa facciamo" dell'implementazione
cdeszaq

@Pascal Thivent - Potrei finire per riscrivere il programma di qualcun altro da zero, e se non fosse per il tuo punto di non consigliare l'uso di Grails con un modello di dati esistente, Grails sarebbe il chiaro vincitore per il framework da utilizzare. Non ho ancora visto l'architettura DB del programma, ma immagino che sia abbastanza semplice date le funzionalità dirette del programma. La tua raccomandazione cambierebbe del tutto se l'architettura DB esistente fosse semplice? È possibile evitare l'ingombrante flusso di lavoro migrando i dati dal database precedente a un nuovo database e, in tal caso, sarebbe difficile? Grazie.
Daniel

A partire da Grails 3, ci sono diversi profili che puoi usare, per personalizzare il framework Grails per le tue esigenze specifiche. Non è più solo un framework Web, può essere utilizzato con successo per sviluppare microservizi REST leggeri, senza l'impronta di un motore di modelli o persino di un livello ORM. grails.github.io/grails-doc/latest/guide/single.html#profiles
Luis Muñiz

24

Groovy è un linguaggio di programmazione orientato agli oggetti per la piattaforma Java. È un linguaggio dinamico con caratteristiche simili a quelle di Python, Ruby, Perl e Smalltalk. Può essere utilizzato come linguaggio di scripting per la piattaforma Java. Groovy ha una sintassi simile a Java e funziona perfettamente con il bytecode Java.

Altre caratteristiche includono:

  • Facile curva di apprendimento
  • Supporto per lingue specifiche del dominio
  • Sintassi compatta
  • Supporto per la digitazione dinamica
  • Potenti primitive di elaborazione
  • Facilità di sviluppo di applicazioni Web
  • Supporto per unit test.

Grails è un framework per applicazioni web open source che utilizza il linguaggio di programmazione Groovy. È concepito per essere un framework ad alta produttività seguendo il paradigma "codifica per convenzione", fornendo un ambiente di sviluppo autonomo e nascondendo gran parte dei dettagli di configurazione allo sviluppatore.

Come Rails, Grails sembra essere quello che chiamo "Strongly Grained". Se fai le cose alla maniera di Grails, lo sviluppo è facile (e generalmente abbastanza veloce). Il framework tende ad avere un modo preferito di fare la maggior parte delle cose. D'altra parte, se hai bisogno di andare controcorrente, avrai un periodo relativamente difficile.

E non dire Groovy su Grails (non esiste), per motivi fare riferimento a questo blog.


12

Grails è direttamente analogo a Ruby on Rails , ma funziona con Groovy. Cos'è Groovy ? È un linguaggio di scripting che viene eseguito su Java Virtual Machine (JVM).

Quindi puoi utilizzare le librerie Java che hai già o sono disponibili (poiché sono compilate in bytecode e quindi eseguite su una JVM), più la potenza della JVM (per la raccolta dei rifiuti, velocità tramite compilazione JIT ecc.) E la concisione di Groovy. La curva di apprendimento per un programmatore Java per apprendere Groovy dovrebbe essere piuttosto piccola (sfruttando così l'enorme numero di programmatori Java disponibili).

È un modo molto diverso di creare applicazioni web rispetto ai meccanismi Java standard di programmazione servlet, JSP, Java Server Faces ecc. Grails (come Ruby on Rails) promette un ambiente di sviluppo più dinamico e iterativo rispetto ai meccanismi di sviluppo standard (se questo è vero in pratica , non posso consigliare)


Cervello, le tue affermazioni contraddicono, dici che è un linguaggio di scripting, ma nel prossimo paragrafo dici che è compilato in byte code. Sono un programmatore .NET e linguaggi di scripting come javascript ecc. Non vengono compilati ma solo interpretati. Potresti spiegare cosa intendi con queste affermazioni contraddittorie
Studente

Groovy può essere utilizzato in entrambi i modi. Il programma Groovy può essere eseguito come un semplice script riga per riga, come javascript. Può anche essere compilato usando il compilatore groovy per la classe bytecode che può essere eseguita usando JVM.
pRmdk

0

Grails - Framework MVC per lo sviluppo di un'applicazione web e una piattaforma pronta per il codice con DRY (Non ripetere te stesso) costruita sulla parte superiore di Spring + Hibernate. La piattaforma Grails si prende cura dell'infrastruttura e delle dipendenze per eseguire un'app Web in modo che gli sviluppatori possano concentrarsi sulla creazione delle funzionalità per il prodotto. Grails -un ottimo framework per le organizzazioni startup per lanciare il prodotto dalla modalità di sviluppo alla modalità di produzione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.