SlideShare a Scribd company logo
The Future of Grails
Dan Woods
!
@danveloper
Where Did Grails Really Shine?
Agile Development
!
• Development-first experience
!
• Brought hot-reloading to enterprise development
!
• Seamless transition from "old guard"
!
• Rapid prototyping of concepts
!
• Groovy!
Sensible Autowirings
!
• Bringing all the platform components together, with
no effort
!
• Driving autowirings through configuration
!
• GORM -- Easy to employ DDD while maintaining an
anemic model
!
• BootStrap.groovy ... Such an undervalued premise
"Smart" Convention over
Configuration
!
• Encourages a common (and good!) architecture
for all Grails apps
!
• Taking MVC to the next level
!
• "Right place at the right time with the right name"
artifact generation
A Build System for the Web
!
• Trail blazed the programmatic build system, even
before Gradle
!
• Completely deterministic build lifecycle
!
• The basis for all Grails scripts and lifecycle events,
supporting core extensions
Makes the Fun Things Easy
!
• Grails put Spring, Hibernate, and Groovy into a
warp conduit!
!
• Bringing together desperate tech communities
under a common umbrella (and way of doing
things)
!
• Built infrastructure around other frameworks,
making them sensible and easy-to-use
"Convention over configuration, taken too
far, doesn't let you wire things together"
!
- Luke Daley
Where has Grails Suffered the Most?
Black Magic
!
• Mysterious code generation
!
• Runtime MetaClass extensions that cause non-
deterministic dispatching
!
• A "Stringly" typed framework...
!
• Goldilocks Groovy -- Grails porridge is a bit too hot
Too Far From The Source
!
• Debugging issues within an incorporated
framework can be really hard
!
• Stacktraces rarely would reveal the root of the
problem (this has gotten much better)
!
• Impossible to ascertain the various sources
influencing behavior
Bulky & Fat
!
• Wiring everything together means that everything
must be present
!
• Produces mega artifacts -- WAR by design, JAR by
option (thanks, Burt)
!
• Not a good candidate for running in PaaS/cloud
infrastructure
Let's build a plugin framework...
!
• ... and let's let any unknown number of sources impact
my: app lifecycle; request; development experience;
!
• Introduces high levels of complexity to every execution
cycle
!
• Binary plugins: and now we're going to let plugins hide
their source
!
• Really messes up an otherwise sound architecture
"Who the f*%k chose Spring?"
!
- Rob Fletcher, recent HipChat conversation
Grails 3
A Paradigm Shift in Grails...
!
• Grails 3 will take on a library approach as a
framework
!
• No more (or limited) code generation
!
• Builds will happen through Gradle, using Gradle
plugins ... Limited magic
The Good Parts Will Stay...
!
• The core concept of convention over configuration
!
• The sensible incorporation, and wiring together, of
best-in-breed frameworks
!
• Agile development experience will remain a
paramount goal
The Best is Yet To Come...
!
• Grails 3 will make the framework composable --
pick and choose functionality you need
!
• Introducing "Application Profiles" -- a strategy for
grouping goal-oriented features of the framework
!
• Improved performance -- Performance Legend, Lari
Hotari now a core team member
!
• Probably see greater adoption of Groovy in the core
Spring Boot
!
• Grails 3 will be built on top of Spring Boot
!
• Brings the continental Spring ecosystem, and
integration points
!
• Will add common structure and reduce verbosity of
Spring Boot applications, while garnering all the
benefits
Migrating from Grails 2.x to 3.x
!
• There's no migration path here... This is a whole
new way of doing things
!
• That includes plugins... It's unclear what the plugin
story is for Grails 3 -- likely libraries with lifecycle
hooks
How are we doing things...?
Spring Boot
!
• Early adopters of Spring Boot
!
• Getting a jump start on figuring out the pain points
of Boot integration
!
• Communicating openly and frequently with the
core team at Pivotal
!
• Building our own infrastructure around Spring Boot
technologies
Asgard
!
!
The next evolution of Asgard will be a
microservice PaaS built on top of Spring Boot
Don't get too wrapped up...
!
• Designed our PaaS without framework lock-in
!
• Very much designing for ways that we can evolve
as new technologies (like Grails 3) emerge
!
• Hoping our experiences with Boot will benefit the
Grails community
Come work with
us... We need your
help!
jobs.netflix.com

More Related Content

PPTX
Ratpack - SpringOne2GX 2015
PDF
Ratpack Web Framework
PDF
Intro to Ratpack (CDJDN 2015-01-22)
PDF
Ratpack Web Framework
PDF
Groovy in the Cloud
PPTX
Building Web Apps in Ratpack
PDF
Migrating from Grails 2 to Grails 3
PPTX
What's new in Spring Boot 2.0
Ratpack - SpringOne2GX 2015
Ratpack Web Framework
Intro to Ratpack (CDJDN 2015-01-22)
Ratpack Web Framework
Groovy in the Cloud
Building Web Apps in Ratpack
Migrating from Grails 2 to Grails 3
What's new in Spring Boot 2.0

What's hot (20)

PDF
What’s new in grails framework 5?
PDF
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
PDF
Trunk based development
PDF
Maven beyond hello_world
PDF
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
PDF
React native in the wild @ Codemotion 2016 in Rome
PDF
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
PDF
Grails 3.0 Preview
PDF
Building our Component Library
PDF
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
PDF
Devoxx : being productive with JHipster
PDF
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
PDF
JHipster, modern web application development made easy
PDF
Graalvm with Groovy and Kotlin - Madrid GUG 2019
PDF
Master Continuous Delivery with CloudBees Jenkins Platform
PPTX
Bootiful Reactive Testing - Mario Gray
PDF
CI is dead, long live CI
PPTX
不只自動化而且更敏捷的Android開發工具 gradle
PDF
Delivery Free of Charge
PDF
When Web meet Native App
What’s new in grails framework 5?
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Trunk based development
Maven beyond hello_world
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
React native in the wild @ Codemotion 2016 in Rome
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
Grails 3.0 Preview
Building our Component Library
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Devoxx : being productive with JHipster
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
JHipster, modern web application development made easy
Graalvm with Groovy and Kotlin - Madrid GUG 2019
Master Continuous Delivery with CloudBees Jenkins Platform
Bootiful Reactive Testing - Mario Gray
CI is dead, long live CI
不只自動化而且更敏捷的Android開發工具 gradle
Delivery Free of Charge
When Web meet Native App
Ad

Viewers also liked (20)

PPTX
基隆交點Vol.5 - 王珈琳 - 陪伴,一段服務的時間
PPTX
Collaboration friday
PPTX
leonardo monsalve
DOCX
Planificacion de eliana caballero
PPT
부용
PPTX
Impacto de las tics en la educaciòn
PDF
Getting Open Data Used
PDF
rhythm workshop
DOCX
1 4 vamos a jugar
PDF
Women On Top: Celebrating Women in Business
PDF
Brexit Webinar Series 3
PDF
Grafico diario del dax perfomance index para el 11 02-2013
PPTX
Historia insp manuel antonio leal chacon
PDF
5 Reasons Why Your Headlines Are On Life Support
PPTX
Collaboration friday
PDF
8th biosimilars congregation 2016
PDF
Auktuálne otázky zodpovednosti za porušovanie práv duševného vlastníctva online
PDF
Kerry Karl | Debunking Myths: GLUTEN
PPT
Wingss power point
PDF
Content marketing that converts - Istanbul
基隆交點Vol.5 - 王珈琳 - 陪伴,一段服務的時間
Collaboration friday
leonardo monsalve
Planificacion de eliana caballero
부용
Impacto de las tics en la educaciòn
Getting Open Data Used
rhythm workshop
1 4 vamos a jugar
Women On Top: Celebrating Women in Business
Brexit Webinar Series 3
Grafico diario del dax perfomance index para el 11 02-2013
Historia insp manuel antonio leal chacon
5 Reasons Why Your Headlines Are On Life Support
Collaboration friday
8th biosimilars congregation 2016
Auktuálne otázky zodpovednosti za porušovanie práv duševného vlastníctva online
Kerry Karl | Debunking Myths: GLUTEN
Wingss power point
Content marketing that converts - Istanbul
Ad

Similar to Future of Grails (20)

PPT
Use Cases of #Grails in #WebApplications
PPTX
One-stop solution for Grails web app development
PPTX
Introduction to Grails 2013
PPTX
Magic with groovy & grails
PPT
Introduction to Grails
PPT
Inrotograils 140211155206-phpapp01
PDF
Philip Stehlik at TechTalks.ph - Intro to Groovy and Grails
PPT
Introduction to Grails
ODP
Groovy and Grails intro
PPTX
Groovy & Grails - From Scratch to Production
PDF
Grails At Linked
PDF
Grails at Linkedin
PDF
Mastering Grails 3 Plugins - GR8Conf US 2016
PDF
Mastering Grails 3 Plugins - Greach 2016
PDF
Mastering Grails 3 Plugins - GR8Conf EU 2016
POT
intoduction to Grails Framework
KEY
Grails at DMC Digital
PDF
Build your next application in weeks and not months with Groovy and Grails
PDF
Gr8Conf 2016 - What's new in Grails 3
KEY
Introduction To Grails
Use Cases of #Grails in #WebApplications
One-stop solution for Grails web app development
Introduction to Grails 2013
Magic with groovy & grails
Introduction to Grails
Inrotograils 140211155206-phpapp01
Philip Stehlik at TechTalks.ph - Intro to Groovy and Grails
Introduction to Grails
Groovy and Grails intro
Groovy & Grails - From Scratch to Production
Grails At Linked
Grails at Linkedin
Mastering Grails 3 Plugins - GR8Conf US 2016
Mastering Grails 3 Plugins - Greach 2016
Mastering Grails 3 Plugins - GR8Conf EU 2016
intoduction to Grails Framework
Grails at DMC Digital
Build your next application in weeks and not months with Groovy and Grails
Gr8Conf 2016 - What's new in Grails 3
Introduction To Grails

More from Daniel Woods (9)

PPTX
Continuous Delivery with Spinnaker and OpenStack
PDF
High Performance Microservices with Ratpack and Spring Boot
PPTX
Microservices: The Right Way
PDF
Facilitating Continuous Delivery at Scale
PDF
Continuous Delivery with NetflixOSS
PDF
Server-Side JavaScript with Nashorn
PPTX
Groovy for System Administrators
PPTX
Message Driven Architecture in Grails
PDF
Gainesville Web Developer Group, Sept 2012
Continuous Delivery with Spinnaker and OpenStack
High Performance Microservices with Ratpack and Spring Boot
Microservices: The Right Way
Facilitating Continuous Delivery at Scale
Continuous Delivery with NetflixOSS
Server-Side JavaScript with Nashorn
Groovy for System Administrators
Message Driven Architecture in Grails
Gainesville Web Developer Group, Sept 2012

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Approach and Philosophy of On baking technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
KodekX | Application Modernization Development
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Spectroscopy.pptx food analysis technology
PDF
cuic standard and advanced reporting.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
MYSQL Presentation for SQL database connectivity
The Rise and Fall of 3GPP – Time for a Sabbatical?
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Empathic Computing: Creating Shared Understanding
Approach and Philosophy of On baking technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
Programs and apps: productivity, graphics, security and other tools
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Digital-Transformation-Roadmap-for-Companies.pptx
KodekX | Application Modernization Development
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
MIND Revenue Release Quarter 2 2025 Press Release
sap open course for s4hana steps from ECC to s4
Review of recent advances in non-invasive hemoglobin estimation
Spectroscopy.pptx food analysis technology
cuic standard and advanced reporting.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Per capita expenditure prediction using model stacking based on satellite ima...

Future of Grails

  • 1. The Future of Grails Dan Woods ! @danveloper
  • 2. Where Did Grails Really Shine?
  • 3. Agile Development ! • Development-first experience ! • Brought hot-reloading to enterprise development ! • Seamless transition from "old guard" ! • Rapid prototyping of concepts ! • Groovy!
  • 4. Sensible Autowirings ! • Bringing all the platform components together, with no effort ! • Driving autowirings through configuration ! • GORM -- Easy to employ DDD while maintaining an anemic model ! • BootStrap.groovy ... Such an undervalued premise
  • 5. "Smart" Convention over Configuration ! • Encourages a common (and good!) architecture for all Grails apps ! • Taking MVC to the next level ! • "Right place at the right time with the right name" artifact generation
  • 6. A Build System for the Web ! • Trail blazed the programmatic build system, even before Gradle ! • Completely deterministic build lifecycle ! • The basis for all Grails scripts and lifecycle events, supporting core extensions
  • 7. Makes the Fun Things Easy ! • Grails put Spring, Hibernate, and Groovy into a warp conduit! ! • Bringing together desperate tech communities under a common umbrella (and way of doing things) ! • Built infrastructure around other frameworks, making them sensible and easy-to-use
  • 8. "Convention over configuration, taken too far, doesn't let you wire things together" ! - Luke Daley
  • 9. Where has Grails Suffered the Most?
  • 10. Black Magic ! • Mysterious code generation ! • Runtime MetaClass extensions that cause non- deterministic dispatching ! • A "Stringly" typed framework... ! • Goldilocks Groovy -- Grails porridge is a bit too hot
  • 11. Too Far From The Source ! • Debugging issues within an incorporated framework can be really hard ! • Stacktraces rarely would reveal the root of the problem (this has gotten much better) ! • Impossible to ascertain the various sources influencing behavior
  • 12. Bulky & Fat ! • Wiring everything together means that everything must be present ! • Produces mega artifacts -- WAR by design, JAR by option (thanks, Burt) ! • Not a good candidate for running in PaaS/cloud infrastructure
  • 13. Let's build a plugin framework... ! • ... and let's let any unknown number of sources impact my: app lifecycle; request; development experience; ! • Introduces high levels of complexity to every execution cycle ! • Binary plugins: and now we're going to let plugins hide their source ! • Really messes up an otherwise sound architecture
  • 14. "Who the f*%k chose Spring?" ! - Rob Fletcher, recent HipChat conversation
  • 16. A Paradigm Shift in Grails... ! • Grails 3 will take on a library approach as a framework ! • No more (or limited) code generation ! • Builds will happen through Gradle, using Gradle plugins ... Limited magic
  • 17. The Good Parts Will Stay... ! • The core concept of convention over configuration ! • The sensible incorporation, and wiring together, of best-in-breed frameworks ! • Agile development experience will remain a paramount goal
  • 18. The Best is Yet To Come... ! • Grails 3 will make the framework composable -- pick and choose functionality you need ! • Introducing "Application Profiles" -- a strategy for grouping goal-oriented features of the framework ! • Improved performance -- Performance Legend, Lari Hotari now a core team member ! • Probably see greater adoption of Groovy in the core
  • 19. Spring Boot ! • Grails 3 will be built on top of Spring Boot ! • Brings the continental Spring ecosystem, and integration points ! • Will add common structure and reduce verbosity of Spring Boot applications, while garnering all the benefits
  • 20. Migrating from Grails 2.x to 3.x ! • There's no migration path here... This is a whole new way of doing things ! • That includes plugins... It's unclear what the plugin story is for Grails 3 -- likely libraries with lifecycle hooks
  • 21. How are we doing things...?
  • 22. Spring Boot ! • Early adopters of Spring Boot ! • Getting a jump start on figuring out the pain points of Boot integration ! • Communicating openly and frequently with the core team at Pivotal ! • Building our own infrastructure around Spring Boot technologies
  • 23. Asgard ! ! The next evolution of Asgard will be a microservice PaaS built on top of Spring Boot
  • 24. Don't get too wrapped up... ! • Designed our PaaS without framework lock-in ! • Very much designing for ways that we can evolve as new technologies (like Grails 3) emerge ! • Hoping our experiences with Boot will benefit the Grails community
  • 25. Come work with us... We need your help! jobs.netflix.com