T1308

Ladda ner som PDF

Webbapplikationer med Groovy & Grails

Time-to-market är en av de viktigaste faktorerna, vid val av teknik för systemutveckling i allmänhet och webbsystem i synnerhet. Med webbramverket Grails, byggt i språket Groovy, vilket kan betraktas som Java++, så bygger du en modern webbapplikation på rekordtid. Gör som många andra (t.ex.  LinkedIn, Sky, Vodafone, Nokia med flera) och börja bygga webbapplikationer lekande lätt och snabbt.

På denna kurs lär du dig allt du behöver veta för att direkt bli produktiv efter kursen med webbutveckling i Grails. Att gå från Java till Groovy är hur enkelt som helst och du kommer inte att längta tillbaka. Sedan är det full fart in i Grails världen, där du lär dig om controllers, services, egna taglibs, i18n, automagisk hantering av domän objekt, GORM, plugins, och mycket annat.

Målgrupp

Webbprogrammerare

Förkunskaper

Java och webbteknik

Kursmaterial

Kursmaterial på engelska ingår

Teknik:

Java 7, IntelliJ 12, Grails 2.x, Groovy 2.x
Många praktiska övningar.

Innehåll:

GROOVY

Bakgrund och översikt av Groovy

  • JVM språk och Groovys influenser
  • Varför Groovy är ett så mycket bättre språk än Java
  • Installation och uppstart av Groovy

Grundläggande Groovy

  • Strunta i typer och semikolon
  • Strunta parametertyper och retur-satser
  • Duck-typing
  • GroovyStrings
  • GroovyBeans
  • Nya datatyper: list, map, range, regex
  • Nya operator: null-catch, elvis, spread, spaceship, as
  • Operatoröverlagring

Closures

  • Vad är closures och vad ska man ha det till
  • Syntax och användning
  • Genomgång av många kodexempel

Meta-programmering

  • Vad är meta-programmering och vad ska man ha det till
  • MetaClass
  • Hur man lägger till nya metoder i gamla (Java) klasser
  • invokeMethod() och dynamiska metoder
  • Expando

Hur Groovy förbättrat Java API:et

  • Översikt av förbättringar
  • Iterator-metoder
  • Textmanipulering
  • Datumhantering
  • Filhantering och I/O

AST Transformationer

  • Vad är AST transformationer och annoteringar och vad ska man ha det till
  • @ToString, @EqualsAndHashCode, @TupleConstructor
  • @Immutable, @Singleton, @Delegate
  • @AutoExternalize
  • @Log, @Log4j, @Slf4j
  • @WithReadLock, @WithWriteLock
  • Principerna för hur du skriver dina egna AST... Läs mer

Teknik:

Java 7, IntelliJ 12, Grails 2.x, Groovy 2.x
Många praktiska övningar.

Innehåll:

GROOVY

Bakgrund och översikt av Groovy

  • JVM språk och Groovys influenser
  • Varför Groovy är ett så mycket bättre språk än Java
  • Installation och uppstart av Groovy

Grundläggande Groovy

  • Strunta i typer och semikolon
  • Strunta parametertyper och retur-satser
  • Duck-typing
  • GroovyStrings
  • GroovyBeans
  • Nya datatyper: list, map, range, regex
  • Nya operator: null-catch, elvis, spread, spaceship, as
  • Operatoröverlagring

Closures

  • Vad är closures och vad ska man ha det till
  • Syntax och användning
  • Genomgång av många kodexempel

Meta-programmering

  • Vad är meta-programmering och vad ska man ha det till
  • MetaClass
  • Hur man lägger till nya metoder i gamla (Java) klasser
  • invokeMethod() och dynamiska metoder
  • Expando

Hur Groovy förbättrat Java API:et

  • Översikt av förbättringar
  • Iterator-metoder
  • Textmanipulering
  • Datumhantering
  • Filhantering och I/O

AST Transformationer

  • Vad är AST transformationer och annoteringar och vad ska man ha det till
  • @ToString, @EqualsAndHashCode, @TupleConstructor
  • @Immutable, @Singleton, @Delegate
  • @AutoExternalize
  • @Log, @Log4j, @Slf4j
  • @WithReadLock, @WithWriteLock
  • Principerna för hur du skriver dina egna AST transformationer

Builders

  • Vad är builders och varför är det den fundamentala byggstenen i alla Groovy ramverk
  • Markup Builder
  • Ant Builder
  • Swing Builder
  • HTTP Builder
  • Principerna för hur du designar din egen builder

Testning i Groovy

  • Användning av assert
  • JUnit i Groovy

XML och JSON

  • Läsa och behandla XML respektive JSON
  • Generera XML respektive JSON

Grape

  • Vad är Grape och hur fungerar dependency resoultion
  • @Grab, @GrabResolver, @GrabConfig
  • Skrapa HTML från webbsidor
  • Anropa webb-tjänster

Anropa Groovy från Java

  • Olika sätt att realisera embedded Groovy
  • Groovy Script

GRAILS

Bakgrund och översikt av Grails

  • Groovy on Rails och varför Grails skapdes
  • Arkitektur
  • Idén med konfigurering-via-konventioner
  • Installation, genomgång och uppstart av Grails

Controllers

  • Hur URI avbildas på controllers och actions
  • Rendera HTML
  • Rendera XML och JSON
  • Omdirigeringar
  • Implicita variabler och Flash scope
  • URL konfigurering
  • Testning av controllers

GSP – Groovy Server Pages

  • Hur views kopplas till controller-actions
  • Implicita variabler i GSP
  • Inkluderade GSP fragment
  • Grails tags
  • Layout-hantering med GSP och SiteMesh

Egen-definierade taglibs

  • Hur man skapar egna taggar
  • Testning av taglibs

I18n

  • Hur man enkelt kan visa texter i olika språk
  • Message-code
  • Locale-byte

Services

  • Vad är en service och vad ska man ha det till
  • Transaktionella tjänste-objekt
  • Scope och livs-cykler för tjänste-objekt
  • Testning av services

Domän-klasser och GORM

  • Från GroovyBean, via Hibernate till databasen
  • Konfigurering av olika datakällor
  • Grundläggande CRUD i GORM
  • Hämta enstaka eller många objekt
  • Värde-restriktioner (constraints) och valideringar
  • Scaffolding
  • Paginering i Grails
  • Arv och komposition/inbäddning
  • Relationer: 1-1, 1-M, M-1, M-M
  • Testning av domän-klasser

Queries - Domänobjekts-selektering

  • Dynamiska finders: findBY* och findAllBy*
  • Where queries
  • Criteria queries
  • Named queries
  • Hur man hoppar över alla led och går rakt på databasen

Plugins

  • Översikt av Grails plugins
  • Konfigurering
  • Resources plugin
  • Cache hantering
  • Authentication och Authorization
  • Några exempel på intressanta Grails plugins

AJAX

  • Hur stödet för AJAX ser ut i Grails
  • Remote link
  • Remote form

REST

  • Vad är web services i allmänhet och REST i synnerhet
  • HTTP operationer: GET, POST, PUT, DELETE, HEAD, OPTIONS
  • HTTP status-koder: 200, 300, 400, 500
  • Hur man bygger en REST baserad webb-tjänst i Grails
  • Användning av en REST client

Driftsättning

  • Generering av WAR fil
  • Generering av ”exekverbar” webbapp
  • JNDI datakällor
  • Driftsättning på Tomcat
  • Driftsättning i Amazon AWS molnet
Kurs-ID: T1308
Längd: 4 dagar
Kan betalas med:
TRAINING CARD

Lämna dina kontaktuppgifter om du önskar en företagsintern utbildning.

Tipsa