9. It
is
NOT
an
introducFon
to
Groovy
It
is
NOT
“why
you
should
not
use
Java”
It
is
NOT
“why
you
must
use
Groovy”
10. It
is
“why
every
Java
developer
SHOULD
KNOW
Groovy”
11. Groovy
is
very
easy
to
enter
into
for
Java
developers,
since…
Java
code
is
Groovy
code
12. Groovy
Features
• Strings
• CollecFons
• Date
• Parsing
and
producing
JSON
• Working
with
a
DB
• Processing
XML
• Template
engines
• Builders
• Grapes
• Traits
• Processing
configuraFon
• HTTPBuilder
• and
many
more…
13. Groovy
is
more
than
just
a
set
of
features,
it
is
more
than
a
be=er
Java
14. There
are
new
concepts
for
Java
developers
• Dynamic
language
• with
opFonal
staFc-‐typing
and
staFc-‐
compilaFon
• Closures
• FuncFonal
programming
• Meta-‐programming
• Traits
• DSLs
• and
more…
38. Challenges
• Java
<-‐>
Groovy
bridge
– The
need
for
the
Java
interface
• IDE
support
– Browsing
Java
code
–
Groovy
code
• Long
stack
traces
–
challenging
debugging
• Coding
convenFons
40. Groovy
in
light
of
Java8
• There
is
sFll
a
gap
between
Java
8
and
Groovy
• There
is
a
synergy
between
Groovy
and
Java
8
h=p://www.slideshare.net/SpringCentral/groovy-‐in-‐thelightoaava8
h=p://www.javacodegeeks.com/2014/06/java-‐8-‐lambdas-‐vs-‐groovy-‐closures-‐compactness-‐grouping-‐and-‐summing.html
41. Groovy
in
light
of
Java8
• Groovy
syntax
is
more
compact
• JDK
classes
enhancements
(String,
URL,
File
etc.)
• Operator
overloading
• MemoizaFon
+
trampoliningRegular
expressions
• SQL
handling
• Coercion
of
types
to
Boolean
• JSN
+
XML
parsing
and
producing
• Traits
• AST
transformaFons
• DSL
• …