Kotlin

Erschienen: Oktober 2020
Umfang: 823 Seiten
ISBN: 978-3-8362-7277-3
Preis: Euro 49,90 (in D inkl. MWSt.)

E-Book-Ausgaben: Nur auf der Rheinwerk-Webseite können Sie wahlweise nur das E-Book (EUR 49,90) oder die Kombination aus Buch und E-Book bestellen (EUR 54,90).

Über Kotlin

Sie haben die Nase voll von Oracles chaotischem Java-Kurs? Sie wollen Code in einer modernen Syntax entwickeln, ohne die Kompatibilität zu etablierten Java-Frameworks zu verlieren? Sie möchten Ihr über Jahre oder Jahrzehnte gewachsenes Java-Projekt schrittweise von der Vergangenheit in die Zukunft führen?

Kotlin weist einen Weg aus der Java-Sackgasse. Die Programmiersprache zeichnet sich durch eine kompakte, konsistente Syntax mit vielen Features aus, auf die Java-Programmierer seit Jahren vergeblich warten:

  • nullable Datentypen (nie wieder NullPointerExceptions)
  • zeitgemäßer Umgang mit Collections (Arrays, Listen, Maps usw.)
  • Standardbibliotheken, die funktionale Programmierung fördern statt sie zu behindern
  • konsequente Unterstützung von Lambda-Ausdrücken wo immer es Sinn macht
  • Datenklassen, »richtige« Eigenschaften (Properties) statt Getter und Setter, Computed Properties, Property Delegation
  • Operator Overloading, Infix- und Receiver-Funktionen, Extensions, Delegation

Kotlin ist seit 2019 die von Google empfohlene Programmiersprache für Android Apps. Kotlin hat aber auch im Backend große Verbreitung gefunden. Wegen der wesentlich klareren und konsistenteren Syntax ziehen Schulen und Universitäten in Erwägung, auch im Unterricht von Java auf Kotlin umzusteigen.

https://kotlinlang.org

Über dieses Buch

»Kotlin — Das umfassende Handbuch« richtet sich an Entwickler bzw. Entwickerinnen, die bereits in Grundzügen programmieren können — egal in welcher Programmiersprache. Ich erkläre Ihnen also, wie Variablen, Funktionen oder Klassen in Kotlin funktionieren, nicht aber, wozu Sie Variablen brauchen und warum es zweckmäßig ist, Ihren Code objektorientiert zu entwickeln. Vorkenntnisse in Java schaden natürlich nicht, sind aber keinesfalls erforderlich. (Wenn Sie sich auf dem Weg zu Kotlin den Umweg über Java ersparen können: Umso besser!)

Das Buch ist in vier Teile gegliedert:

  • Teil I beschreibt die Syntax von Kotlin — von den Basics bis hin zu Spezialfeatures (z.B. Type-safe Builders).

  • Teil II zeigt grundlegende Programmiertechniken: z.B. asynchrone Programmierung mit Koroutinen, Input/Output inkl. JSON/XML-Verarbeitung und Serialisierung, Datenbankzugriff mit Exposed.

  • In Teil III lernen Sie, wie Sie mit Kotlin und Android Studio zeitgemäße Android-Apps entwicklen.

  • Teil IV gibt Anleitungen und Beispiele dafür, wie Sie Kotlin server-seitig (also im sogenannten »Backend«) einsetzen.

Alle Teile werden durch zahlreiche Beispiele in zunehmender Komplexität aufgelockert. Ich zeige Ihnen, wie Sie mit einer rekursiven Funktion aus einem Labyrinth herausfinden, wie Sie die Klassen für ein Quiz-Spiel konzipieren, einfache Android-Apps entwickeln oder ein Evaluations-System realisieren (Backend: REST-API samt Datenbankanbindung. Client: Weboberfläche oder Android-App).

Das Buch ist aktuell zu Kotlin 1.4, IntelliJ 2020 und Android Studio 4.n. Es berücksichtigt diverse moderne, kotlin-kompatible Bibliotheken und Frameworks, unter anderem: kotlinx.coroutines, kotlinx.serialization, exposed, Ktor, JetPack sowie JetPack Compose.

PS: Bitte entschuldigen Sie das erschreckend einfallslose Cover dieses Buchs — meine diesbezüglichen Einwände sind leider auf taube Ohren gestoßen. Ich verspreche Ihnen: Das Buch bietet mehr, als das triste Erscheinungsbild vermuten lässt :-)

Beispieldateien, Leseprobe und Errata

Vorwort + Inhaltsverz. (PDF)

Leseprobe (PDF)

Beispieldateien

Errata

Update-Service

In unregelmäßiger Reihenfolge erscheinen im Blog dieser Website Update-Artikel, die sich auf spezifische Details des Buchs beziehen. Einen Überblick über alle bisher erschienen Artikel finden Sie hier:

https://kofler.info/tag/kotlin-updates

Kapitelübersicht

Teil I: Kotlin

  • Hello World!
  • Crashkurs (speziell für Java-Entwickler)
  • Operatoren
  • Variablen
  • Datentypen
  • Zeichenketten
  • Datum und Uhrzeit
  • Listen, Sets, Maps & Co.
  • Bedingungen und Schleifen
  • Funktionen
  • Lambda-Ausdrücke, funktionale Programmierung
  • Klassen, Methoden, Eigenschaften
  • Vererbung, Schnittstellen, Extensions
  • Reflection, Generics, Annotations
  • Exceptions
  • Pakete, Module und Importe

TEIL II: Programmiertechniken

  • Dateien/IO, Downloads, Serialisierung, XML und JSON
  • Asynchrone Programmierung (Koroutinen)
  • Datenbankzugriff (exposed)
  • JavaFX/TornadoFX

TEIL III: Android Apps

  • Hello Android!
  • App: Celsius/Fahrenheit-Umrechner
  • Android Basics: Steuerelemente, Jetpack, Permissions, Preferences etc.
  • Apps mit mehreren Ansichten (Aktivitäten und Fragmente)
  • App: Währungsumrecher
  • Jetpack Compose

Teil IV: Kotlin auf dem Backend

  • Hello Server!
  • Ktor-Programmiertechniken (Routing, HTML/CSS-Dokumente erzeugen, REST-APIs realisieren etc.)
  • App: Evaluierungssystem (Backend mit Weboberfläche und REST-API)
  • App: Evaluierungssystem (Android-Client)

Anhang: IntelliJ IDEA, Android Studio und Gradle