2009-10-04 10 views
79

Oggi ho sentito un sacco di "Groovy su Grails" e voglio saperne di più:Cosa sono "Groovy" e "Grails" e quali tipi di applicazioni vengono creati utilizzando questi?

  • Qual è Groovy?
  • Che cos'è Grails?
  • Che tipo di applicazioni vengono create utilizzando Groovy on Grails?
+3

Inoltre, è solo graal. Non Groovy on Grails (che non ha senso ..). Sei fortunato Marc Palmer non ha visto questa domanda :) – leebutts

+2

Sono d'accordo che avrei dovuto googled prima, ma ottengo risposta intelligente da Stackoverflow e come sempre Stackoverflow è la mia prima scelta per la domanda relativa alla programmazione. – Rachel

+23

Grails = Groovy on Rails –

risposta

164
  1. Qual è Groovy su Grails?

    Non esiste più con questo nome. Si chiama semplicemente Grails adesso.

  2. Che cos'è Groovy?

    Originariamente, un linguaggio dinamico per JVM. Tuttavia, poiché Groovy 2.0, sono supportati sia la tipizzazione statica che quella dinamica.

  3. Che 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 ci sono anche molte somiglianze). Come RoR, Grails promuove la "codifica per convenzione", le migliori pratiche di sviluppo e deve essere altamente produttivo.

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

    Grails viene utilizzato per creare applicazioni Web eseguite sulla JVM.

  5. Quali sono i vantaggi di Groovy su Grails?

    Alta produttività, concentrandosi sul business anziché sull'impianto idraulico. (Si noti che non consiglierei di utilizzare Grails con un modello di dati esistente. La ragione di questo è che Grails incoraggia un approccio top-down in cui il modello ER del database si pone come risultato delle classi Dominio. database, non è possibile adottare questo approccio. È necessario associare il database alle classi di dominio e probabilmente la convenzione di denominazione non corrisponderà, rendendo necessario l'uso di hbm.xml Hibernate file di configurazione o annotazioni.IMO, questo non è un cambiamento banale nel flusso di lavoro, può diventare davvero ingombrante e si finisce per perdere la maggior parte dei vantaggi di Grails.)

  6. perché uno vuole usare Groovy su Grails quando abbiamo linguaggi di programmazione standard come C/C++, Java/J2EE e .NET/C#?

    A causa del punto 5.

+8

+1 Una bella risposta pratica. Quasi rende la domanda utile. –

+1

Puoi spiegare di più perché non consiglieresti l'uso di grails con un modello dati esistente? –

+0

@Todd Ho rimosso il mio commento precedente e l'ho incluso nella mia risposta. –

11

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

Quindi è possibile utilizzare librerie Java già disponibili o disponibili (dal momento che sono compilate in bytecode e quindi eseguite su una JVM), oltre alla potenza della JVM (per la raccolta di dati inutili, velocità tramite la compilazione JIT ecc.) e la concisione di Groovy. La curva di apprendimento per un programmatore Java per raccogliere Groovy dovrebbe essere piuttosto piccola (sfruttando così l'enorme numero di programmatori Java disponibili).

È un modo molto diverso di creare applicazioni Web per i 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)

+0

Cervello, le tue affermazioni contraddicono, tu dici che è un linguaggio di scripting, tuttavia nel prossimo paragrafo dici che è compilato in codice byte. Sono un programmatore .NET, e linguaggi di scripting come javascript ecc non sono compilati ma solo interpretati. Potresti spiegare cosa intendi con queste affermazioni contraddittorie – Learner

+0

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

21

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 usato come linguaggio di scripting per la piattaforma Java. Groovy ha una sintassi simile a Java e funziona perfettamente con bytecode Java.

Altre caratteristiche includono:

  • curva di apprendimento facile
  • supporto per linguaggi settoriali
  • sintassi compatta
  • supporto per la digitazione
  • primitive di elaborazione potenti dinamiche
  • Facilità di Web sviluppo di applicazioni
  • Supporto per il test dell'unità.

Grails è un framework per applicazioni web open source che utilizza il linguaggio di programmazione Groovy. È inteso per essere una struttura ad alta produttività seguendo il paradigma "coding by convention", fornendo un ambiente di sviluppo autonomo e nascondendo gran parte dei dettagli di configurazione dallo sviluppatore.

Come Rails, Grails sembra essere quello che io chiamo "Strongly Grained". Se fai cose in modo 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 tempo relativamente difficile.

E non dire Groovy on Grails (non esiste), per ragioni fare riferimento al blog this.

0

Grails è un potente framework Web per la piattaforma Java volto a moltiplicare la produttività degli sviluppatori grazie a un paradigma Convention-over-Configuration, impostazioni predefinite sensibili e API approvate. Si integra perfettamente con la JVM, consentendo di essere immediatamente produttivi fornendo al contempo funzionalità potenti, tra cui ORM integrato, lingue specifiche del dominio, runtime e meta-programmazione in fase di compilazione e programmazione asincrona.

  1. curva di apprendimento piatto
  2. Potenti funzionalità
  3. integrazione Java Smooth
  4. linguaggi domain-specific
  5. Plugin
  6. IDE supporto
Problemi correlati