Introduktion til Grails

Tags:    grails hjemmeside groovy
Skrevet af Bruger #5097 @ 30.03.2011
I denne artikel give en grundlæggende introduktion til web-frameworket Grails. Jeg vil snakke om hvad Grails er og hvordan et projekt er bygges op i Grails. Afslutningsvis guider jeg til med at få lavet dit første projekt. For at kunne få det fulde udbytte af denne artikel bør du kunne programmerer Java og have udmærkede programmerings erfaringer. Da Grails-projekter indeholder HTML og CSS og bruger databaser, vil det også være krævet at have et godt kendskab til HTML, CSS og databaser. Kender du ikke til dette, vil jeg anbefale at lære disse først.



Hvad er Grails?
Grails er et open-source web framework. Det vil altså sige at det er et avanceret værktøj til at programmerer hjemmesider i. Det er især velegnet til større projekter.
Grails benytter sig af programmeringssproget Groovy. Dette er et sprog som baserer sig på Java, hvilket betyder at de fleste koder som man kender fra Java også kan benyttes. Eksempelvis kan System.Out.Println(); fortsat bruges (kode til at skrive til terminalen). Men derudover tilbyder Groovy også nogen andre former for koder som ofte gør livet ret meget lettere og enklere. Eksempelvis kan System.Out.Println(); i Groovy også løses sådan her println(). Groovy hjælper derfor meget med at gøre dine koder mindre og enklere i forhold til Java (især til opgaver med lister).
Har du programmeret i Java eller andre sprog med Java-ligende-syntax, så vil du uden tvivl let finde dig til rette i Groovy.
Hele konceptet bag Grails er inspireret af det populære framework Ruby On Rails. Grails og Groovy bygger ligesom Ruby og Rails meget på konvensioner, og selve projekt opbygningen er meget ens for Grails og Ruby On Rails. Faktisk hed Grails oprindeligt også Groovy On Rails hvilket man dog valgte at forkorte til Grails.
Afslutningsvis vil jeg lige fortælle at Grails er bygget op om model-view-control modellen (mvc). De forskellige dele er delt helt markant op. Kender du ikke til model-view-control modellen, kan det anbefales at læse op på det.

Installation
Grails kan køres på både Linux, Windows og Mac. Det kan godt være lidt svært at sætte miljøet op manuelt, og det afhænger af hvilket styresystem du benytter. Til udvikling, findes der dog den populære editor med navnet SpringSource Tool Suite (forkortet STS) som er variant af Eclipse, specielt lavet til Grails. Vælger du at bruge STS hjælper den let med at få sat Grails korrekt op. Jeg vil i denne artikel benytte mig at STS.
Hent SpringSource Tool Suite på hjemmesiden http://www.springsource.com/developer/sts
Når du har fået installeret softwaret og starter editoren op, vil du støde på oversigtssiden Dashboard. Kan du ikke se den, kan du finde den under Help i menuen. Nede i bunden findes fanebladet Extensions. Klik her og du kan se alle mulige mulige udvidelser du kan installerer.
Her skal du installerer:

- Grails (Languages and Frameworks)
- Grails (Language and Framework Tooling)
- Groovy Eclipse (Language and Framework Tooling)

Bagefter vil SpringSource Tool Suite formentlig skulle genstarte, og derefter er du klar.

Oprettelse af nyt projekt
Vi opretter nu et nyt projekt. I venstre side har du en oversigt over dine projekter. Har du ikke kan du finde den under Window<Show View<Projekt Explorer.
Højreklik i oversigten og vælg New<Grails Project, giv projektet navn og tryk finish. Projektet laves og du har nu oprettet et nyt projekt.

Du kan allerede nu køre dit projekt. Dette gør du ved at højre klikker du nu på projektet i projekt-oversigten og vælger Run As<Grails Command (Run-app). Har du fået sat Grails op på dit styresystem, og ikke STS, kan du også bruge følgende kommando, (når du er i projekt-mappen) i terminalen: grails run-app.
Der går derefter lidt tid, imens Grails sætter en server op. På et tidspunkt får du beskeden:
Server running. Browse to http://localhost:8080/Ditprojektnavn



Du kan derefter klikke på linket og se en standart side:



Husk at lukke serveren, hvis du senere ønsker at starte en ny server op (ellers vil der opstå problemer, da de vil prøve at bruge samme port). For at terminerer serveren kan du benytte den røde knap, nederst (og lidt til højre, tæt vil konsollen).


Oversigt over projektet
I Projektet findes mange forskellige mapper og standart filer. Jeg vil nu gennemgå de vigtigste:



Conf: Konfigurerings-filer er placeret her.
Domain: Her er din modeller placeret. Altså filer med strukturen af din database.
Controllers: Her er placeret alle controllers. Altså mellemledet mellem databasen (model) og det virsuelle (view).
Test/unit: Mappe til unit-tests.
I18n: Bruges til at lave flersprogede sider.
Views: Her placeres dit view.
Web-app: Offentlig tilgængelig mappe, hvor billeder, css-, js-filer med mere kan placeres.

Vi vil i denne artikel dog primært vise hvorledes man får benytter databasen, og her vil vi kun have brug for Domain, Controllers og Views.



Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.

Del også gerne artiklen med dine Facebook venner:  

Kommentarer (4)

User
Bruger #16502 @ 18.04.11 01:22
Hvorfor bruge grails istedet for rails?
User
Bruger #5097 @ 18.04.11 02:24
Hej Asker. Tja... Det er lidt et religions-spørgsmål. Altså sådan lidt smag og behag. De kan begge det samme. Grails er kraftigt inspireret af Ruby On Rails, så også opbygningen virker ens i begge miljøer.
Jeg tror det væsentligste argument for at vælge Grails frem for Ruby er hvis du allerede kender til Java, eller evt. sprog der ligner såsom C, C++ og PHP. Kender du til dem vil du føler dig rigtig godt hjemme i Grails.
De fleste med kendskaber til Ruby skal nok vende sig til deres (efter min mening) lidt anderledes syntax. Så derfor er Grails nok et godt valg for mange...
User
Bruger #4487 @ 13.05.11 12:09
Hej, Jeg syntes at det var en god introduktion til Grails, og det har virkelig vækket min nysgerrighed til dette framework. Jeg håber at der kommer en efterfølger, som går lidt mere i dybden med frameworket, og gerne en der hjælper begynderen som mig igang med at lave en hjemmeside ved hjælp af grails.
User
Bruger #5097 @ 13.05.11 18:22
Hey Martin. Tak for rosen. Jeg tænker også stærkt over tanken om en to'er. Vil måske lave en om ikke så længe
Du skal være logget ind for at skrive en kommentar.
t