SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

What’s new in grails framework 5?
What’s new in grails framework 5?What’s new in grails framework 5?
What’s new in grails framework 5?Puneet Behl
 
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Edureka!
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based developmentgo_oh
 
Maven beyond hello_world
Maven beyond hello_worldMaven beyond hello_world
Maven beyond hello_worldGabriel Dogaru
 
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...César Hernández
 
React native in the wild @ Codemotion 2016 in Rome
React native in the wild @ Codemotion 2016 in RomeReact native in the wild @ Codemotion 2016 in Rome
React native in the wild @ Codemotion 2016 in RomeAlessandro Nadalin
 
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)William Yeh
 
Grails 3.0 Preview
Grails 3.0 PreviewGrails 3.0 Preview
Grails 3.0 Previewgraemerocher
 
Building our Component Library
Building our Component LibraryBuilding our Component Library
Building our Component LibraryClement Ho
 
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021César Hernández
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipsterJulien Dubois
 
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...
DevOpsDaysRiga 2018: Neil Crawford - Trunk based development, continuous depl...DevOpsDays Riga
 
JHipster, modern web application development made easy
JHipster, modern web application development made easyJHipster, modern web application development made easy
JHipster, modern web application development made easyRaphaël Brugier
 
Master Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins PlatformMaster Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins Platformdcjuengst
 
Bootiful Reactive Testing - Mario Gray
Bootiful Reactive Testing - Mario GrayBootiful Reactive Testing - Mario Gray
Bootiful Reactive Testing - Mario GrayVMware Tanzu
 
不只自動化而且更敏捷的Android開發工具 gradle
不只自動化而且更敏捷的Android開發工具 gradle不只自動化而且更敏捷的Android開發工具 gradle
不只自動化而且更敏捷的Android開發工具 gradlesam chiu
 
When Web meet Native App
When Web meet Native AppWhen Web meet Native App
When Web meet Native AppYu-Wei Chuang
 

Was ist angesagt? (20)

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

Andere mochten auch

基隆交點Vol.5 - 王珈琳 - 陪伴,一段服務的時間
基隆交點Vol.5 - 王珈琳 - 陪伴,一段服務的時間基隆交點Vol.5 - 王珈琳 - 陪伴,一段服務的時間
基隆交點Vol.5 - 王珈琳 - 陪伴,一段服務的時間交點
 
Collaboration friday
Collaboration fridayCollaboration friday
Collaboration fridaykacrey
 
Planificacion de eliana caballero
Planificacion de eliana caballeroPlanificacion de eliana caballero
Planificacion de eliana caballeroElianaCaballero
 
Impacto de las tics en la educaciòn
Impacto de las tics en la educaciònImpacto de las tics en la educaciòn
Impacto de las tics en la educaciònDarìo Miranda S.A
 
Getting Open Data Used
Getting Open Data UsedGetting Open Data Used
Getting Open Data UsedAndrew Stott
 
Women On Top: Celebrating Women in Business
Women On Top: Celebrating Women in BusinessWomen On Top: Celebrating Women in Business
Women On Top: Celebrating Women in BusinessOneupweb
 
Grafico diario del dax perfomance index para el 11 02-2013
Grafico diario del dax perfomance index para el 11 02-2013Grafico diario del dax perfomance index para el 11 02-2013
Grafico diario del dax perfomance index para el 11 02-2013Experiencia Trading
 
Historia insp manuel antonio leal chacon
Historia insp   manuel antonio leal chaconHistoria insp   manuel antonio leal chacon
Historia insp manuel antonio leal chaconantonio leal
 
5 Reasons Why Your Headlines Are On Life Support
5 Reasons Why Your Headlines Are On Life Support5 Reasons Why Your Headlines Are On Life Support
5 Reasons Why Your Headlines Are On Life SupportWishpond
 
Collaboration friday
Collaboration fridayCollaboration friday
Collaboration fridaykacrey
 
Auktuálne otázky zodpovednosti za porušovanie práv duševného vlastníctva online
Auktuálne otázky zodpovednosti za porušovanie práv duševného vlastníctva onlineAuktuálne otázky zodpovednosti za porušovanie práv duševného vlastníctva online
Auktuálne otázky zodpovednosti za porušovanie práv duševného vlastníctva onlineMartin Husovec
 
Kerry Karl | Debunking Myths: GLUTEN
Kerry Karl | Debunking Myths: GLUTENKerry Karl | Debunking Myths: GLUTEN
Kerry Karl | Debunking Myths: GLUTENKerry Karl
 
Wingss power point
Wingss power pointWingss power point
Wingss power pointwingss
 
Content marketing that converts - Istanbul
Content marketing that converts - IstanbulContent marketing that converts - Istanbul
Content marketing that converts - IstanbulConversionista
 

Andere mochten auch (20)

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

Ähnlich wie Future of Grails

Introduction to Grails 2013
Introduction to Grails 2013Introduction to Grails 2013
Introduction to Grails 2013Gavin Hogan
 
Engineering Culture and Infrastructure
Engineering Culture and InfrastructureEngineering Culture and Infrastructure
Engineering Culture and InfrastructureSchubert Zhang
 
Continuous Delivery with NetflixOSS
Continuous Delivery with NetflixOSSContinuous Delivery with NetflixOSS
Continuous Delivery with NetflixOSSDaniel Woods
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive uiPaul van Zyl
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talksRuslan Meshenberg
 
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...CloudBees
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGroup
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAppDynamics
 
The Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievThe Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievPivorak MeetUp
 
Starting from scratch in 2017
Starting from scratch in 2017Starting from scratch in 2017
Starting from scratch in 2017Stefano Bonetta
 
GitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your ReposGitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your ReposWeaveworks
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Bruno Capuano
 
Why real integration developers ride Camels
Why real integration developers ride CamelsWhy real integration developers ride Camels
Why real integration developers ride CamelsChristian Posta
 
Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019graemerocher
 
Solving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleSolving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleMayaData
 
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...jward5519
 
Dutchcontainerdays
DutchcontainerdaysDutchcontainerdays
Dutchcontainerdays4bakker
 

Ähnlich wie Future of Grails (20)

cadec-2017-golang
cadec-2017-golangcadec-2017-golang
cadec-2017-golang
 
Introduction to Grails 2013
Introduction to Grails 2013Introduction to Grails 2013
Introduction to Grails 2013
 
Engineering Culture and Infrastructure
Engineering Culture and InfrastructureEngineering Culture and Infrastructure
Engineering Culture and Infrastructure
 
Continuous Delivery with NetflixOSS
Continuous Delivery with NetflixOSSContinuous Delivery with NetflixOSS
Continuous Delivery with NetflixOSS
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
 
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
 
The Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievThe Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey Vasiliev
 
Starting from scratch in 2017
Starting from scratch in 2017Starting from scratch in 2017
Starting from scratch in 2017
 
GitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your ReposGitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your Repos
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Stackato v5
Stackato v5Stackato v5
Stackato v5
 
Why real integration developers ride Camels
Why real integration developers ride CamelsWhy real integration developers ride Camels
Why real integration developers ride Camels
 
Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019
 
Solving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleSolving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps style
 
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
 
Dutchcontainerdays
DutchcontainerdaysDutchcontainerdays
Dutchcontainerdays
 

Mehr von Daniel Woods

Continuous Delivery with Spinnaker and OpenStack
Continuous Delivery with Spinnaker and OpenStackContinuous Delivery with Spinnaker and OpenStack
Continuous Delivery with Spinnaker and OpenStackDaniel Woods
 
High Performance Microservices with Ratpack and Spring Boot
High Performance Microservices with Ratpack and Spring BootHigh Performance Microservices with Ratpack and Spring Boot
High Performance Microservices with Ratpack and Spring BootDaniel Woods
 
Microservices: The Right Way
Microservices: The Right WayMicroservices: The Right Way
Microservices: The Right WayDaniel Woods
 
Facilitating Continuous Delivery at Scale
Facilitating Continuous Delivery at ScaleFacilitating Continuous Delivery at Scale
Facilitating Continuous Delivery at ScaleDaniel Woods
 
Server-Side JavaScript with Nashorn
Server-Side JavaScript with NashornServer-Side JavaScript with Nashorn
Server-Side JavaScript with NashornDaniel Woods
 
Groovy for System Administrators
Groovy for System AdministratorsGroovy for System Administrators
Groovy for System AdministratorsDaniel Woods
 
Message Driven Architecture in Grails
Message Driven Architecture in GrailsMessage Driven Architecture in Grails
Message Driven Architecture in GrailsDaniel Woods
 
Gainesville Web Developer Group, Sept 2012
Gainesville Web Developer Group, Sept 2012Gainesville Web Developer Group, Sept 2012
Gainesville Web Developer Group, Sept 2012Daniel Woods
 

Mehr von Daniel Woods (8)

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

Kürzlich hochgeladen

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Kürzlich hochgeladen (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

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