Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Future of Grails

6,154 views

Published on

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

Published in: Technology
  • Be the first to comment

Future of Grails

  1. 1. The Future of Grails Dan Woods ! @danveloper
  2. 2. Where Did Grails Really Shine?
  3. 3. Agile Development ! • Development-first experience ! • Brought hot-reloading to enterprise development ! • Seamless transition from "old guard" ! • Rapid prototyping of concepts ! • Groovy!
  4. 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. 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. 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. 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. 8. "Convention over configuration, taken too far, doesn't let you wire things together" ! - Luke Daley
  9. 9. Where has Grails Suffered the Most?
  10. 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. 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. 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. 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. 14. "Who the f*%k chose Spring?" ! - Rob Fletcher, recent HipChat conversation
  15. 15. Grails 3
  16. 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. 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. 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. 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. 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. 21. How are we doing things...?
  22. 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. 23. Asgard ! ! The next evolution of Asgard will be a microservice PaaS built on top of Spring Boot
  24. 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. 25. Come work with us... We need your help! jobs.netflix.com

×