W poprzednim wpisie wyjaśniałem, dlaczego uważam, że Kotlin to przyszłość programowania na Androida. Jeśli czytasz ten artykuł, istnieje szansa, że Cię przekonałem.
Chciałbyś dowiedzieć się, jak zacząć pracę z Kotlinem? Zapraszam do lektury dzisiejszego wpisu.
Hello, world! This is Kotlin
Jeśli jeszcze nigdy nie miałeś okazji pracować w Kotlinie, jednym z narzędzi, które pomoże Ci napisać pierwszą linijkę kodu będzie Kotlin Playground.
Jest to sandbox, w którym możecie przeglądać przykładowy kod i wypróbować pierwsze polecenia. Zobaczmy pokrótce, jak wygląda praca z tym narzędziem.
Wchodzimy na https://play.kotlinlang.org/. Naszym oczom ukazuje się bardzo podstawowe środowisko deweloperskie, w którym możemy wklepać kod:
Aby wypróbować działanie narzędzia i wykonać polecenie „Hello, world!!!”, nie zmieniamy nic, tylko klikamy przycisk [Play] w prawym górnym rogu okna. Wszystkie polecenia przetwarzane są w czasie rzeczywistym w JavaScripcie, bez dodatkowych kompilacji.
Teraz stwórzmy sobie zmienną name, jak na poniższym zrzucie ekranu. Zobaczymy, że środowisko od razu podsuwa nam podpowiedzi co do wpisywanych wartości i ostrzega o błędach w kodzie, wyjaśniając ich przyczynę.
Naprawiam błąd, podając wartość zmiennej, na przykład val name = ”Sylwester”, a dodatkowo w zwracanym tekście wykorzystam funkcjonalność sklejania stringów, do czego użyję symbolu dolara $.
W cudzysłowie po frazie Hello, world!!! wpisuję symbol dolara i precyzuję, że chciałbym dokleić do zwracanego stringa właśnie zmienną name.
W rezultacie u dołu ekranu wykonuje mi się kod Hello, world!!!Sylwester.
Kotlin Playground – kiedy stosować?
Chociaż Kotlin Playground warto znać, nie przywiązujcie się do niego zbytnio. Jak wskazuje sam URL strony (play.kotlinlang.org), to nie jest narzędzie do poważnych projektów, a raczej środowisko do zabawy, eksperymentowania i stawiania pierwszych kroków w Kotlinie.
Przyda się, kiedy będziecie chcieli bezpiecznie coś przetestować, wypróbować fragment kodu, stworzyć tablicę z wartościami, nie mając dostępu do właściwego IDE. W innym wypadku posłużycie się „prawdziwymi” Kotlinowymi narzędziami. Dzisiaj poznamy pierwsze z nich.
Uczymy się Kotlina – środowisko IntelliJ IDEA
Podstawowym narzędziem do pracy z Kotlinem jest środowisko IntelliJ IDEA. Występuje ono w dwóch dystrybucjach, płatnej Ultimate oraz darmowej Community. Na początek spokojnie wystarczy ta druga.
Aby zacząć pracę ze środowiskiem, wchodzimy na stronę https://www.jetbrains.com/idea/ i klikamy [Download]. Pobierze się paczka, którą należy rozpakować i zainstalować.
Po zainstalowaniu i odpaleniu programu wybieramy opcję Create New Project.
W oknie, które się otworzy, wybieramy Kotlin → Kotlin/JVM. Jak widzimy, do wyboru mamy także Kotlina JavaScriptowego, Kotlina generującego kod do aplikacji natywnych, itd.
W kolejnym kroku nadajemy projektowi nazwę, u nas będzie to hellokotlin, oraz wybieramy katalog, w którym znajduje się SDK.
Po zakończeniu konfiguracji otrzymujemy widok bardzo podobny do tego, który znamy z Android Studio. Widzimy w nim zestaw katalogów, min. src, w którym znajdują się źródła.
Zaczniemy właśnie od tego katalogu. Klikamy na niego za pomocą prawego przycisku myszy i wybieramy New → Kotlin File/Class. Następnie w oknie dialogowym wpisujemy nazwę katalogu i wciskamy [OK]. Utworzy się nowy katalog.
Zanim wykonamy polecenie „Hello, world” wewnątrz nowego katalogu, warto zwrócić uwagę na dwie kwestie związane z właściwościami Kotlina.
Kotlin vs. Java – podstawowe różnice
W Kotlinie operujemy plikami. Każdy plik odpowiedzialny jest za kawałek kodu, ale inaczej niż w Javie, w której istnieje silna zależność pomiędzy nazwą pliku a klasą, jaką on opisuje, tutaj możemy do pliku wrzucić dowolny kod.
Kotlin vs. Java – pakiety
Podobną swobodą charakteryzuje się zarządzanie pakietami. Wewnątrz domyślnego katalogu w katalogu src możemy stworzyć jakikolwiek plik, klasę lub funkcję i dowolnie określić ich pakiet, na przykład:
package pl.szkoleniaandroid.hellokotlin
Teraz niezależnie od tego, że plik, w którym stworzyliśmy nasz pakiet znajduje się w katalogu głównym src, klasa i funkcje, które utworzymy w tym pliku, będą traktowane jako kod znajdujący się w pakiecie pl.szkoleniaandroid.hellokotlin.
Pomimo tej dowolności, warto zachować konsekwentne nazewnictwo i strukturę, aby ułatwić sobie zarządzanie plikami.
Kotlin vs. Java – tworzenie obiektów
W Javie wygląda to tak: tworzymy klasę, wewnątrz której musimy stworzyć metodę main. W Kotlinie metoda ta może istnieć w dowolnym miejscu.
W naszym katalogu wpisujemy main i klikamy tabulator. System automatycznie rozpozna polecenie i utworzy funkcję:
Z lewej strony funkcji pojawi się zielona strzałka (1). Po jej naciśnięciu w górnej sekcji okna wyświetla się kod, który możemy uruchomić (2). Dokonujemy wyboru, a system skompiluje kod i wykona metodę (3).
Wyświetlanie kodu
W Kotlinie również wyświetlanie kodu nie sprawia żadnej trudności. Używamy do tego metody print.
Wyświetlimy zatem nasz string „Hello Kotlin” i dodamy do niego tekst. Wykorzystamy do tego celu formatowanie w postaci symbolu dolara i nawiasów $(). W nawiasy możemy ująć np. nazwę zmiennej lub fragment wyrażenia.
fun main() {
print("Hello Kotlin ${3 * 4}")
}
W tym wypadku system ma najpierw wykonać obliczenie 3*4, a następnie zamienić je na string i zwrócić wraz ze stringiem „Hello Kotlin”.
Hello Kotlin 12
Podglądamy kod w Kotlinie
Funkcjonalnością, która zdecydowanie nam się przyda przy pracy z Kotlinem jest możliwość podejrzenia, jak będzie wyglądał nasz kod zwracany w Javie. Można to zrobić zarówno w IntelliJ IDEA jak i w Android Studio.
W menu nawigacji wybieramy Tools → Kotlin → Show Kotlin Bytecode
Po wyborze polecenia, z prawej strony panelu wyświetli nam się kod bajtowy zawartości naszego katalogu.
Gdy klikniemy na [Decompile], w głównym oknie podejrzymy kod Javowy.
Widzimy tu na przykład, że na podstawie nazwy naszego Kotlinowego pliku HelloKotlin.kt w Javie została wygenerowana klasa HelloKotlinKt, do której wrzucono funkcję main.
Zauważmy też, że wywołanie public static void jest nadal generowane.
Dlaczego nie Android Studio?
Niektórzy z Was zapytają, czemu do nauki Kotlina rekomenduję IntelliJ IDEA, a nie Android Studio. Android Studio oczywiście ofiaruje wsparcie dla Kotlina, jednak kiedy dopiero zaczynamy pracę z tym językiem, najłatwiej moim zdaniem będzie nam go opanować w IntelliJ IDEA.
Możemy tam stworzyć projekt czysto Kotlinowy i uczyć się na jego przykładzie. Poza tym środowisko IntelliJ IDEA jest od Android Studio lżejsze i szybsze oraz pozwala na łatwe zarządzanie projektami. Doskonale nadaje się do stawiania pierwszych kroków z Kotlinem.
Hello i co dalej?
Kiedy już opanujecie podstawy Kotlina, zachęcam oczywiście do korzystania również z Android Studio. W dalszych artykułach pokażę Wam, jak to robić i ujawnię kilka kolejnych przydatnych sztuczek i narzędzi.
Jeśli macie jakieś pytania odnośnie dzisiejszej lekcji lub całego kursu Kotlina, zachęcam do kontaktu (szkolenia@szkoleniaandroid.pl). Do usłyszenia!