Groovy Programmeren
Lesgeld
Groovy Intro
De cursus gaat van start met een introductie van de basis kenmerken van Groovy waarin ingegaan wordt op dynamic typing en type inference in Groovy. Aan de orde komt hoe Groovy verschilt van Java met veel minder boilerplate code en ondersteuning voor scripting.
Language Syntax en Data Structures
Vervolgens wordt de Groovy taal syntax met variabelen, data types, conditionals, operators en loops besproken. Ook worden de Groovy data structures zoals lists, ma
Groovy Intro
De cursus gaat van start met een introductie van de basis kenmerken van Groovy waarin ingegaan wordt op dynamic typing en type inference in Groovy. Aan de orde komt hoe Groovy verschilt van Java met veel minder boilerplate code en ondersteuning voor scripting.
Language Syntax en Data Structures
Vervolgens wordt de Groovy taal syntax met variabelen, data types, conditionals, operators en loops besproken. Ook worden de Groovy data structures zoals lists, maps en sets behandeld en hoe Groovy gebruik maakt van het Java Collection Framework.
Methods en Closures
En ook Groovy methods, parameters passing en closures zijn onderdeel van het programma van de cursus. Groovy closures zijn anonymous code blocks die, als functie objecten met de scope waarin ze worden gecreëerd, worden opgeslagen om op een later tijdstip, al dan niet met extra parameters, te worden uitgevoerd.
Classes en Traits
Groovy is net als Java een object georiënteerde taal en aandacht wordt tevens besteed aan hoe je in Groovy gebruikt maakt van classes, constructors, fields, interfaces en traits.
XML en JSON
Daarnaast staat file I/O op het programma en wordt er in dat verband ingegaan op de veel gebruikte data formaten van XML en JSON en hoe Groovy daar mee omgaat.
Meta Programming
Tenslotte wordt de cursus afgesloten met de behandeling van meta programming in Groovy waarmee het mogelijk is om methods dynamisch aan te roepen en classes en methods on the fly te creëren.
Doelgroep Cursus Groovy Programmeren
De cursus Groovy Programmeren is bestemd voor Java developers die willen leren programmeren met de script taal Groovy.
Voorkennis Cursus Groovy Programmeren
Om aan deze cursus te kunnen deelnemen is kennis van en ervaring met programmeren in Java vereist.
Uitvoering Training Groovy Programmeren
De theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld met oefeningen. Illustratieve demo's zorgen voor een verdere verduidelijking van de behandelde begrippen. De cursustijden zijn van 9.30 tot 16.30.
Certificering Groovy Programmeren
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Groovy Programmeren.
Modules
Module 1 : Groovy Intro
- What is Groovy?
- Groovy Features
- HelloWorld in Java
- HelloWorld in Groovy
- Removing Noise
- Removing Boilerplate
- Dynamic Types
- Variable Interpolation
- POJOs on Steroids
- Script Support
- Differences with Java
- Running Groovy Scripts
- Groovy Development Kit
Module 2 : Language Syntax
- Groovy Variables and Data Types
- Wrapper Types
- Number Methods
- Groovy Strings
- Groovy Conditionals
- Switch Statement
- Groovy Operators
- Other Operators
- Elvis Operator
- Range Operator
- Groovy Loops
- For in Loop
- Each Loop
Module 3 : Data Structures
- Groovy Lists
- List Methods
- List Manipulation
- Groovy Maps
- Map Methods
- Map Manipulation
- Java Collection Interface
- Concrete Collections
- List Interface
- ArrayList Class
- LinkedList Class
- Set and SortedSet
- Map Interface
Module 4 : Methods and Closures
- Groovy Methods
- Method Parameters
- Return Values
- Locals versus Globals
- What are Closures?
- Benefits of Closures
- Groovy Closures
- Closure Parameters
- Closure Variables
- Closures in Methods
- Closures and Collections
- Find and FindAll
- Any and Every
- Collect
Module 5 : File I/O
- IO Basics
- Java Stream Classes
- Stream Types
- Nested Streams
- Groovy IO
- Reading Files
- Writing Text
- Data Conversion Streams
- DataStreams Java
- DataStreams Groovy
- Copy and Delete
- Directory Methods
- Traversing File Trees
- Executing External Processes
Module 6 : Classes and Traits
- Groovy Classes
- Normal Class
- Duck Typing
- Property Support
- Inner Classes
- Inner Class Usage
- Anonymous Inner Class
- Abstract Classes
- Interfaces
- Constructors
- Fields
- Comparator
- Traits
- Meaning of this
Module 7 : XML and JSON Handling
- XML Processing Options
- DOM Tree
- SAX Callbacks
- XML Support in Groovy
- MarkupBuilder
- JSON Object Representation
- JSON Array Representation
- JSON with Array and Objects
- Groovy Json Classes
- Producing JSON from Map
- Produce JSON From Pogo
- JSON with JSONSlurper
Module 8 : Meta Programming
- Groovy is Dynamic
- Dynamic Methods
- Adding Properties
- Meta Object Protocol
- Invoker Operation
- invokeMethod
- GroovyObject interface
- Groovy Interceptable
- Metaclass
- Intercepting Methods
- Expando
- GPath