Ecco alcuni esempi, ma attenzione che sono abbastanza banali e non mostrano realmente come funziona il sistema. Uno dei punti di forza di Grails è che le diverse parti si combinano per ridurre la complessità del codice e velocizzare lo sviluppo. Consiglio di fare un singolo progetto di dimensioni moderate (come un software di blogging o una galleria fotografica) che ti costringa a toccare praticamente tutto. Attualmente sto lavorando a un'applicazione per la gestione dei ticket e ho dovuto imparare praticamente tutto ciò che è nel framework. In realtà non è molto materiale.
Detto questo, ecco la mia lista di "deve studiare", insieme ad alcuni esempi:
Groovy, in particolare chiusure, mappe e le proprietà. Se vieni da Java, le chiusure potrebbero sembrare un po 'strane all'inizio. Tuttavia, una volta che ti avvolgi la testa, sarà difficile tornare a una lingua che non li usa. Mappe e proprietà usano idee che potrebbero essere familiari, ma la sintassi e l'utilizzo sono abbastanza diversi da valerne la pena studiarli da vicino. Grails usa queste tre cose TUTTO IL TEMPO, in tutto il framework. Per un buon esempio, esaminare "BeanBuilder" che crea un'istanza dei bean Spring definiti in resources.groovy. Inoltre, esegui la documentazione di Groovy su groovy.codehaus.org. Un paio d'ore ci salverà GIORNI lungo la strada.
Programmazione MVC.Il modello "MVC" in Grails è abbastanza simile a quello utilizzato in Rails, ma è significativamente diverso dal modello "MVC" utilizzato nelle applicazioni desktop Java. Fondamentalmente, tutte le richieste di URL in arrivo sono un messaggio a un controller, che restituisce una vista. Gli oggetti di dominio sono i dati che si desidera archiviare, visualizzare e manipolare attraverso viste e controllori. Esegui un modulo di input che convalida l'input dell'utente utilizzando i vincoli e quindi lo manipola in qualche modo utilizzando un controller. Qualcosa come una pagina che contiene il tuo compleanno e restituisce il tuo segno zodiacale e l'animale dello zodiaco cinese. Verificare se è possibile ottenerlo per restituire errori all'utente quando viene fornito un input errato.
GORM. GORM è super-importante, ma sarai costretto a impararlo praticamente con qualsiasi progetto tu scelga. Consegna una volta sola la documentazione, solo per sapere quali sono le sue capacità.
Filtri e servizi. Questi sono "il modo dei graal" per fare molta programmazione DRY. L'autenticazione è un esempio canonico ed è perfetta per l'apprendimento dei filtri. Per i servizi, scrivi qualcosa che invierà un'email. C'è un ottimo esempio di un semplice servizio di posta elettronica sul sito web di Grails.
Pagine server Groovy. Se hai già lavorato con un motore di template, questo dovrebbe sembrare familiare. Scopri la libreria di tag GSP, è un grande aiuto. Esempi pratici includono: praticamente qualsiasi cosa. Ogni applicazione ha bisogno di un front-end. Prova a renderlo carino. NOTA: questo riversa molte cose che non sono specifiche di Grails, come JavaScript, CSS, ecc. A meno che tu non abbia già questa conoscenza, preparati per un po 'di curva di apprendimento.
La directory "conf". Scopri tutti i file presenti, in particolare UrlMappings.groovy. Gioca con UrlMappings in modo da avere un'app che raccolga informazioni significative dall'URL. Qualcosa come /myapp/calculate/36/times/145
, in cui l'app restituisce una risposta.
direi che queste sono le basi, ma ci sono un sacco di altri argomenti come webflows, i18n, il controllo, la gestione delle sessioni, e così via. Il modo migliore per imparare è costruire un progetto di dimensioni decenti. Mentre lo fai, probabilmente ti troverai a pensare: "Accidenti, vorrei che Grails facesse ____". Leggi l'eccellente documentazione su Grails.org e probabilmente troverai funzionalità o plug-in incorporati che fanno ciò che desideri. Il PDF di riferimento è presente sul mio desktop e l'ho trovato inestimabile durante la mia esperienza di apprendimento.
Oh, e guarda il codice di scaffold che Grails genera. Probabilmente finirai per tirar fuori tutto, ma ti darà una buona idea di come funziona il sistema.
Divertiti e felice hacking!