1 / 13

Groovy & Grails

Groovy & Grails. Jean Barmash CTO, EnergyScoreCards.com www.nywebguy.com. Agenda. Groovy Introduction Examples Grails Introduction Convention over Configuration Build A Simple App. Groovy. Dynamic Language on JVM Focus on programmer productivity Focus on Essence vs. Ceremony

hector
Download Presentation

Groovy & Grails

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Groovy & Grails Jean Barmash CTO, EnergyScoreCards.com www.nywebguy.com

  2. Agenda • Groovy • Introduction • Examples • Grails • Introduction • Convention over Configuration • Build A Simple App

  3. Groovy • Dynamic Language on JVM • Focus on programmer productivity • Focus on Essence vs. Ceremony • Superset of Java • Native Java Library Integration • Compiles into Java • Dynamic Typing • Native Syntax for Lists, Maps, Sets, Ranges

  4. Very Sweet – Tons of Syntactic Sugar • Tons of Options • Optional parentheses • Optional semicolons • Optional Return • Safe Dereferencing • Autoboxing • GStrings • Regular Expressions • Autogenerated Setters / Getters • Even Elvis….

  5. Even Groovier • Closures • MixIns & Categories • Advanced MetaProgramming Capabilities • AST (Abstract Syntax Tree) Transformations • Great XML Processing Capabilities • Object Builders / XML Builders • Easy to make DSLs • Google App Engine

  6. Grails • Web Development framework inspired by Ruby on Rails • Convention over Configuration • DRY – Do Not Repeat Yourself • More focused on domain objects than Rails • Underlying Libraries: • Hibernate • Spring • SiteMesh • Quartz • J2EE / Servlet

  7. Grails Key Features • Convention over Configuration • Domain Objects • Controllers • Views • Services • Dependency Injection

  8. GORM • GORM – Robust Domain Modeling Layer • Built on Top of Hibernate, which is hidden • Advanced Layer for modeling of relationships • Maps to Database over JDBC or JPA • Dynamic Finders – query the objects • CRUD Operations • Constraints • Performance Optimizations • Can be used outside of Grails, including in Java Apps

  9. UI Features • Scaffolding to generate Views • Layout Elements • VERY Easy TagLibs • Converters to create RESTful services

  10. Plugins, Plugins, Plugins • A core concept in Grails • Unit of Functionality • Unit of Reusability • Unit of Integration • Creating a plugin is almost identical to creating an application • Over 200 Plugins in all sorts of areas • Central Repository • http://grails.org/plugin/home

  11. Other Stuff • Gradle – dependency resolution • Gant – build tool • GPars – actor concurrency library • Griphon – Grails like framework for building Swing application

  12. Resources • Groovy Usage Patterns • http://gettinggroovy.wordpress.com/2009/05/20/the-gr8-conference-groovy-usage-patterns/ • Grails – www.grails.org • Groovy – http://groovy.codehaus.org

  13. Demo

More Related