Schulung: Groovy Grundlagenkurs
So schreiben Sie Code: wartbar, lesbar und verständlich
- Konzepte der Sprache Groovy
- Grundlegende Sprachkonstrukte
- Interaktion mit Java
In dieser Schulung lernen Sie die Grundlagen der JVM-Sprache Groovy kennen und sammeln in vielen praktischen Übungen erste Erfahrungen mit der Programmiersprache.
Nach der Vorstellung der grundlegenden Konzepte führen wir Sie in die Syntax der Sprache ein. Weitere Schwerpunkte sind Closures in Groovy, Testen mit Groovy (u.a. JUnit-Integration) und die Interaktion mit Java. Abschießend lernen Sie, wie Sie dynamische Programmierung in Groovy umsetzen können.
Basics
- Groovy als JVM-Sprache
- Open-Source-Projekte, die auf Groovy setzen
- Typische Anwendungsgebiete von Groovy
- Groovy ist „dynamically strongly typed“ – Typisierung moderner Programmiersprachen
- Erste Schritte mit der Groovy-REPL: groovysh
- Groovy in der IDE: IntelliJ & VS Code
- Groovy-Projekte mit Maven
- Groovy-Projekte mit Gradle
- Idiomatisches Groovy: Style Guide
- CodeNarc: Statische Code-Analyse
Grundlegende Sprachkonstrukte
- Identifiers: Variablen deklarieren, dynamische & statische Typen
- Quoted Identifiers: Variablen- und Methodennamen mit String-Literalen
- Alles ist ein Objekt: Primitiv-Typen und objektwertige Typen in Groovy
- Booleans und Zahlentypen
- Characters, Strings/GStrings & Regular Expressions
- String-Interpolation und GStrings
- Collections in Groovy
- List-, Map- und Range-Literale
- Grundlegende Kontrollstrukturen: if/else, Elvis-Operator, switch, in
Groovy und die Wahrheit: Auswertung boolescher Ausdrücke - Schleifen: while & for
- Abbruch: return/break/continue
- Exceptions und try/catch
- Annotations allgemein und Groovy-Besonderheiten
Objektorientierte Programmierung
- Klassen, Felder & lokale Variablen
- Funktionen, Methoden, Parameter & Parameter-Defaults
- Klammern oder nicht? Syntaktischer Zucker bei Methodenaufrufen
- Safe-Access-Operator ?.
- Spread-Operator: List- & Map-Deconstruction
- Operatoren für eigene Klassen implementieren
- Konstruktoren
- Organisation von Groovy-Code: Dateien und Packages
- Vererbung
- Interfaces
- Multimethoden
- Traits
- Groovy-Beans
Closures
- Lambda-Ausdrücke mit Groovy: Closures
- Closure Scope
- Rückgabewerte bei Closures
- Higher-Order Functions: Funktionale Programmierung mit Groovy
- Closure-Killer-Feature: Verarbeitung von Collections
- Patterns mit Closures: Visitor & Builder
GDK-Features
- Erzeugen von XML/JSON mit MarkupBuilder/StreamingMarkupBuilder und JsonBuilder
- Parsen von XML/JSON mit XmlParser/XmlSlurper und JsonSlurper
- File-IO mit Groovy
- HTTP mit Groovy
Testen mit Groovy
- JUnit-Integration
- Power Assert, Mocking & Stubbing
- Code Coverage mit Cobertura
- Testen mit Spock: Tests als ausführbare Dokumentation
Interaktion mit Java
- Joint Compilation: Groovy und Java in einem Projekt
- Java-Code aus Groovy aufrufen
- Java- und JVM-basierte Bibliotheken in Groovy nutzen
- Groovy-Code aus Java aufrufen
Optionale Statische Typisierung
- Motivation zur Verwendung statischer Typen
- @TypeChecked
- @CompileStatic
Compile-time Meta-Programmierung und AST-Transformationen
- Code-generierende Annotations
- Annotations für Klassendesign und Design Patterns
- Annotations für Logging
Dynamic Programming
- Metaprogrammierung mit Groovy
- Das Meta Object Protocol (MOP)
- Hook-Methoden: methodMissing, propertyMissing
- Verhalten ändern und erweitern mittels MetaClass
- Categories und Mixins
- Einführung in Domain Specific Languages (DSL)
Grundlegende Programmierkenntnisse (vorzugsweise in Java) sind hilfreich.
Unsere Schulung richtet sich an Softwareentwicklelnde, die grundlegende Kenntnisse in der Programmiersprache Groovy erwerben wollen.
Mindestanzahl Teilnehmende: 2 Personen