SlideShare a Scribd company logo
Groovy & Grails
      Jean Barmash
  CTO, EnergyScoreCards
  www.meetup.com/grails
Java:
String[] names = new String[] {"Rod", "Carlos", "Chris"}
for (String it : names)
     if (it.length() <= 4)
         System.out.println(it);



Groovy:
String[] names = [ "Rod", "Carlos", "Chris" ]
for (String it : names)
     if (it.length() <= 4)
         System.out.println(it);




Idiomatic Groovy:
names = ["Rod", "Carlos", "Chris"]
names.grep { it.size() <= 4 }.each{ println it }
Groovy Language

Dynamic Language for the JVM
Native Integration with Java, cross-compilation
Almost-zero learning curve
  can rename .java to .groovy
Backed by VMWare / SpringSource
Open Source, Apache License
Unfortunate Name
Major Features

Less Ceremony
Closures
Native collection syntax / processing
Many Features for DSL
Abstract Syntax Tree Transformation
  E.g. @Immutable, @Singleton
Trivial XML / HTML / JSON Processing
Fun
Did I say easy integration with Java?
Grails (www.grails.org)
High Productivity Web Framework
Convention over configuration
Built on solid Java technologies
   Spring, Hibernate, Quartz
GORM - Works with Hibernate, JPA, and NoSQL Dbs
Plugins - 699 plugins & growing (including clojure, scala)
IDE Support
2.0 In November
Backed by SpringSource / VMWare
Awesome Community
Unfortunate Name
Who Uses Groovy / Grails
Netflix (Internally)
Sky.com
LinkedIn
Conde Naste (Wired)
Example - clickOnero in Latin America
 1.5 million users, 80k concurrent users, 8 tomcats,
 5 Linux boxes, 1 mysql, 1 terracotta, 1 rabbitmq
EnergyScoreCards :-)
Other Groovy Projects

Spock Testing Framework
GEB Functional Testing Framework
GPARS - Concurrency Framework
Gradle - convention over configuration build framework
Griffon - Swing Framework
Some Other projects that offer Groovy support
     o Spring, Mule, NanoContainer, ServiceMix, Magnolia
       CMS, eXo, neo4j, Jenkins,
     o Many more at http://groovy.codehaus.org/Related
       +Projects
References
Groovy Home Page http://groovy.codehaus.org/
Related Projects http://groovy.codehaus.org/Related+Projects
Blogs - http://groovyblogs.org/
Groovy Magazine - http://www.groovymag.com
Grails - www.grails.org
Grails Plugins - http://grails.org/plugin/category/all
SpringSource - www.springsource.com
Groovy / Grails Support
   http://www.springsource.com/support/groovyandgrailssupport
Conferences - Gr8Conf, SpringOne2GX
 SpringOne2GX - http://www.springone2gx.com/
 Gr8Conf - http://www.gr8conf.org/
NYC Groovy/Grails Meetup - http://www.meetup.com/grails/

More Related Content

PPTX
Making Java Groovy (JavaOne 2013)
PDF
The State of Go - Andrew Gerrand
PDF
Thinking in documents
PPTX
Calling python from r
PPT
Don’t turn your logs into cuneiform
PPTX
RedisConf17- durable_rules
PDF
Logstash: Get to know your logs
PDF
Golang Performance : microbenchmarks, profilers, and a war story
Making Java Groovy (JavaOne 2013)
The State of Go - Andrew Gerrand
Thinking in documents
Calling python from r
Don’t turn your logs into cuneiform
RedisConf17- durable_rules
Logstash: Get to know your logs
Golang Performance : microbenchmarks, profilers, and a war story

What's hot (19)

PPTX
RediSearch Mumbai Meetup 2020
PDF
How to Begin to Develop Ruby Core
PDF
Middleware as Code with mruby
ODP
Monitoring with ElasticSearch
PDF
Philip Stehlik at TechTalks.ph - Intro to Groovy and Grails
PPT
Large Scale Log collection using LogStash & mongoDB
PDF
DaNode - A home made web server in D
PDF
解密解密
PDF
JRuby: Pushing the Java Platform Further
PDF
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
PDF
Oscon Java Testing on the Fast Lane
PDF
Dockerize Your Projects - A Brief Introduction to Containerization
PDF
Building Awesome CLI apps in Go
PDF
Build your first MongoDB App in Ruby @ StrangeLoop 2013
PDF
Advanced I/O in browser
PDF
Debugging and Testing ES Systems
PDF
Redesigning Common Lisp
PDF
Node js quick tour v2
PPTX
Rust 101 (2017 edition)
RediSearch Mumbai Meetup 2020
How to Begin to Develop Ruby Core
Middleware as Code with mruby
Monitoring with ElasticSearch
Philip Stehlik at TechTalks.ph - Intro to Groovy and Grails
Large Scale Log collection using LogStash & mongoDB
DaNode - A home made web server in D
解密解密
JRuby: Pushing the Java Platform Further
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
Oscon Java Testing on the Fast Lane
Dockerize Your Projects - A Brief Introduction to Containerization
Building Awesome CLI apps in Go
Build your first MongoDB App in Ruby @ StrangeLoop 2013
Advanced I/O in browser
Debugging and Testing ES Systems
Redesigning Common Lisp
Node js quick tour v2
Rust 101 (2017 edition)
Ad

Similar to Groovy and Grails (20)

ODP
Groovy and Grails intro
KEY
Polyglot Grails
PPTX
Magic with groovy & grails
PPTX
Groovy Programming Language
PPTX
One-stop solution for Grails web app development
PDF
Groovy And Grails JUG Trento
PDF
Apache Groovy: the language and the ecosystem
PDF
An Introduction to Groovy for Java Developers
PDF
OpenLogic
PDF
Whats New In Groovy 1.6?
PPT
Introduction to Grails
PPT
Inrotograils 140211155206-phpapp01
PDF
Groovy Finesse
PDF
Groovy Finesse
ZIP
Groovy and Grails in Action - Devoxx 2008 - University - Guillaume Laforge
PDF
Groovy grailstutorial
PDF
Grails 3.0 Preview
PDF
Groovy - Grails as a modern scripting language for Web applications
POT
intoduction to Grails Framework
PPTX
Groovy And Grails Introduction
Groovy and Grails intro
Polyglot Grails
Magic with groovy & grails
Groovy Programming Language
One-stop solution for Grails web app development
Groovy And Grails JUG Trento
Apache Groovy: the language and the ecosystem
An Introduction to Groovy for Java Developers
OpenLogic
Whats New In Groovy 1.6?
Introduction to Grails
Inrotograils 140211155206-phpapp01
Groovy Finesse
Groovy Finesse
Groovy and Grails in Action - Devoxx 2008 - University - Guillaume Laforge
Groovy grailstutorial
Grails 3.0 Preview
Groovy - Grails as a modern scripting language for Web applications
intoduction to Grails Framework
Groovy And Grails Introduction
Ad

More from GiltTech (9)

PPT
Riak a successful failure
PDF
Real World Cassandra
PDF
Gotszling mogo db-membase
PPTX
Couchdb at AMEX
PDF
Scala for the web Lightning Talk
PDF
Clojure Lightning Talk
PDF
CoffeeScript Lightning Talk
PDF
Erlang Lightning Talk
KEY
Java to scala
Riak a successful failure
Real World Cassandra
Gotszling mogo db-membase
Couchdb at AMEX
Scala for the web Lightning Talk
Clojure Lightning Talk
CoffeeScript Lightning Talk
Erlang Lightning Talk
Java to scala

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
KodekX | Application Modernization Development
 
PPTX
Big Data Technologies - Introduction.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
NewMind AI Weekly Chronicles - August'25 Week I
Unlocking AI with Model Context Protocol (MCP)
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Mobile App Security Testing_ A Comprehensive Guide.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
sap open course for s4hana steps from ECC to s4
Digital-Transformation-Roadmap-for-Companies.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
KodekX | Application Modernization Development
 
Big Data Technologies - Introduction.pptx
cuic standard and advanced reporting.pdf
Chapter 3 Spatial Domain Image Processing.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Per capita expenditure prediction using model stacking based on satellite ima...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Groovy and Grails

  • 1. Groovy & Grails Jean Barmash CTO, EnergyScoreCards www.meetup.com/grails
  • 2. Java: String[] names = new String[] {"Rod", "Carlos", "Chris"} for (String it : names) if (it.length() <= 4) System.out.println(it); Groovy: String[] names = [ "Rod", "Carlos", "Chris" ] for (String it : names) if (it.length() <= 4) System.out.println(it); Idiomatic Groovy: names = ["Rod", "Carlos", "Chris"] names.grep { it.size() <= 4 }.each{ println it }
  • 3. Groovy Language Dynamic Language for the JVM Native Integration with Java, cross-compilation Almost-zero learning curve can rename .java to .groovy Backed by VMWare / SpringSource Open Source, Apache License Unfortunate Name
  • 4. Major Features Less Ceremony Closures Native collection syntax / processing Many Features for DSL Abstract Syntax Tree Transformation E.g. @Immutable, @Singleton Trivial XML / HTML / JSON Processing Fun Did I say easy integration with Java?
  • 5. Grails (www.grails.org) High Productivity Web Framework Convention over configuration Built on solid Java technologies Spring, Hibernate, Quartz GORM - Works with Hibernate, JPA, and NoSQL Dbs Plugins - 699 plugins & growing (including clojure, scala) IDE Support 2.0 In November Backed by SpringSource / VMWare Awesome Community Unfortunate Name
  • 6. Who Uses Groovy / Grails Netflix (Internally) Sky.com LinkedIn Conde Naste (Wired) Example - clickOnero in Latin America 1.5 million users, 80k concurrent users, 8 tomcats, 5 Linux boxes, 1 mysql, 1 terracotta, 1 rabbitmq EnergyScoreCards :-)
  • 7. Other Groovy Projects Spock Testing Framework GEB Functional Testing Framework GPARS - Concurrency Framework Gradle - convention over configuration build framework Griffon - Swing Framework Some Other projects that offer Groovy support o Spring, Mule, NanoContainer, ServiceMix, Magnolia CMS, eXo, neo4j, Jenkins, o Many more at http://groovy.codehaus.org/Related +Projects
  • 8. References Groovy Home Page http://groovy.codehaus.org/ Related Projects http://groovy.codehaus.org/Related+Projects Blogs - http://groovyblogs.org/ Groovy Magazine - http://www.groovymag.com Grails - www.grails.org Grails Plugins - http://grails.org/plugin/category/all SpringSource - www.springsource.com Groovy / Grails Support http://www.springsource.com/support/groovyandgrailssupport Conferences - Gr8Conf, SpringOne2GX SpringOne2GX - http://www.springone2gx.com/ Gr8Conf - http://www.gr8conf.org/ NYC Groovy/Grails Meetup - http://www.meetup.com/grails/