1. diel - Úvod do jazyka Kotlin, platformy a IntelliJ

Vitajte v prvej lekcii kurze programovanie v jazyku Kotlin. Postupne sa spolu prokousáme tými najzákladnejšími konzolovými programy až ku grafickým aplikáciám pre platformu Android. V dnešnom Kotlin tutoriálu si povieme niečo o histórii jazyka, nainštalujeme ho a naprogramujeme svoju prvú Kotlin aplikáciu!

História jazyka Kotlin

Kotlín by sa dal stručne predstaviť ako modernejší Java. V roku 2011 JetBrains, firma vyvíjajúce niekoľko veľmi populárnych IDE, oznámila nový programovací jazyk pre JVM, runtime prostredie Javy. Aplikácie v ňom vytvorené teda fungujú všade, kde je nainštalovaná populárny Java, čo je jeden z dôvodov, prečo má zmysel investovať do učenia sa Kotlinu svoj čas. Jeden z členov vývojárskeho tímu nového jazyka zdôvodnil svoj výtvor tým, že vtedajší náhrada za Javu, Scala, trpela pomalú kompilácií, teda pomalým prevodom Scaly do kódu pre Java prostredie, a mizernú podporou pre vývoj Android aplikácií. Hoci Kotlin má inú syntax, tak skompilovaný kód je plne kompatibilný s Javou, preto sa v jazyku Kotlin dajú aj používať Java knižnice. Od roku 2017 Kotlin je oficiálny jazyk pre vývoj pre Android a vsadilo na neho hneď niekoľko veľkých firiem vrátane Google. Pretože sa jedná o relatívne nový jazyk, tak si so sebou z minulosti nenesie najrôznejšie problémy a ponúka rad moderných prístupov.

Vlastnosti jazyka Kotlin

Programovací jazyk Kotlin - Základné konštrukcie jazyka Kotlin

Po stránke návrhu sa jedná o objektový, kompilovaný jazyk s typovou kontrolou. Pomerne blízko tak má k jazykom ako sú Swift, Scala a im podobným. Kotlín je od úplného začiatku, kedy firma JetBrains oznámila jeho vývoj, open source a preto aplikácie v ňom napísané idú spustiť takmer na všetkých operačných systémoch. Kotlín je spätne kompatibilný.

V Kotlinu si môžete napísať čokoľvek čo by ste napísali v jazyku Java. Chcete si napísať Android aplikáciu? Použijete Kotlin. Chcete si napísať okenné aplikáciu v JavaFX / Swing? Použijete Kotlin. Chcete si napísať grafickú hru? Použijete opäť Kotlin.

Kotlín možno použiť aj na tvorbu webových aplikácií. Existuje rad knižníc, ktoré podporujú Kotlin ako napríklad Spring, Vert.x a alebo oficiálne knižnica od JetBrains, ktory. Pre písanie frontende môžeme použiť Kotlinx.html.

Ako už býva zvykom u modernejších jazykov, ako napr. U Dart, Kotlin umožňuje svoje vlastné zdrojové kódy skompilovať do jazyka JavaScript. Či už z akéhokoľvek dôvodu potrebujete vyvíjať v JavaScripte, môžete písať v Kotlinu, ktorý sa vám potom do JavaScriptu skompiluje. Táto možnosť je v súčasnej dobe ešte experimentálne.

Inštalácia

Pretože Kotlin beží na JVM, je potrebné mať nainštalovaný Java SDK (Klikneme na Accept License Agreement a zvolíme verziu podľa nášho OS, najčastejšie asi "Windows x64"). Po inštalácii Java SDK stačí len nainštalovať IDE, IntelliJ. IntelliJ má dve verzie, Ultimate Edition a Community Edition. Ultimate edition je platená a ponúka viac možností pre vývojárov. Nám bohato postačí Community Edition, ktoré je zadarmo.

Stiahnutie IDE IntelliJ - Základné konštrukcie jazyka Kotlin

Potom, čo si stiahneme IntelliJ a spustíme inštalačný program, stačí len klikať na tlačidlo "Ďalší". Po inštalácii IntelliJ spustite. Malo by na nás vyskočiť nasledujúce okno ohľadom importovanie nastavení (napr. Klávesových skratiek) z iného IDE. Import môžeme zamietnuť.

Import nastavení do IntelliJ - Základné konštrukcie jazyka Kotlin

Klikneme na "Ok" a ďalej vyberieme vzhľad nášho IDE.

Výber vzhľadu IDE IntelliJ - Základné konštrukcie jazyka Kotlin

Vyberte si aký vzhľad vám vyhovuje a potom kliknite na "Next". S klikaním na "Next" pokračujeme kým sa nám nezobrazí nasledujúce okno:

IntelliJ Kotlin projekt - Základné konštrukcie jazyka Kotlin

Kliknutím na "Create New Project" založíme nový projekt. Malo by sa nám zobraziť nové okno, kde po ľavej strane uvidíme Kotlin. Vyberieme ho a klikneme na tlačidlo "Next".

Nový Kotlin projekt v IntelliJ IDE - Základné konštrukcie jazyka Kotlin

Ako meno projektu vyplníme HelloWorld a klikneme na "Finish".

Základné konštrukcie jazyka Kotlin

Ďalej je potrebné vytvoriť Kotlin súbor, kam budeme písať náš kód. Klikneme pravým tlačidlom myši na priečinok src/ po ľavej strane a zvolíme 'New' -> 'Kotlin File / Class'.

Vytvorenie nového Kotlin súboru - Základné konštrukcie jazyka Kotlin

V ďalšom kroku súboru priradíme názov Main.kt a potvrdíme "Ok".

Hello world

Je zarytým zvykom, že prvým programom v nejakom novom jazyku býva tzv. Hello world. Ide o program, ktorý akýmkoľvek spôsobom užívateľovi zobrazí hlášku "Hello world", prípadne nejaký podobný text.

Otvoríme náš Main.kt súbor a pripíšeme do neho nasledujúce kus kódu:

Klikni pre editáciu
  • fun main(args: Array<String>) {
        println("Hello, World!")
    }
    
    • Skontroluj, či výstupy programu zodpovedajú predlohe. S inými textami testy neprejdú.

    Kód definuje funkciu main(), to je hlavné funkcie, ktorá sa vždy spustí so štartom programu. Asi tušíte, že fun označuje funkciu. Časť s args a Array zatiaľ nemusíme riešiť, je tu pre prípad, keby sme chceli programu odovzdať nejaké argumenty z príkazového riadku. Dôležité sú zložené zátvorky { a }. Medzi ne (do funkcie main()), budete v základných lekciách písať vždy svoj kód.

    Kód v main() funkciu vypisuje známy pozdrav do špeciálneho okna, ktoré nájdete pod editorom. Práve sem budete neskôr tiež písať aj vstup z klávesnice, na ktorý budú programy z ďalších lekcií reagovať. println() je funkcia, ktorá vypíše text do konzoly. Funkcia môžu obsahovať nejaké vstupné parametre, ktoré sa zadávajú do zátvorky a sú oddelené čiarkou. V prípade funkcie println() je parametrom text k vypísanie. Texte budeme hovoriť textový reťazec alebo len reťazec (anglicky String) a budeme ho písať do úvodzoviek, aby tomu Kotlin rozumel a nezamieňal ho s inými príkazmi. Môžete si text skúsiť upraviť a vypísať tak nejakú svoju hlášku. Pre tvorbu iných programov samozrejme riadok s výpisom tohto textu odstránime. main() funkciu naopak pri všetkých svojich ďalších programov ponecháme.

    Svoj prvý program spustíme zeleným tlačidlom "Play" v hornej lište. V konzole nižšie sa objaví vypísaný text.

    Hello World v Kotlinu - Základné konštrukcie jazyka Kotlin

    Kotlín vs. Java

    Týmto dnes skončíme. Už ste sa skamarátili s IntelliJ a viete, ako ľahko spustiť Kotlin kód. Pre tých z vás, ktorí prechádzajú z Javy alebo majú hlbší povedomie o tom ako funguje, uvediem ešte rozdiely oproti Kotlin. Vy ostatní túto pasáž ignorujte, zbytočne by vás zmiatla a všetko si vysvetlíme počas kurzu.

    Kotlín oproti Jave neobsahujú

    Nasledujúce funkcionality jazyka Java sa časom ukázali ako problematické a preto je Kotlin neimplementovala:

    • checked Exceptions
    • Primitívne typy (ktoré nie sú triedy)
    • statika
    • Neprivátní atribúty
    • Wildcards u genericity
    • ternárne operátor

    Kotlín oproti Jave obsahuje navyše

    Nasledujúce funkcionality naopak autori Javy stále nepridali, sú to:

    • Jednoduchšie lambda výrazy a inline funkcie
    • extension funkcie
    • Null-safety (koniec NullPointerEx­ception :) )
    • smart Casts
    • reťazcové šablóny
    • Vlastnosti (Getter / setter čo sa implementujú samy)
    • primárne konstruktory
    • First-class delegation
    • Automatické odvodzovanie dátových typov
    • Singleton
    • Declaration-site variances a Type projections (generiká)
    • Range expressions (rozsahy)
    • preťažovanie operátorov
    • Companion objects
    • dátové triedy
    • Oddelená rozhranie pre read-only a mutable kolekcie
    • Coroutines

    Teraz je to už naozaj všetko. V budúcej lekcii, Premenné, typový systém a parsovanie v Kotlin , to bude zaujímavejšie. Naučíme sa pracovať s premennými a získavať vstup od užívateľa.


     

    Ako sa ti páči článok?
    Pred uložením hodnotenia, popíš prosím autorovi, čo je zleZnakov 0 z 50-500
    Všetky články v sekcii
    Základné konštrukcie jazyka Kotlin
    Preskočiť článok
    (neodporúčame)
    Premenné, typový systém a parsovanie v Kotlin
    Článok pre vás napísal Samuel Kodytek
    Avatar
    Užívateľské hodnotenie:
    9 hlasov
    Autor se věnuje všem jazykům okolo JVM. Rád pomáhá lidem, kteří se zajímají o programování. Věří, že všichni mají šanci se naučit programovat, jen je potřeba prorazit tu bariéru, který se říká lenost.
    Aktivity