Abo
  • IT-Karriere:

Programmiersprache für Android: Kotlin ist auch nur eine Insel

Die recht junge Programmiersprache Kotlin gewinnt zunehmend mehr Liebhaber. Als Java-Alternative gestartet, folgt Kotlin nun als zweite offizielle Sprache für Android. Wir stellen die wichtigsten Eigenschaften der Sprache vor.

Artikel von Tim Schürmann/Linux Magazin veröffentlicht am
Kotlin ist ein Leuchtturmprojekt für die Android-Entwicklung.
Kotlin ist ein Leuchtturmprojekt für die Android-Entwicklung. (Bild: Jetbrains/Apache License 2.0)

Eigentlich ist die tschechische Firma Jetbrains für ihre Java-Entwicklungsumgebung Intellij bekannt. Da sich deren Entwickler im Laufe der Zeit jedoch zunehmend an den Eigenheiten von Java gestört haben, haben sie mit Kotlin kurzerhand ihre eigene Sprache erstellt. Der Name Kotlin leitet sich übrigens von einer Insel im Finnischen Meerbusen ab, nicht weit entfernt von St. Petersburg, wo Jetbrains eine Niederlassung unterhält. Obwohl die erste stabile Version 1.0 von Kotlin erst Anfang 2016 erschienen ist, kann Kotlin bereits einige prominente Nutzer vorweisen - darunter Pinterest, Gradle, Evernote und Uber. Google hat Kotlin Mitte Mai sogar zu einer offiziellen Sprache für Android O erhoben und den Support dafür in Android Studio umgesetzt, das auf Intellij basiert. Grund genug für eine kurze Einführung in die Details und Besonderheiten der Programmiersprache.

Kotlin läuft fast überall

Kotlin ist eine statisch typisierte, objektorientierte Programmiersprache. Wichtigster Punkt für die Android-Entwicklung ist wohl die Kompatibilität zu Java, womit sich bestehende Java-Bibliotheken und -Frameworks leicht weiternutzen lassen. Darüber hinaus eignet sich Kotlin laut dem Entwicklerteam explizit zum Schreiben von serverseitigen Anwendungen. Das in der Java-Entwicklung beliebte Spring-Framework beispielsweise unterstützt Kotlin mit speziellen APIs, Jetbrains wiederum arbeitet mit Ktor an einem eigenen Web-Framework für Kotlin.

Android und die Java Virtual Machine sind aber nicht die einzigen Zielplattformen. So existiert mit Kotlin/Native ein Backend für den LLVM-Compiler, der Kotlin-Quellcode in nativen Binärcode für verschiedene Betriebssysteme umwandelt. Alternativ konvertiert der Kotlin-Compiler den Quellcode in Javascript für die Ausführung im Browser. Über Funktionen aus der Standardbibliothek können Webentwickler bequem in Kotlin die DOM-Objekte einer Webseite manipulieren. Des Weiteren lassen sich bestehende Javascript-Bibliotheken einbinden, wie etwa JQuery oder React, was viele Freiheiten beim Aufbau eines Web-Stacks mit Kotlin bietet.

Die Entwicklungsumgebung Android Studio unterstützt Kotlin ab Version 3.0, Intellij IDEA seit Version 15. Ein Plugin für die IDE-Konkurrenz Eclipse bringt diesem die Syntax von Kotlin bei. Kleine Codeschnipsel können Entwickler in einer Testumgebung auf der Kotlin-Homepage ausprobieren. Puristen übersetzen ihren Quellcode mit dem offiziellen Kotlin-Compiler auf der Kommandozeile.

Hallo Welt!

Stellenmarkt
  1. Universität Hamburg, Hamburg
  2. Deutsche Forschungsgemeinschaft e. V., Bonn

In jedem Kotlin-Programm bildet die Funktion main den Einstiegspunkt, die Funktion println() gibt den ihr übergebenen Text aus. Das obligatorische Hallo-Welt-Beispiel sieht damit in Kotlin wie folgt aus:

  1. // Dies ist ein Kommentar
  2. fun main(args: Array <String>) {
  3. println("Hallo Welt!")
  4. }

Entwickler können die einzelnen Anweisungen mit einem Semikolon abschließen, müssen es aber nicht. Kotlin stellt eine Standardbibliothek mit zahlreichen nützlichen Funktionen bereit, von denen einige automatisch importiert werden. Dazu gehört beispielsweise auch println(). Weitere Funktionen holt man ähnlich wie in Java per import-Anweisungen hinzu.

Funktional und voll unter Kontrolle 
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7.  


Anzeige
Spiele-Angebote
  1. 74,99€
  2. (-90%) 5,99€
  3. (-80%) 6,99€

Proctrap 29. Okt 2017

immer diese Threadschändung

MiBx 18. Okt 2017

Das ist schon ganz gut so, dass Du zurück gewechselt bist, wenn Du Dich nicht wirklich...

Proctrap 17. Okt 2017

kwt

horotab 05. Okt 2017

Wer Methoden schreibt, die so lang sind, mach idR sowieso etwas falsch. Im Idealfall hat...

demonkoryu 04. Okt 2017

Closures sind nicht "hip" sondern eine nützliche Abstraktion, die in den letzten Jahren...


Folgen Sie uns
       


Ancestors - Fazit

Mehre Millionen Jahre in einem Spiel: Dieses mutige Ziel hat sich das Indiegame Ancestors - The Humankind Odyssee gesetzt.

Ancestors - Fazit Video aufrufen
Party like it's 1999: Die 510 letzten Tage von Sega
Party like it's 1999
Die 510 letzten Tage von Sega

Golem retro_ Am 9.9.1999 kam in den USA mit der Sega Dreamcast die letzte Spielkonsole der 90er Jahre auf den Markt. Es sollte auch die letzte Spielkonsole von Sega werden. Aber das wusste zu diesem Zeitpunkt noch niemand.
Von Martin Wolf


    5G-Antenne in Berlin ausprobiert: Zu schnell, um nützlich zu sein
    5G-Antenne in Berlin ausprobiert
    Zu schnell, um nützlich zu sein

    Neben einem unwirtlichen Parkplatz in Berlin-Adlershof befindet sich ein Knotenpunkt für den frühen 5G-Ausbau von Vodafone und Telekom. Wir sind hingefahren, um 5G selbst auszuprobieren, und kamen dabei ins Schwitzen.
    Von Achim Sawall und Martin Wolf

    1. Tausende neue Nutzer Vodafone schafft Zuschlag für 5G ab
    2. Vodafone Callya Digital Prepaid-Tarif mit 10 GByte Datenvolumen kostet 20 Euro
    3. Kabelnetz Vodafone bekommt Netzüberlastung nicht in den Griff

    Apple TV+: Apples Videostreamingdienst ist nicht konkurrenzfähig
    Apple TV+
    Apples Videostreamingdienst ist nicht konkurrenzfähig

    Bei so einem mickrigen Angebot hilft auch ein mickriger Preis nicht: Apples Streamingdienst hat der Konkurrenz von Netflix, Amazon und bald Disney nichts entgegenzusetzen - und das wird sich auf Jahre nicht ändern.
    Eine Analyse von Ingo Pakalski

    1. Apple TV+ Disney-Chef tritt aus Apple-Verwaltungsrat zurück
    2. Apple TV+ Apples Streamingangebot kostet 4,99 Euro im Monat
    3. Videostreaming Apple TV+ startet mit fünf Serien für 10 US-Dollar monatlich

      •  /