future of grails

25
The Future of Grails Dan Woods @danveloper

Upload: daniel-woods

Post on 08-Sep-2014

2.416 views

Category:

Technology


0 download

DESCRIPTION

Talk from the Bay Area Groovy & Grails User Group on the future of Grails

TRANSCRIPT

Page 1: Future of Grails

The Future of GrailsDan Woods

!@danveloper

Page 2: Future of Grails

Where Did Grails Really Shine?

Page 3: Future of Grails

Agile Development !

• Development-first experience !

• Brought hot-reloading to enterprise development !

• Seamless transition from "old guard" !

• Rapid prototyping of concepts !

• Groovy!

Page 4: Future of Grails

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

Page 5: Future of Grails

"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

Page 6: Future of Grails

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

Page 7: Future of Grails

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

Page 8: Future of Grails

"Convention over configuration, taken too far, doesn't let you wire things together"

!

- Luke Daley

Page 9: Future of Grails

Where has Grails Suffered the Most?

Page 10: Future of Grails

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

Page 11: Future of Grails

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

Page 12: Future of Grails

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

Page 13: Future of Grails

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

Page 14: Future of Grails

"Who the f*%k chose Spring?" !

- Rob Fletcher, recent HipChat conversation

Page 15: Future of Grails

Grails 3

Page 16: Future of Grails

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

Page 17: Future of Grails

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

Page 18: Future of Grails

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

Page 19: Future of Grails

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

Page 20: Future of Grails

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

Page 21: Future of Grails

How are we doing things...?

Page 22: Future of Grails

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

Page 23: Future of Grails

Asgard !

!

The next evolution of Asgard will be a microservice PaaS built on top of Spring Boot

Page 24: Future of Grails

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

Page 25: Future of Grails

Come work with us... We need your

help!

jobs.netflix.com