Groovy & Grails Classes

Developers using Groovy and Grails deliver web applications quickly and with confidence. The Groovy and Grails technologies are revolutionary new ways of doing Java and web application development which are faster to code and provide better metaprogramming and testing capabilities. By enabling convention-driven development for powerful, established open source projects like Spring and Hibernate, Grails gives the speed of Rails development with the stability of Java.

By learning Grails, you can learn new ways to think about web application development, and you can apply your web development skills to a broader set of jobs. Like Rails, Grails builds off of a convention-based MVC structure. Groovy, the language that powers Grails, provides metaprogramming capabilities like Ruby does. However, Grails is based off of open source technolgoies with over a decade of wide-spread use under their belt, and so it inherited impressive stability, performance, and functionality for free. These open source technologies also provide interesting different ways of addressing web development. Expand your skills and push your boundaries with these courses.

Grails makes the best-of-breed J2EE web app technologies simple to use. Grails is a Java-based SpringSource technology that pre-packages and pre-configures the best-of-breed open source software like Hibernate, Spring, SiteMesh, and Jetty. By providing reasonable defaults and easy configuration DSLs, it allows developers to focus on adding business value instead of spending time tracking down configuration bugs. This approach combines with the expressiveness of its Java-based language, Groovy, to substantially improve developer productivity. Best of all, Groovy is effectively a superset of Java, so the two languages interoperate very well and anyone already familiar with Java can pick up Groovy very quickly! These classes provide a way for new developers to hit the ground running, and for established developers to improve their skills.

See just how far you can go by learning Grails development from a master. You already know that Grails can let you code faster and with more confidence. Now move beyond that by solidifying the basics or learning advanced techniques from someone who has real-world experience using them. Smokejumper Training courses will give you personal attention and an opportunity to really get a foothold into new Grails techniques and technologies.

Smokejumper Training courses on Groovy and Grails are taught by Robert Fischer. The classes are hands-on, constructive, and focus on the practical insights Robert has learned as a Grails consultant, community member, plugin developer, and author of Grails Persistence with GORM and GSQL. Classes are available nationally, but most frequently held in Durham, North Carolina. Other common sites are New York, Boston, New Orleans, and Minneapolis/Saint Paul.

Custom corporate/organizational training is also available: please use the form on the right to request it.

Upcoming Classes

GORM and Autobase February 7, 8, 9 Durham, NC $900 No seats available!
Introduction to Groovy, Grails, and AJAX Feb 28, Mar 1, 2 New York, NY $1100 Register
Only 8 seats remaining.
Closures, MetaClasses, Builders, and DSLs March 9, 10 Durham, NC $750 Register
Meta-programming and Plugins March 11, 12 Durham, NC $750 Register
Introduction to Groovy, Grails, and AJAX April 9, 10, 11 Minneapolis / Saint Paul, MN $900 Register
Introduction to Groovy, Grails, and AJAX May 20, 21, 22 New Orleans, LA $900 Register

If you would like to request a course that is not listed here, use the form to the right. You can also keep up-to-date on new class announcements using the following mailing list:

Google Groups
Smokejumper Training Announcement List
Email:
Visit this group

Introduction to Groovy, Grails, and AJAX

Register

Description

This class provides the foundations needed for successful Groovy and Grails development in a professional context. It assumes a basic understanding of software development and web development principles, including exposure to HTML, CSS, and JavaScript. From there, this course begins with an install of Groovy and Grails, explores the basics of the Groovy language and Grails framework, and introduces some advanced web 2.0 capabilities of Grails.

Topics

  • Day 1
    • Installing Groovy and Grails
    • GroovyConsole
    • Classes, Properties, and Methods
    • Closures
    • MVC and the Structure of Grails
    • Configuring Grails
  • Day 2
    • Controllers, Views, and Taglibs
    • Parameters, the Flash, and the Session
    • Domain Objects
    • Domain Objects in Controllers
    • Command Objects
    • Services
  • Day 3:
    • Rendering non-view responses
    • RemoteField, RemoteFunction, RemoteLink
    • FormRemote
    • Custom AJAX via Prototype
    • AJAX Plugins

Register

GORM and Autobase

Register

Description

This class explores the advanced features of GORM, including customizing domain object mapping, working with legacy databases, comprehending and customizing cascade behavior, and querying with HQL. Mastery of its topics are critical for anyone working with nontrivial amounts of data or who have to interact with other systems. The class ends with an exploration of the automatic schema updating system and handling its limitations via the Autobase plugin, which is relevant to all Grails developers. A student entering this course is expected to have a fairly firm grasp of the baseline usage of GORM.

Topics

  • Day 1
    • Using Custom Names
    • Customizing Id
    • Custom Types
    • Creating Hibernate User Types
    • Hibernate Events
    • Fetching Strategies
  • Day 2
    • Basic Query with HQL
    • Joins in HQL
    • Pseudo-Objects in HQL
    • Understanding Cascades
    • Customizing Cascades
  • Day 3:
    • Automatic Schema Migrations
    • Limitations to Automatic Schema Migrations
    • Autobase Technical Overview
    • Autobase Migration Scripts
    • Extending Autobase/Liquibase

Register

Closures, MetaClasses, Builders, and DSLs

Register

Description

This class provides the skills necessary to write Builders and internal DSLs in Groovy, and is useful for those who have to encode business rules in an accessible way or define specific configuration capabilities. This class begins with a deep exploration of closures and the Groovy method invocation process, and so only a cursory knowledge of Groovy is needed to take this class.

Topics

  • Day 1
    • Closures
    • Closure Delegation
    • methodMissing
    • propertyMissing
    • invokeMethod
    • getProperty/setProperty
  • Day 2
    • MetaClasses
    • ExpandoMetaClass
    • Custom MetaClasses
    • Builders
    • BuilderSupport
    • DSLs

Register

Meta-programming and Plugins

Register

Description

This class explores the architecture of Grails and extending that architecture through plugins. It will be of most value for those who are working on multiple Grails applications which need to share functionality, for those who have a single Grails application with distinct functional segments, or for those looking to contribute to the Grails plugin ecosystem. Students will be expected to have a basic grasp of Groovy metaclasses and Grails usage.

Topics

  • Day 1
    • The Role of Plugins
    • Creating Plugins
    • Plugin Architecture
    • Packaging Plugins
    • Programmatically adding Spring Beans
    • Programmatically adding to web.xml
  • Day 2
    • Adding dynamic methods
    • Accessing domains, services, and controllers
    • Adding global customizations to domains, services, and controllers
    • Adding opt-in customizations to domains, services, and controllers

Register

Register

BYOE — Bring Your Own Environment

Smokejumper Training is focused on building off of a developer's existing skills and familiarities in order to make that developer more productive in a new technology. To that end, developers are expected to bring their own computer into the course. With the exception of the Introduction course, the developer should already have Grails installed and working.

Payment In Full Required

The invoice or payment request must be paid in full before the beginning of the first day of class.

Registration Form




Introduction to Groovy, Grails, and AJAX
GORM and Autobase
Closures, MetaClasses, Builders, and DSLs
Grails Meta-programming and Plugins