Swift 5 -  Michael Kofler

Swift 5 (eBook)

Das umfassende Handbuch
eBook Download: EPUB
2019 | 4. Auflage
1328 Seiten
Rheinwerk Computing (Verlag)
978-3-8362-6640-6 (ISBN)
Systemvoraussetzungen
37,43 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

Michael Kofler präsentiert Ihnen auf 1300 Seiten alle Merkmale und Besonderheiten von Apples Programmiersprache. Zugleich erhalten Sie eine Einführung in die Syntax und in die objektorientierte Programmierung. Sie erfahren anhand vieler Beispiele, wie Sie Apps in iOS, macOS und tvOS entwickeln. Ideal für Umsteiger von Objective-C und Java, aber auch für Einsteiger mit Grundkenntnissen im Programmieren. Inklusive iCloud und Server-side Swift.

Aus dem Inhalt:

  • Klassen, Protokolle, Extensions
  • Closures, Umgang mit Fehlern
  • Crashkurs in Xcode
  • Storyboards erstellen
  • Internationalisierung
  • Actions, Outlets, Segues
  • Popovers, Focus Engine
  • Artwork für iOS, macOS und tvOS
  • Programmiertechniken
  • Tabellen und Listen
  • Grafik, Dateien, XML, JSON
  • Audio, Video, Fotots
  • Spritekit
  • Server-side Swift
  • ansprechende Beispiel-Apps: GPS-Schatzsuche, Pac-Man, Arkanoid



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 und arbeitet als Lehrbeauftragter.

Vorwort


Als Apple 2014 die neue Programmiersprache Swift vorstellte, fragten sich viele Entwickler: Brauchen wir wirklich eine neue Programmiersprache? Mittlerweile erübrigt sich die Frage. Swift ist der De-facto-Standard für neue Projekte im Apple-Universum. Objective-C ist damit nicht obsolet (vermutlich gibt es Milliarden Zeilen Code, der weiter gewartet werden muss), aber wer es sich aussuchen darf, wird neue Apps mit Swift entwickeln.

Warum Swift?

Swift ist für Apple ein Befreiungsschlag: Objective-C ist zwar noch immer das Fundament von macOS, iOS etc. – aber das ändert nichts daran, dass diese Sprache in den 1980er-Jahren entworfen wurde und in keinerlei Hinsicht mit modernen Programmiersprachen mithalten kann.

Swift ist dagegen ein sauberer Neuanfang. Bei der Vorstellung wurde Swift auch Objective-C without the C genannt. Natürlich ist Swift von Objective-C beeinflusst – schließlich muss Swift kompatibel mit den unzähligen Apple-Bibliotheken sein. Swift realisiert viele neue Ideen, greift aber auch Konzepte von C#, Haskell, Java, Python und anderen Programmiersprachen auf. Daraus ergeben sich mehrere Vorteile:

  • Swift zählt zu den modernsten Programmiersprachen, die es momentan gibt.

  • Code lässt sich in Swift syntaktisch eleganter formulieren als in Objective-C.

  • Der resultierende Code ist besser lesbar und wartbar.

  • Swift ist für Programmierer, die schon Erfahrung mit anderen modernen Sprachen gesammelt haben, wesentlich leichter zu erlernen als Objective-C. Vorhandenes Know-how lässt sich einfacher auf Swift als auf Objective-C übertragen.

  • Swift ist ein Open-Source-Produkt und steht auch für Linux zur Verfügung. Der Entwicklungsprozess erfolgt offen und transparent.

Neu in Swift 5

Swift 5 wurde von Apple als die Version postuliert, mit der Swift gleichsam »erwachsen« wird. Apple garantiert mit Swift 5 die ABI-Stabilität. Das Application Binary Interface (ABI) beschreibt die Schnittstelle zwischen Programmen bzw. Bibliotheken auf binärer Ebene, also zur Laufzeit. Im Unterschied dazu betrifft das Application Programming Interface (API) »nur« den Quellcode.

Das Erreichen der ABI-Stabilität bedeutet, dass sich ein mit Swift kompiliertes Programm darauf verlassen kann, dass das Zusammenspiel mit einer zu einem anderen Zeitpunkt und von einem anderen Entwickler kompilierten Bibliothek funktioniert — auch dann, wenn die App mit Swift 5.0 kompiliert ist, die (z.B. unter iOS vorinstallierte) Bibliothek aber bereits mit Swift 5.1.

Das Erreichen der ABI-Stabilität hat insofern große praktische Auswirkungen, als Swift-Bibliotheken nun direkt als Teil von iOS, macOS usw. ausgeliefert werden. In Swift entwickelte Apps können sich ab jetzt darauf verlassen, dass die Standardbibliotheken auf der Zielplattform zur Verfügung stehen. Es ist nicht mehr nötig, mit jeder App diverse Bibliotheken mitzuliefern. Das macht Kompilate kleiner – und natürlich auch die daraus resultierenden Apps.

Davon losgelöst bietet Swift 5 natürlich eine Menge Neuerungen im Vergleich zu Swift 4. (Die folgende Aufzählung berücksichtigt auch Features, die bereits in Swift 4.1 oder 4.2 eingeführt wurden.)

  • Zeichenketten: Swift unterstützt jetzt Raw-Zeichenketten, also Zeichenketten, die Sonderzeichen wie / enthalten.

  • Umgang mit Fehlern: Die Swift-Standardbibliothek enthält den neuen Datentyp Result, der dabei hilft, Ergebnisse einer Funktion oder Methode und eventuell aufgetretene Fehler gemeinsam zurückzugeben. Das ermöglicht einen einfacheren Umgang mit Fehlern, insbesondere in asynchronem Code.

    Eine praktische Verbesserung ist das Optional Flattening des Schlüsselworts try?: Es verhindert eine Verschachtelung von Optionals.

  • Aufzählungen: Die Swift-Standardbibliothek wurde um diverse Methode ergänzt, die die Verarbeitung von Arrays, Dictionaries und anderen Aufzählungen vereinfacht. Dazu zählen allSatisfy, compactMap, compactMapValues, count(where:) und removeAll.

  • Zufallszahlen: Swift 5 stellt endlich konsistente Methoden zum Erzeugen von Zufallszahlen zur Verfügung. Int.random(in: 1...10) liefert beispielsweise zufällige ganze Zahlen zwischen 1 und 10.

    Auch praktisch: randomElement liefert ein zufälliges Element eines Sets, eines Arrays bzw. ein zufälliges Zeichen aus einer Zeichenkette.

  • Equatable und Hashable: Selbst definierte Strukturen und Enumerationen erfüllen jetzt in den meisten Fällen automatisch die Protokolle Equatable und Hashable. Selbst wenn dieser Automatismus nicht greift (z.B. bei eigenen Klassen), ist die Implementierung der hash-Methode aufgrund der neuen Methode Hasher.combine einfacher denn je.

  • Dynamische Eigenschaften: Das neue Attribut @dynamicMemberLookup gibt Ihnen die Möglichkeit, Typen zu definieren, auf deren Daten Sie in der Form obj.name [= ...] zugreifen können, obwohl die Eigenschaft name gar nicht statisch definiert ist.

Was bietet dieses Buch?

Dieses Buch vermittelt einen kompakten Einstieg in die Programmiersprache Swift in der Version 5 (Xcode 10.2). Das Buch ist in vier Teile gegliedert:

  • Teil I führt in die Grundlagen von Swift ein. Hier lernen Sie alle wichtigen Sprachdetails kennen. Die Themenpalette reicht vom Umgang mit Variablen und elementaren Datentypen bis hin zur Syntax der objekt- und protokollorientierten Programmierung.

  • Teil II ist eine Einführung in die Entwicklung von Apps für iOS, macOS und tvOS. Hier erkläre ich Ihnen beispielsweise, wie der Storyboard-Editor funktioniert, wie Sie Ihre Oberfläche mit eigenem Swift-Code verbinden, eigene ViewController-Klassen entwickeln, Apps mit mehreren Dialogen/Views organisieren etc.

  • Teil III fasst wichtige Programmiertechniken in Bausteinform zusammen. In Kurzanleitungen zeige ich Ihnen unter anderem, wie Sie auf Dateien zugreifen, XML-Dokumente auswerten, Webseiten anzeigen, Steuerelemente mit eigener Grafik gestalten, Listen und Tabellen in Apps darstellen, geografische Daten auswerten und Spiele mit SpriteKit programmieren. Sie lernen, wie Sie Ihre App, sobald sie zufriedenstellend funktioniert, tauglich für den App Store machen und dort einreichen.

  • Teil IV zeigt anhand konkreter Beispielprojekte die Praxis der App-Programmierung. Die Apps decken eine ganze Palette von Themen ab: vom praktischen Währungsumrechner über den Icon-Resizer bis hin zu mehreren Spielen.

Neu in dieser Auflage sind nicht nur Swift-5-Features, sondern auch neue Beispiel-Apps sowie ein neues Kapitel zu Core Data und SQLite.

Materialien zum Buch

Selbstverständlich können Sie alle Beispieldateien und -projekte dieses Buchs herunterladen. Einen Download-Link finden Sie hier:

www.rheinwerk-verlag.de/4749

Um von diesem Buch maximal zu profitieren, benötigen Sie weder Vorkenntnisse in Xcode noch in der App-Entwicklung. Ich setze aber voraus, dass Sie bereits Erfahrungen mit einer beliebigen Programmiersprache gesammelt haben. Ich erkläre Ihnen in diesem Buch also, wie Sie in Swift mit Variablen umgehen, Schleifen programmieren und Klassen entwickeln, aber nicht, was Variablen sind, wozu Schleifen dienen und warum Klassen das Fundament der objektorientierten Programmierung sind. So kann ich Swift kompakt und ohne viel Overhead beschreiben und den Schwerpunkt auf die konkrete Anwendung legen.

Leseanleitung

1.300 Seiten – das kann schon abschrecken! Dazu besteht aber kein Grund. Ich habe mich beim Schreiben dieses Buchs bemüht, den Inhalt auf möglichst eigenständige Kapitel zu verteilen, aus denen Sie sich wie aus einem Baukasten bedienen können.

Wenn Swift für Sie vollständig neu ist, dann ist die Lektüre der ersten Kapitel aus Teil I natürlich unumgänglich. Besonders wichtig ist, dass Sie die Swift-spezifischen Eigenheiten beim Umgang mit elementaren Datentypen und Aufzählungen (Arrays, Dictionaries etc.) kennenlernen und das Konzept von Optionals verstehen. Interessanterweise hat sich herausgestellt, dass Sie für die Entwicklung erster Apps nicht unbedingt alle Feinheiten im Zusammenhang mit Vererbung, Protokollen etc. beherrschen müssen. Die Basics reichen zumeist.

Teil II richtet sich speziell an Programmierer, die erstmalig Apps für iOS, macOS oder tvOS entwickeln. Wenn Sie bisher...

Erscheint lt. Verlag 28.4.2019
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
ISBN-10 3-8362-6640-7 / 3836266407
ISBN-13 978-3-8362-6640-6 / 9783836266406
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Wasserzeichen)
Größe: 28,8 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­gerä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.

Mehr entdecken
aus dem Bereich
Das Handbuch für Webentwickler

von Philip Ackermann

eBook Download (2023)
Rheinwerk Computing (Verlag)
37,43
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
33,68