

Beschreibung
Alles, was Sie zur Kotlin-Programmierung wissen müssen!Kotlin ist das neue Schweizer Taschenmesser in der Softwareentwicklung. Ob mobile Apps oder Backend-Entwicklung, ob objektorientierte Paradigmen oder funktionale Programmierung mit Lambdas: Kotlin vereint ...Alles, was Sie zur Kotlin-Programmierung wissen müssen!Kotlin ist das neue Schweizer Taschenmesser in der Softwareentwicklung. Ob mobile Apps oder Backend-Entwicklung, ob objektorientierte Paradigmen oder funktionale Programmierung mit Lambdas: Kotlin vereint die Stärken zahlreicher beliebter Sprachen zu einem modern Werkzeug für alle Fälle. Auch Google ist von den Vorteilen von Kotlin: Seit 2019 ist Kotlin die bevorzugte Programmiersprache bei der Entwicklung von Android-Apps. Grund genug, sich mit diesem Handbuch umfassend in Kotlin und seine Funktionen einzuarbeiten.Michael Kofler gibt Ihnen auf über 800 Seiten einen tiefen Einblick in die Sprachfeatures mit zahlreichen Beispielen. Java-Umsteiger profitieren von einem Crash-Kurs in Kotlin, der ihnen die Unterschiede zwischen den beiden Sprachen kurz und prägnant erläutert. Kapitel für Kapitel lernen Sie auch die fortgeschrittenen Features von Kotlin kennen: Koroutinen, Frameworks wie z. B. Ktor für die Backend-Entwicklung, funktionale Programmierung und mehr. Zudem stehen Ihnen alle Projektbeispiele als Download zur Verfügung. So entwickeln Sie zeitgemäße, robuste Software!Inklusive Update-Service: Der Autor veröffentlicht in seinem Blog regelmäßig Artikel, die alle wichtigen Neuerungen rund um Kotlin seit Erscheinen des Buchs behandeln.Sprachgrundlagen, Syntax, ProgrammiertechnikenApp-Entwicklung und moderne Backend-ProgrammierungKoroutines, Ktor, Exposed, Jetpack und Jetpack Compose Aus dem Inhalt:Crashkurs für Java-UmsteigerIDEs: IntelliJ und Android StudioOperatoren, Datentypen, Variablen, Klassen, Methoden: Alle GrundlagenLambda-Ausdrücke und funktionale ProgrammierungObjektorientierte Programmierung inkl. Extensions, Delegation und GenericsAsynrchrone Programmierung und KoroutinenNetzwerkfunktionen, XML und JSONApp-Programmierung mit Jetpack und Jetpack ComposeBackend-Entwicklung mit Ktor und ExposedREST-APIs entwicklen und anwendenPakete, Module und Importe
Crashkurs für Java-Umsteiger inklusive
Autorentext
Michael Kofler hat Telematik an der TU Graz studiert und ist einer der erfolgreichsten deutschsprachigen IT-Fachbuchautoren. Zu seinen Themengebieten zählen neben Linux auch IT-Sicherheit, Python, Swift, Java und der Raspberry Pi. Er ist Entwickler, berät Firmen undarbeitet als Lehrbeauftragter.
Klappentext
Kotlin ist das neue Schweizer Taschenmesser in der Softwareentwicklung. Ob mobile Apps oder Geschäftslogik am Backend, ob objektorientierte Paradigmen oder funktionale Programmierung mit Lambdas: Kotlin vereint die Stärken zahlreicher beliebter Sprachen zu einem modern Werkzeug für alle Fälle. In diesem umfassenden Handbuch gibt Michael Kofler Ihnen dazu einen Einblick in alle Sprachfeatures und zeigt Ihnen, wie Sie zeitgemäß Software entwicklen.
Aus dem Inhalt:
Pakete, Module und Importe
Inhalt
Vorwort ... 13
TEIL I Kotlin ... 17
1.1 ... Über Kotlin ... 19
1.2 ... Installation ... 21
1.3 ... »Hello World!« mit und ohne IDE ausführen ... 24
2.1 ... Elementare Syntaxregeln ... 29
2.2 ... Konventionen ... 41
2.3 ... Von Java zu Kotlin ... 42
3.1 ... Übersicht ... 47
3.2 ... Anmerkungen ... 49
3.3 ... Priorität von Operatoren ... 59
4.1 ... Variablen ... 61
4.2 ... Unveränderliche Variablen ... 63
4.3 ... Konstanten und Enumerationen ... 64
4.4 ... Der Umgang mit »null« ... 65
5.1 ... Die wichtigsten Kotlin-Datentypen ... 69
5.2 ... Zahlen ... 72
5.3 ... Bereiche (Ranges) ... 74
5.4 ... Zufallszahlen ... 76
5.5 ... Boolesche Ausdrücke ... 77
6.1 ... Die Klasse »Char« ... 80
6.2 ... Die Klasse »String« ... 82
6.3 ... Mit Zeichenketten arbeiten ... 85
6.4 ... Beispiel: Passwortqualität testen ... 94
6.5 ... Die Klasse »StringBuilder« ... 97
7.1 ... Neue Java-Klassen (»java.time«) ... 100
7.2 ... Herkömmliche Java-Klassen (»Date« und »Calendar«) ... 107
7.3 ... Die »Duration and Time Measurement API« (kotlin.time) ... 113
8.1 ... Listen ... 118
8.2 ... Sets ... 132
8.3 ... Maps ... 135
8.4 ... Sequenzen ... 136
8.5 ... Arrays ... 140
9.1 ... Die »if«-Verzweigung ... 147
9.2 ... Die »when«-Verzweigung ... 150
9.3 ... Die »for«-Schleife ... 152
9.4 ... Die »while«-Schleife ... 154
9.5 ... Die »repeat«-Schleife ... 155
9.6 ... »break« und »continue« ... 156
9.7 ... Beispiele: Summen, Produkte, Duplikate und Co. ... 157
10.1 ... Funktionen definieren und aufrufen ... 164
10.2 ... Parameter ... 168
10.3 ... Rekursion ... 172
10.4 ... Lokale Funktionen ... 175
10.5 ... Die »main«-Funktion ... 176
10.6 ... Beispiel: Pfadsuche ... 177
11.1 ... Hello Lambda! ... 190
11.2 ... Lambda-Ausdrücke und Funktionen für Fortgeschrittene ... 192
11.3 ... Beispiel: Funktionen erzeugen und verarbeiten ... 197
11.4 ... »map«, »filter«, »reduce« und Co. ... 199
11.5 ... Beispiel: Textanalyse mit Lambda-Ausdrücken ... 211
11.6 ... Beispiel: Dosenpyramide in drei Farben ... 213
11.7 ... Objekte verarbeiten (»apply«, »let«, »with« etc.) ... 218
11.8 ... Inline-Funktionen ... 223
12.1 ... Klassen ... 227
12.2 ... Der Konstruktor ... 233
12.3 ... Eigenschaften ... 240
12.4 ... Eigenschaften später initialisieren ... 245
12.5 ... Zugriffssteuerung ... 249
12.6 ... Beispiel: Bankkonto ... 251
12.7 ... Objekte ohne Klassen ... 253
12.8 ... Beispiel: Quiz ... 261
12.9 ... Enumerationen ... 266
13.1 ... Vererbung ... 272
13.2 ... Vererbung (Konstruktoren, abstrakte Klassen, Polymorphie) ... 278
13.3 ... Die Klasse »Any« ... 284
13.4 ... Datenklassen ... 287
13.5 ... Beispiel: Schachfiguren ... 289
13.6 ... Schnittstellen ... 296
13.7 ... Beispiel: Geometrische Objekte mit Schnittstellen verarbeiten ... 303
13.8 ... Extensions ... 304
13.9 ... Receiver-Funktionen ... 309
13.10 ... Infix-Funktionen ... 312
13.11 ... Operator Overloading ... 313
13.12 ... Beispiel: Rechnen mit komplexen Zahlen ... 316
13.13 ... Delegation ... 317
14.1 ... Reflection ... 328
14.2 ... Generics ... 330
14.3 ... Generische Typen: Zusatzregeln und Sonderfälle ... 333
14.4 ... Annotationen ... 344
14.5 ... Type-safe Builder ... 348
**15…
