Tag Archives: kotlin

  • Ochutnávka Kotlin JS s create-react-kotlin-app

    Ještě před pár měsíci jsem byl názoru, že Node JS a celý jeho javascriptí ekosystém je svět sám pro sebe a že jakýkoliv pokus ho převzít ze strany jazyků, které vznikaly původně na JVMku, je jen marným počínáním. To by zřejmě byla pravda, pokud bych uvážil např. samostatný Kotlin JS vs. React, kde by React sám o sobě zvítězil na plné čáře. Avšak věci se pomalu začínají měnit od chvíle, kdy byly napsány Kotlin wrappery pro React, včetně „sesterského“ generátoru projektů založených na webpacku s názvem create-react-kotlin-app, které nám nyní umožní… hádejte co? 🙂

  • Parsování XML pomocí XPath v Kotlinu

    Tento článek má především sloužit jako pomůcka mému budoucímu já, až opět někdy za rok budu potřebovat parsovat XML, na které se bude XPath hodit, ať se příliš dlouho netrápím, jak že se to vlastně používá a jak na vnořené parsování již nalezených nodů.

  • Praktický test Coroutines v Kotlinu

    Kdo dění kolem Kotlinu alespoň trochu sleduje, určitě již narazil na pojem „coroutines“. Už jsem se na ně chystal nějakou dobu a nyní konečně nastal okamžik, kdy jsem si našel čas si je na vlastní kůži vyzkoušet a opět prozkoumat, jak moc jsou vlastně coroutines použitelné v praxi.

  • Krásy Kotlinu: Vícero null-checků jedním šmahem

    Tato podpora (pokud vím) přímo v Kotlinu zatím není, ale nedávno mě napadlo, že bychom si mohli definovat takovouto funkci:

        fun notNull(vararg args: Any?, action: () -> Unit) {
            when {
                args.filterNotNull().size == args.size -> action()
            }
        }
    

    což nám tuto funkcionalitu umožní. Je to bezpečné však jen pro lokální proměnne/konstanty a pak ještě pro konstantní property třídy. Pokud je však řeč o proměnných propertách ve třídě, zde již žádný warning, že mohou být za běhu např. jiným vláknem změněny, nedostaneme. Nicméně výše definovaná funkce se dá použít např. takto:

        val a = 1
        val b = "something"
        var c: Float? = 2f
    
        notNull(a, b, c) {
            println("Almost safe!")
        }
    
        c = null
    
        notNull(a, b, c) {
            println("Doesn't print ...")
        }
    
  • Kotlin vs. Python – srovnání na reálném projektu

    Jak jsem již psal dříve, rozhodl jsem se přepsat jeden náš společný projekt (ChatCzGate), který jsme psali s Imrijou v Pythonu, do Kotlinu. Rozhodl jsem se tak proto, abych jednak Kotlin prověřil trochu důsledněji než jen na jednoduché Spring Boot aplikaci, ale taky abych si ho i trochu lépe zažil. Konec konců, nejlépe se nový programovací jazyk naučíte právě tím, že si v něm rovnou něco netriviálního napíšete.

    Pro srovnáni jsem vybral tyto 2 soubory:

    Co se vám libí více? 🙂

    PS: Zdá se, že vše funguje, jak má a během celé implementace nenastal jediný NullPointerException 🙂 , takže za mě palec nahoru.

  • Krásy Kotlinu aneb střípky z přepisu IRC brány pro Chat.cz

    Abych Kotlin podrobil dostatečné zkoušce, nemohlo to samozřejmě zůstat jen u přepisu jednoduché Spring Boot aplikace. Rozhodl jsem se tedy, že dostatečným kandidátem by mohla být IRC brána ChatCzGate, kterou jsme s Imrijou napsali kdysi dávno v Pythonu. V tomto článku bych se chtěl podělit o pár postřehů, ale i nějaké to zamyšlení ohledně toho, co se v „Kotlinovském kruhu“ odehrává.

  • Programovací jazyk Kotlin a mé první dojmy

    Již před dávnými léty, kdy vypukl JVM-language boom, jsem se doslova musel smát, když jsem se (pocitově) každých 14 dnů dočetl o novém supr dupr programovacím jazyku pro JVM, který zřejmě má být ten nejlepší a říkal jsem si, proč doprčic potřebujeme něco dalšího, vždyť Scala již vyřešila všechny naše problémy, nebo ne? 🙂 Mou pozornost upoutalo nedávné prohlášení Googlu, který oznámil Kotlin jako oficiálně podporovaný jazyk pro Android a dále moc hezký článek Mika Hearna o tom, proč se právě Kotlin stal jeho dalším programovacím jazykem.