Sobes.tech
Junior

Co je Groovy?

sobes.tech AI

Odpověď od AI

Groovy je objektově orientovaný skriptovací jazyk pro platformu Java, který kombinuje možnosti dynamických a statických jazyků.

Klíčové vlastnosti Groovy:

  • Dynamické typování: Typy proměnných jsou určovány za běhu.
  • Statická kompilace: Možnost statické kompilace pro zvýšení výkonu.
  • Podpora DSL (Domain Specific Language): Užitečné nástroje pro tvorbu doménově specifických jazyků.
  • Integrace s Java: Plná kompatibilita s Java kódem a knihovnami.
  • Kompaktní syntax: Méně slovní než Java.
  • Možnosti pro funkcionální programování: Podpora uzávěrek a funkcí první třídy.

Groovy se často používá v:

  • Automatizace sestavení (například Gradle):
    // build.gradle
    plugins {
        id 'java'
    }
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
        testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
    }
    
    test {
        useJUnitPlatform()
    }
    
  • Skripty pro Jenkins (Pipeline as Code):
    // Jenkinsfile
    pipeline {
        agent any
        stages {
            stage('Build') {
                steps {
                    echo 'Stavba...'
                }
            }
            stage('Test') {
                steps {
                    echo 'Testování...'
                }
            }
        }
    }
    
  • Testování (například Spock):
    // MySpec.groovy
    import spock.lang.Specification
    
    class MySpec extends Specification {
    
        def "mělo by správně sčítat dvě čísla"() {
            setup:
            int a = 2
            int b = 3
    
            when:
            int sum = a + b
    
            then:
            sum == 5
        }
    }
    
  • Vývoj webových aplikací (například Grails):
    // SampleController.groovy
    package myapp
    
    class SampleController {
    
        def index() {
            render "Ahoj, Groovy!"
        }
    }
    
  • Obecné psaní skriptů: Užitečné pro automatizaci úkolů, práci se soubory atd.

Výhody používání Groovy v DevOps:

  • Zrychlení vývoje: Rychlejší cyklus vývoje skriptů.
  • Lepší čitelnost: Kompaktní a výstižná syntaxe.
  • Výkonné možnosti automatizace: Snadná integrace s existujícími nástroji.
  • Flexibilita: Vhodné pro různé úkoly automatizace.