In dieser Schulung werden Sie in die Grundlagen der immer beliebter werdenden JVM-Sprache Groovy kennen und in vielen praktischen Übungen erste Erfahrungen mit der Programmiersprache sammeln.
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.
Agenda
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, inGroovy 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)
Teilnehmerkreis und Voraussetzungen
Grundlegende Programmierkenntnisse (vorzugsweise in Java) sind hilfreich.
Unsere Schulung richtet sich an Softwareentwickler:innen, die grundlegende Kenntnisse in der Programmiersprache Groovy erwerben wollen.
Mindestanzahl Teilnehmende: 2 Personen
In dieser Schulung werden Sie in die Grundlagen der immer beliebter werdenden JVM-Sprache Groovy kennen und in vielen praktischen Übungen erste Erfahrungen mit der Programmiersprache sammeln.
Nach der V...
Mehr Informationen