/Kurz_Groovy_GroovyScript

⭐ Materiály, Cvičné Súbory, Prezentácia ku kurzu Groovy (GroovyScript)

Primary LanguageGroovy

⭐ Materiály ku kurzu Groovy (GroovyScript)

Kurz Groovy je pre vás ideálnym štartom, ak sa chcete vyznať v objektovo orientovanom programovacom jazyku Groovy. Oboznámime vás so základmi jazyka Groovy, prejdeme si inštaláciu vývojových prostredí a dokumentáciou. Ukážeme si, ako využívať Groovy knižnicu a rôzne dátové typy. Ako absolvent kurzu Groovy zvládnete základy práce s Groovy, porozumiete jeho ekosystému a budete schopný vykonávať základné testovanie.

❓ Čo je Groovy (GroovyScript)

Groovy je objektovo orientovaný programovací jazyk pre platformu Java. Ide o alternatívu k programovaciemu jazyku Java. Možno naň pozerať ako na skriptovací jazyk pre javovskú platformu. Inšpiráciu čerpal z jazykov Python, Ruby, Perl a Smalltalk. Využíva výhody objektového programovania, ale zároveň poskytuje zjednodušenú "skriptovaciu" syntax, ktorá vie "zabaliť a rozbaliť" často opakované časti kódu. Jedným z jeho cieľov je redukovať "povinný" kód a zjednodušiť tak tvorbu webových, databázových či desktopových aplikácií. Kompilácia je vykonávaná priamo do bajtkódu, takže ho môžeme použiť všade tam, kde funguje Java.

🙋 Verzie Groovy

Najaktuálnešia/najnovšia verzia je 4.0.12. V praxi sú bežne aj verzie: 3.0 a 2.5.

11 06 2023 15_23_39-The Apache Groovy programming language - Download – Opera

TIP 1: Verziu Groovy zistíme v Groovy Console na Karte Help (Pomocník) > About (O Programe) a stavovom riadku (spodný riadok aplikácie) groovy-01

TIP 2: Verziu vieme zistiť aj Groovy Shelly a to rovno po spustení 11 06 2023 15_27_07-Groovy Shell

TIP 3: Verziu vieme zistiť aj CMD (Príkazovom riadku) to pomocou príkazov groovyc -v, groovyc --version (Groovy Complier) alebo groovy -v, groovy --version (Groovy Interpreter) 11 06 2023 15_29_10-Administrator_ C__Windows_System32_cmd exe

11 06 2023 15_29_50-Administrator_ C__Windows_System32_cmd exe

⚓ Odkazy na kurzy

Prezenčné Kurzy Groovy
Online Kurz Groovy

📁 Súbory a Materiály

Dostupné na GitHube alebo na kurze od lektora

📔 Inštalácia a SW pre programovanie a skriptovanie v Groovy

  1. Oracle Java SE JDK 17
  2. Oracle Java SE JDK 8
  3. Aapche Groovy Microsoft Windows Installer, Groovy Console
  4. Apache Groovy SDK
  5. Apache Netbeans 18
  6. Editor Microsoft Visual Studio Code
  7. Notepad++
  8. Písmo Fire_Code
  9. Groovy IDE
  10. Groovy Online

📔 Dokumentácia a Zdroje Groovy

  1. Stiahnutie Groovy
  2. GitHub Groovy
  3. Style Guide Apache Groovy
  4. Style Guide Jetbrains
  5. Groovy Seriál CZ
  6. Groovy Tutorial Javatpoint
  7. Groovy Tutorial Guru99
  8. Groovy Tutorial Tutorialspoint
  9. Groovy Style Guide

📈 YouTube video záznamy z kurzy a prednášok Playlist (Programovacie Jazyky)

YouTube kanál IT Academy

📎 Obsah Kurzu

I. Úvod do jazyka Groovy

Premenné Prostredia (Systémové Premenné - Environ)

  • Pridať GROOVY_HOME premennú na adresár, v ktorom je uložená distribúcia
  • Do PATH premennej pridať cestu do adresára GROOVY_HOME\bin
  • A nastaviť JAVA_HOME premennú na adresár, v ktorom je JDK.
GROOVY_HOME - C:\Program Files (x86)\Groovy\
Path - %GROOVY_HOME%bin
Java - C:\Program Files\Common Files\Oracle\Java\javapath;

Groovy Konzola (Groovysh)

# Ctrl + J - Object Browser vid :inspect alebo :n
groovy -v
groovy --version

Dostupné príkazy Groovysh

  :help      (:h ) Display this help message
  ?          (:? ) Alias to: :help
  :exit      (:x ) Exit the shell
  :quit      (:q ) Alias to: :exit
  import     (:i ) Import a class into the namespace
  :display   (:d ) Display the current buffer
  :clear     (:c ) Clear the buffer and reset the prompt counter
  :show      (:S ) Show variables, classes or imports
  :inspect   (:n ) Inspect a variable or the last result with the GUI object browser
  :purge     (:p ) Purge variables, classes, imports or preferences
  :edit      (:e ) Edit the current buffer
  :load      (:l ) Load a file or URL into the buffer
  .          (:. ) Alias to: :load
  :save      (:s ) Save the current buffer to a file
  :record    (:r ) Record the current session to a file
  :history   (:H ) Display, manage and recall edit-line history
  :alias     (:a ) Create an alias
  :set       (:= ) Set (or list) preferences
  :grab      (:g ) Add a dependency to the shell environment
  :register  (:rc) Register a new command with the shell
  :doc       (:D ) Open a browser window displaying the doc for the argument

For help on a specific command type:
    :help command

Ahoj, Svet! (Hello, World!)

// Groovy - 1 Riadok
// Toto je jednoriadkovy komentár
// Používateľský výstup na obrazovku, Výpis do Konzoly
println "Ahoj, Svet!"
groovy AhojSvet.groovy
// Java - 5-7 Riadkov spolu s balíčkom
public class Main {
    public static void main(String[] args) {
        System.out.println("It's as alive");
    }
}

Komentáre (Comments)

// Toto je jednoriadkovy komentár

/* Toto
je 
viacriadkový
komentár */

/** 
Tento skript služi na...
@author Miroslav Reiter
@version 1.0.0
@see RTFM.pdf
*/

/*Inline vnorený komentár*/

// Unixový komentár
#!/usr/bin/env groovy

// Pozor nepozná klasický komentár s # (hashom)

Triedy (Classes)

package sk.itacademy 
class Main {  
    static void main(args) {  
        print "Toto je priklad s triedou..."  
        print "Toto je dalsi text...\n"
        println "Toto je dalsi riadok..."
        println "Toto je posledny riadok..."
    }  
}  

Premenné a Dátové Type (Variables and Data Types)

println "string".class
println 1.class
println 1.1.class
println 1000000000.class
println false.class
println true.class
// java.lang.NullPointerException: Cannot get property 'class' on null object
// println null.class

Def sprava = "Ahoj, Svet!"
println sprava 

String sprava2 = "Ahoj, Svet!"
println sprava2

Kolekcie (Zoznamy a Mapy)

// Zoznam (List)
mena = ["Adam", "Karol", "Fero"]
// Mapa (Map)
zamestnanec = [meno: "Adam", priezvisko: "Šangala"]

Tabuľka operátorov a k nim korešpondujúce metódy

https://groovy-lang.org/operators.html
https://docs.groovy-lang.org/latest/html/documentation/core-operators.html

Operator Method Operator Method
+ a.plus(b) a[b] a.getAt(b)
- a.minus(b) a[b] = c a.putAt(b, c)
* a.multiply(b) a in b b.isCase(a)
/ a.div(b) << a.leftShift(b)
% a.mod(b) >> a.rightShift(b)
** a.power(b) >>> a.rightShiftUnsigned(b)
| a.or(b) ++ a.next()
& a.and(b) -- a.previous()
^ a.xor(b) +a a.positive()
as a.asType(b) -a a.negative()
a() a.call() ~a a.bitwiseNegate()

Aké sú obmedzenia/limity Groovy?

  • Beží na JVM, takže má v podstate rovnaké obmedzenia ako Java
  • Je o niečo pomalší ako mnohé iné objektovo orientované programovacie jazyky
  • Pomalší ako Java
  • Pri spúšťaní je trochu pomalý
  • Vyžaduje sa viac pamäte ako v iných jazykoch

https://groovy-lang.org/style-guide.html