GV110
GV110: Groovy Workshop (1-2 days)
Workshop Overview
This workshop is aimed at developers (in particular Java developers) who wish to learn about the Groovy language. Groovy's goal is to bring lightweight, agile, and dynamic programming to the Java world.
Groovy encompasses powerful features as known from Ruby, Python, Scala, PERL and Smalltalk in an expressive and intuitive syntax while keeping the view and perspective of a Java programmer. Its seamless integration with Java makes it a perfect solution for enhancing your current Java projects with dynamic behavior. It's built-in testing and mocking facilities make it ideal for agile development teams wanting to boost their testing productivity through a dynamic language.
Audience
Software Developers, Testers, Designers, Technical Managers and Architects interested in understanding the role dynamic languages (and Groovy in particular) play and how they can be used effectively during agile development. Attendees will come away with an example-rich exposure to Groovy and will be able to start using Groovy in their own workplaces.
Pre-requisites
Attendees should have some previous exposure to the Java programming language or exposure to Ruby or another scripting language.
Course Topics
Introduction: A brief positioning and history of Groovy
Language Basics:
Everything is an object
Numbers and Expressions
Strings and Regular expressions
Lists, Maps and Ranges
Basic Control Structures
Closures: Code as data, Built-in closures, writing your own
Processing XML: reading with parsers and writing with builders
Accessing Databases: Simple syntax, Datasets and Lazy evaluation
OO Features: Inheritance, Interfaces, Multimethods
Working with Files and Directories: closure methods for file and directory handling, seamless resource management
Other Library Features: other enhancements Groovy makes to the Java libraries
Unit Testing and Mocks: Groovy's extra testing capabilities and built-in mocking facilities
Meta Object Programming: MOP capabilities for dynamic programming
Native Integration: Controlling native applications etc.
Server-Side Programming: Groovlets and GSP pages
Template Engines: GString's through to templates
Testing with Groovy: How to test web pages, web services, databases and more
Grails: a quick introduction to the ground-breaking application framework