Kotlin

Erscheint: vorauss. Oktober 2020
Umfang: ca. 800 Seiten
ISBN: 978-3-8362-7277-3
Preis: Euro 49,90 (in D inkl. MWSt.)

oder EDV-BUCHVERSAND Delf Michel

E-Book-Ausgaben: Nur auf der Rheinwerk-Webseite können Sie wahlweise nur das E-Book (EUR 44,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 :-)

Kapitelübersicht (Änderungen vorbehalten, das Buch ist noch nicht fertig!)

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 inkl. Jetpack und Jetpack Compose
  • Apps mit mehreren Ansichten (Aktivitäten und Fragmente)
  • Programmiertechniken: Permissions, Grafik, Touch usw.
  • App: NYT-Bestsellerliste
  • App: Währungsumrecher
  • App: Schiebepuzzle

Teil IV: Kotlin auf dem Backend

  • Hello Server!
  • Ktor-Programmiertechniken (Routing, HTML/CSS-Dokumente erzeugen, REST-APIs realisieren etc.)
  • Beispiel: REST-API für ein Evaluations-System
  • App: Evaluations-App

Anhang: IntelliJ IDEA, Android Studio und Gradle