Kotlin (eBook)
360 Seiten
MITP Verlags GmbH & Co. KG
978-3-95845-855-0 (ISBN)
- Fundierte Einführung mit zahlreichen Beispielen aus der Praxis
- Kotlin für Android- und Webanwendungen
- Mit vielen Tipps für Java-Umsteiger
Kotlin ist eine Programmiersprache, die sich in den letzten Jahren von einem reinen Java-Ersatz für Android zu einer vollwertigen Cross-Plattform-Sprache entwickelt hat.
Dieses Buch richtet sich an Entwickler, die Kotlin als neue Programmiersprache kennenlernen und in einer Java-Umgebung wie Android einsetzen wollen, oder die sich für Multiplattform-Techniken interessieren. Dabei konzentriert sich der Autor auf die Grundlagen der Sprache und erläutert umfassend ihre Strukturen, Befehle und Sprachfeatures.
Anhand zahlreicher Beispiele lernen Sie, wie Sie Kotlin in einer Produktivumgebung effektiv einsetzen können. Da Kotlin funktionale Programmierung ermöglicht und sich an diesem Konzept orientiert, erläutert der Autor außerdem, was Sie wissen müssen, um funktionalen und objektorientierten Stil zu kombinieren.
Darüber hinaus erhalten Sie einen Ausblick auf weiterführende Themen und Konzepte wie automatische Tests, die Organisation von größeren Projekten durch Architekturmuster und die Nebenläufigkeit mit Kotlin-Coroutines.
Auch die Anwendung von Kotlin für Android wird vorgestellt und gezeigt, wie die neue Sprache konkret hilft, moderne Architekturen umzusetzen.
Zum Abschluss geht der Autor auf die Entwicklung von Cross-Plattform- sowie JavaScript-Anwendungen mit Kotlin ein.
Mit diesem Buch erhalten Sie einen umfassenden Einstieg in Kotlin. Es enthält viele Informationen für Entwickler, die sich das erste Mal mit einer statisch typisierten Sprache beschäftigen und für diejenigen, die von der Android-Entwicklung mit Java kommen und auf Kotlin umsteigen und bisherigen Code ergänzen oder ersetzen wollen.
Karl Szwillus ist Diplom-Medienwirt und beruflich seit fast fünfzehn Jahren in verschiedenen Stationen im mobilen und browserbasierten Internet verortet. Kotlin kennt er aus seinem Arbeitsalltag bei Karlmax Berlin, einer auf mobile Anwendungen spezialisierten Agentur. Die Sprache kommt dort seit etwa vier Jahren in Projekten zum Einsatz.
Karl Szwillus ist Diplom-Medienwirt und beruflich seit fast fünfzehn Jahren in verschiedenen Stationen im mobilen und browserbasierten Internet verortet. Kotlin kennt er aus seinem Arbeitsalltag bei Karlmax Berlin, einer auf mobile Anwendungen spezialisierten Agentur. Die Sprache kommt dort seit etwa vier Jahren in Projekten zum Einsatz.
Einleitung
Fast jeder kennt das unangenehme Gefühl, einer wildfremden Person zuzuwinken, weil man kurz dachte, die freundliche Geste gälte einem selbst. Galt sie natürlich nicht, sondern der Person, die sich in direkter Linie hinter der eigenen Schulter im toten Winkel versteckte. Auf der Google I/O 2017 habe ich erlebt, wie sich ein ganz ähnliches Empfinden einstellt, wenn man eine halbe Stunde lang in eine Fernsehkamera blickt, die in etwas mehr als Armeslänge vor einem positioniert ist. Selbstverständlich wusste ich, dass es keinen Grund gab, mich in dieser Weise zu portraitieren. Doch nach fünf Minuten ... und weiteren zehn ... es konnte doch nicht?
Konnte es natürlich nicht. Es ging um einen 17-jährigen High-School Studenten, den der Lebensweg seiner Eltern als Einwanderer aus Afghanistan und die in Amerika erlebte Hilfsbereitschaft inspiriert hat, selbst etwas zurückzugeben. In der Reihe vor mir. Sein Projekt verbesserte ohne teure Hardware die Aussagefähigkeit von Mammographien mithilfe von künstlicher Intelligenz. Die von ihm programmierten Routinen erkennen Muster in den Bildern und können so auch ohne medizinisches Fachpersonal präzisere Vorabdiagnosen zur Verfügung stellen.[1]
Eine knappe halbe Stunde zuvor gab es eine Ankündigung, die mir diesen Tag auch ohne die bemerkenswert große Kamera im Gedächtnis gehalten hätte: Die Ankündigung von Stephanie Saad Cuthbertson (Director Product Management Android zu der Zeit), Kotlin zu einer vollständig unterstützten Programmiersprache für Android zu erklären und mit dem Entwickler JetBrains eine Gesellschaft zur Weiterentwicklung der Sprache zu gründen. Kotlin ist eine vergleichsweise junge Programmiersprache, deren erste stabile Version 2016 erschien. Seit 2011 wird sie von einem Team des Herstellers der Entwicklungsumgebung IntelliJ weiterentwickelt und gepflegt. Hier besteht auch die offensichtliche Verbindung zu Java und Android, denn auch die von Google primär unterstützte IDE (Integrated Development Environment oder Entwicklungsumgebung) Android Studio basiert auf IntelliJ.
Dadurch war auch gewährleistet, dass es in Bezug auf die Tools keiner großen Umgewöhnung bedurfte. Und so haben sicherlich einige Android-Entwickler nach dieser Ankündigung 2017 ihre ersten Schritte in Kotlin mithilfe der automatischen Konvertierungsfunktion gemacht und schnell eines erkannt: Die neue Sprache löst sofort Probleme im bestehenden Code ihrer Anwendung:
-
Der Code wird kürzer und übersichtlicher
-
Der Code wird sicherer
-
Es ist kein Problem, Kotlin und Java miteinander in einem Projekt einzusetzen
-
Keine Semikolons(!)
Oder, um es mit den Worten von Google und Jetbrains zu sagen: Wichtige Merkmale von Kotlin sind: Es ist effektiv durch präzise Schreibweisen (concise), sicher (safe) und gut mit verschiedenen Umgebungen zu integrieren (interoperable).
Wie das in der Praxis aussieht und warum ich schon nach den ersten Arbeitstagen mit Kotlin kein Java mehr sehen mochte, versuche ich in diesem Buch zu erklären.
Ausrichtung des Buchs
Dieses Buch soll Entwicklern einen Einstieg in die Programmiersprache Kotlin ermöglichen. Es konzentriert sich auf die Grundlagen der Sprache und ihre Strukturen, Befehle und Sprachfeatures. Zusätzlich zur Erläuterung der ursprünglichen Aufgabe als ein verbesserter Java-Ersatz wird das aktuelle Haupteinsatzfeld Android behandelt und wie Kotlin die Android-Entwicklung verbessern – oder neutral: verändern – kann. Dabei werden aber Kenntnisse von Android vorausgesetzt, um den Fokus auf die Sprache Kotlin beizubehalten.
Das vorliegende Buch möchte dazu motivieren, vor einem Volleinstieg in Kotlin die Konvertierung Schritt für Schritt zu probieren. Das Stichwort lautet Interoperabilität. Auch in einem großen Java-Spring-Projekt können einzelne Features oder Klassen in Kotlin geschrieben oder in der Webanwendung einzelne Controller oder Datenklassen ergänzt werden. Bei den Beispielen benutze ich wenig Framework-Code und fokussiere mich auf die Umsetzung der Logik in Kotlin. Wenn, dann wird vor allem Android verwendet.
Generell ist es aber gut möglich, auch sein favorisiertes JavaScript- oder TypeScript-Framework weiterzunutzen. Je elaborierter die Build- und Deployment-Prozesse jedoch sind, desto weniger kann ich als App-Entwickler Details der Umsetzung beleuchten.
Darüber hinaus wagt das Kapitel 11 einen Ausflug in die Welt der Cross-Plattform-Entwicklung. Das ist wichtig für alle, deren Code in Zukunft aus einer Kotlin-Codebasis nicht nur auf Android-Smartphones oder im Browser laufen soll.
Zielgruppe
Dieses Buch ist für alle geschrieben, die sich für die Entwicklung mit Kotlin interessieren und die bereits grundsätzliche Kenntnisse in der Softwareentwicklung haben.
Dazu gehört zum Beispiel, dass Sie grundlegende Quelltext-Elemente wie Variablen, Konstanten, Kontrollstrukturen und Funktionen kennen und Ihnen Begriffe aus der objektorientierten Entwicklung wie Klasse, Objekt und Instanz geläufig sind. Programmierparadigmen und Muster der Softwareentwicklung werden ebenfalls nicht ausführlich erklärt, sondern vor allem dort erwähnt, wo es zum Verständnis der Unterschiede zwischen Kotlin und seinen Alternativen dient. Einblicke in die Programmiersprache Java helfen, sind aber nicht zwingend erforderlich.
Die meisten Entwickler sammeln ihre ersten Programmiererfahrungen in Kotlin nicht als Einsteiger in die Softwareentwicklung. Sie gehen mit Erwartungen aus bekannten Sprachen oder sogar mit existierendem Code an die Arbeit.
Mit Kotlin lässt sich in dieser Situation besonders gut arbeiten, denn es erfordert für viele Entwickler (Java, Android) keinen Umstieg auf eine andere Entwicklungsumgebung und verträgt sich mit bestehenden Infrastrukturen. Durch die hohe Flexibilität im Bereich der Interoperabilität ist es eine gute Strategie, in bestehendem Code einfach einmal einen konkreten Anwendungsfall zu ergänzen oder einzelne Klassen zu ersetzen. Damit können Entwicklungsteams eine informierte Entscheidung treffen, ohne zwangsläufig vor einem kompletten Neuanfang zu stehen.
Aufbau des Buchs
Der Aufbau dieses Buchs folgt meinen Erfahrungen als Hands-On-Entwickler und Geschäftsführer einer Agentur, in der Softwareentwickler verschiedener Erfahrungsstufen arbeiten.
In unserem Team haben alle Kotlin auf der Basis von Android kennengelernt. Sie waren und sind erfahrene Java-Entwickler und Experten in der Umsetzung von Apps. Wichtige Muster aus der App-Entwicklung und auch die Best Practices in Android waren also von vorneherein bekannt. Folgerichtig handelte es sich bei den ersten Experimenten denn auch eher um Java ohne Semikolons. Auf Basis einer fundierten Kenntnis der APIs und Tools für die Android-Entwicklung hat sich erst im Verlauf der Projekte ein tieferes Verständnis für die weitergehenden Möglichkeiten von Kotlin entwickelt. Das scheint mir typisch für eine Sprache, die entwickelt wurde, um den Unzulänglichkeiten einer existierenden Vorgängerin zu begegnen. Ich werde deshalb auf den folgenden Seiten ähnlich vorgehen.
In Kapitel 1 gebe ich zunächst einen Überblick über die Eigenschaften und Vorteile von Kotlin, seine Konzepten und die positiven Effekte auf die eigene Codebasis.
In Kapitel 2 erläutere ich kurz die zur Verfügung stehenden Tools, die ich für die ersten Schritte empfehle.
Kapitel 3 enthält kommentierte Beispiele, um zunächst ein Gefühl für die Sprache zu geben und ihre Möglichkeiten zu erkunden. Für diejenigen Leser, die bereits Vorkenntnisse in Android oder zum Beispiel Java haben, wird dieser Einstieg vielleicht für die ersten eigenen Versuche ausreichen. Einsteiger können dieses Kapitel auch erst mal überspringen. In den darauffolgenden Kapiteln folgt die systematische Betrachtung der einzelnen Sprachelemente.
Kapitel 4 stellt die grundlegende Syntax von Kotlin in den Mittelpunkt, und konzentriert sich auf die Grundstrukturen von Programmen und die Datentypen.
Tipp: Schnelleinstieg mit Kotlin KOANS
Wer direkt sehen möchte, wie Kotlin funktioniert, dem sei schon an dieser Stelle https://kotlinlang.org empfohlen. Unter dem Menüpunkt Learn finden sich dort die sogenannten Kotlin Koans – kleine Übungen, die direkt im Browser kompiliert und getestet werden. Darüber hinaus zeigen sie auch, wie man von Anfang an mit Tests sinnvolle Validierungen der eigenen Überlegungen durchführen kann. Insofern ein Must-Read (and try) für den angehenden Kotlin-Entwickler.
Auch die Beispiele aus dem Buch können aus dem GitHub-Repository dorthin kopiert, ausprobiert und variiert werden.
In Kapitel 5 werden die Kontrollstrukturen vorgestellt. Es geht also um Verzweigen und Wiederholen – und weitere daran angelehnte Sprachfeatures.
Das Kapitel 6 widmet sich den Funktionen und ihren verschiedenen Sonderformen. Ich werde dort eine längere Zeit mit höheren Funktionen und Lambdas verbringen, aber auch die Grundlagen von Funktionen ausführlich erklären.
Darauf folgt in Kapitel 7 ein ausführlicher Block zu den objektorientierten Anteilen von Kotlin. Hier geht es um alle Besonderheiten von Klassen, Objekten und Funktionen im Zusammenspiel. Dafür wird neben einzelnen Code-Schnipseln ein erstes Projekt vorgestellt.
Dieses Projekt beinhaltet eine...
Erscheint lt. Verlag | 21.11.2019 |
---|---|
Reihe/Serie | mitp Professional |
Verlagsort | Frechen |
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Schlagworte | Android • App-Programmierung • Apps • Java • Mobil • Programmierung • Softwareentwicklung |
ISBN-10 | 3-95845-855-6 / 3958458556 |
ISBN-13 | 978-3-95845-855-0 / 9783958458550 |
Haben Sie eine Frage zum Produkt? |
Größe: 5,3 MB
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich