Ecosistema
Geb, Spock, WSLite...
6
giovedì 7 novembre 13
Slide 7
Slide 7 text
• Framework Web ad alta produttività
• Solido: Spring, Hibernate, Sitemesh
• Moderno: COC, smart reloading, scaffolding
• Molti plugin: Spring Security, MongoDB, etc.
7
giovedì 7 novembre 13
Slide 8
Slide 8 text
Live Demo
expense-manager
8
giovedì 7 novembre 13
Slide 9
Slide 9 text
• Test automatici nel browser
• Funziona su Firefox, Chrome, IE, Safari
• Selezione HTML stile jQuery
• Si integra con JUnit, TestNG, Spock
Geb
9
giovedì 7 novembre 13
Spock
• Testing e specification framework
• Molto espressivo, facile da imparare
• Facilita approccio Behaviour Driven
13
giovedì 7 novembre 13
Slide 14
Slide 14 text
given: "un nuovo conto bancario"
when: "verso 10€"
then: "il saldo del conto è 10€"
Spock
• Testing e specification framework
• Molto espressivo, facile da imparare
• Facilita approccio Behaviour Driven
13
giovedì 7 novembre 13
Slide 15
Slide 15 text
14
giovedì 7 novembre 13
Slide 16
Slide 16 text
15
giovedì 7 novembre 13
Slide 17
Slide 17 text
Geb + Spock
15
giovedì 7 novembre 13
Slide 18
Slide 18 text
Gradle
• Tool per l’automazione di build
• Flessibilità di Ant e convenzioni Maven
• Definizione dichiarativa via ad-hoc DSL
• Molto in voga
16
giovedì 7 novembre 13
Slide 19
Slide 19 text
[project root]
/src
/main
! /java
/resources
/test
/java
/resources
build.gradle
Un progetto Java
17
giovedì 7 novembre 13
Slide 20
Slide 20 text
[project root]
/src
/main
! /java
/resources
/test
/java
/resources
build.gradle
Un progetto Java ...
18
giovedì 7 novembre 13
Slide 21
Slide 21 text
[project root]
/src
/main
! /java
/resources
/test
/java
/resources
build.gradle
Un progetto Java ...
19
giovedì 7 novembre 13
Slide 22
Slide 22 text
20
giovedì 7 novembre 13
Slide 23
Slide 23 text
GPars
• Groovy Parallel Systems
• Framework per facilitare la costruzione di
applicazioni concorrenti
• Costrutti per Dataflow, attori, funzioni
asicrone componibili, map-reduce...
• Sfrutta l’espressività di Groovy (Closure)
21
giovedì 7 novembre 13
Slide 24
Slide 24 text
Dataflow
22
giovedì 7 novembre 13
Slide 25
Slide 25 text
Dataflow
enfasi sui dati ed il loro ‘flusso’
e non sul processo che li manipola
(deadlock deterministico)
22
giovedì 7 novembre 13
Slide 26
Slide 26 text
Attori
23
giovedì 7 novembre 13
Slide 27
Slide 27 text
Attori
oggetti che si scambiano messaggi e
non condividono stati mutabili
(VS shared-memory multi-threading)
23
giovedì 7 novembre 13
Slide 28
Slide 28 text
Web: http://rolandfg.net Twitter: @flerro
24
giovedì 7 novembre 13
Slide 29
Slide 29 text
Riferimenti
• Groovy User Guide - http://groovy.codehaus.org/User+Guide
• Bob Brown - The future is Gr8 - http://wordpress.transentia.com.au/wordpress/
2013/05/07/disaster/
• Sergey Dolgopolov - Testing the performance of new Groovy 2.0 release with
GBench - http://www.sergeydolgopolov.me/2012/07/groovy-20-has-been-released-
testing-new.html
• Guillame Laforge - Groovy Ecosystem - http://www.slideshare.net/glaforge/groovy-
ecosystem-jfokus-2011-guillaume-laforge
• Hubert Klein Ikkink (aka mrhaki) - Groovy goodness blog -
http://mrhaki.blogspot.it/
• Geb Samples - http://www.gebish.org
• GPars Samples for Dataflow and Actors - http://gpars.codehaus.org
• Spock Samples - http://code.google.com/p/spock/
• Tim Myer - http://timezra.blogspot.it/2011/11/trampoline-and-memoize.html
25
giovedì 7 novembre 13