Swift 5 — Das umfassende Handbuch

swift5

Umfang: 1328 Seiten in extrabreitem Format
ISBN: 978-3-8362-6638-3
Preis: Euro 49,90 (Buchausgabe in D inkl. MWSt.)
Erschienen: Ende April 2019

 oder  oder  EDV-BUCHVERSAND Delf Michel

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

Plädoyer für die E-Book-Ausgabe: Die PDF des eBooks habe ich selbst vorbereitet: Abbildungen in Farbe, Listings mit farbigem Syntax-Highlighting, alle Links/Querverweise/Indexeinträge anklickbar etc. Wenn Sie über einen guten Monitor verfügen, ist das E-Book aus meiner Sicht attraktiver als das gedruckte Buch! (Oder Sie entscheiden sich für das Bundle aus Buch und E-Book.) Auch auf einem iPad oder anderem Tablet lässt sich die PDF-Datei gut lesen, ich habe es selbst getestet.

Leseprobe, Beispieldateien, Errata

Die Leseprobe enthält drei Kapitel (»Operatoren«, »Hello iOS-World!« und »Breakout«) und umfasst mit Vorwort, Inhaltsverzeichnis und Stichwortverzeichnis rund 80 Seiten.

Leseprobe Buch (PDF/SW)    Leseprobe E-Book (PDF/Farbe)

Errata Swift 5

Die Beispieldateien sind wegen Ihrer Größe auf zwei ZIP-Archive verteilt. Das erste Archiv enthält alle Dateien mit Ausnahme der Server-Side-Swift-Projekte mit Vapor. Die befinden sich im zweiten Archiv:

Beispieldateien (ZIP, 100 MB)    Beispieldateien Vapor (ZIP, 380 MB)

Kurzbeschreibung

Dieses Buch gibt eine praxisorientierte Einführung in die App-Programmierung mit der Programmiersprache Swift 5.

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 zur objekt- und protokollorientierte Programmierung.

  • Teil II gibt 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, Tastaturereignisse auswerten oder wie Sie Apps mit mehreren Dialogen/Views organisieren.

  • Teil III fasst wichtige Programmiertechniken in Bausteinform zusammen. In Kurzanleitungen zeige Ihnen unter anderem, wie Sie auf Dateien zugreifen, XML- und JSON-Dokumente auswerten, Webseiten anzeigen, Steuerelemente mit eigener Grafik gestalten, Maus- und Touch-Ereignisse verarbeiten, Drag&Drop unterstützen, Listen und Tabellen in Apps darstellen, geografische Daten auswerten, wie Sie Audio-Dateien, Videos und Fotos abspielen, anzeigen bzw. aufnehmen, wie Sie Code asynchron ausführen wie Sie Spiele mit SpriteKit programmieren. Fortgeschrittene Themen sind iCloud- und Datenbank-Programmierung (Core Data, SQLite) sowie Server Side Swift (Vapor). Sobald Ihre App mit diesen Techniken zufriedenstellen funktioniert, lernen Sie, wie Sie sie tauglich für den App Store machen und dort einreichen. Der Großteil der in Teil III präsentierten Techniken funktioniert plattformübergreifend, also gleichermaßen in iOS-, tvOS- und macOS-Apps.

  • 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.

Zielgruppe/Voraussetzungen Das Buch ist für Einsteiger in die App-Programmierung konzipiert. Sie brauchen weder Vorkenntnisse in Swift noch in Xcode, Cocoa oder Uikit. Ich setze aber voraus, dass Ihnen Grundbegriffe des Programmierens bekannt sind. 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 objektorientierter Programmierung sind.

Neu in dieser Auflage

Neu in dieser Auflage sind naturgemäß alle wichtigen Swift-5-Features (siehe auch Neu in Swift 5 im Blog): Dazu zählen unter anderem die ABI-Stabilität, Raw-Zeichenketten, neue Methoden zum Erzeugen von Zufallszahlen, Optional Flatting und der Result-Datentyp. In einem neuen Abschnitt gehe ich auf die Datenbank-Programmierung ein (Core Data, SQLite). Komplett überarbeitet ist das Kapitel zu Server-side Swift (Vapor). In Teil IV gibt es als neue Beispiel-App ein Slider-Puzzlespiel.

Apps im App Store

Das Buch beschreibt die App-Programmierung anhand unzähliger kleiner und großer Beispielprogramme. Vier Beispielprogramme sind sogar kostenlos im App Store verfügbar.

Errata und Beispieldateien zur vorigen Auflage

Errata zur Swift-4-Auflage dieses Buchs

12 Gedanken zu „Swift 5 — Das umfassende Handbuch“

  1. Es kommt darauf an was Sie machen möchten. Aktuell geht Swift auf Linux in die Richtung, damit Server-side-Logik für iOS Apps zu machen — und das funktioniert in der Tat schon ziemlich gut. Die eigentliche App-Entwicklung erfolgt unter macOS, erst das Deployment auf Linux.

    In der Neuauflage meines Linux-Buchs stelle ich mit Vapor eines der drei aktuell gängigen Frameworks für derartige Server-Apps vor. (Die Alternativen wären Kitura und Perfect.)

    Als allgemeingültige Programmiersprache hat Swift für Linux aktuell aber wenig Relevanz.

  2. ich weiß, ich weiß … Ich habe mir schon mehrfach vorgenommen, mich in Core Data einzuarbeiten und ein ordentliches Kapitel dazu zu schreiben, aber bisher habe ich es ganz einfach nicht geschafft. Vielleicht in der nächsten Auflage, aber versprechen kann ich es nicht.

    Ich kann nur raten, nach core data swift zu suchen. Zumindest in englischer Sprache gibt es diverse Tuturials, Bücher etc. Sogar deutsche Literatur existiert.

    https://store.raywenderlich.com/products/core-data-by-tutorials

    https://www.ralfebert.de/ios/coredata/

  3. Ähnliches Problem hier: Habe die Printausgabe über Amazon gekauft und würde jetzt gerne das eBook kaufen. Scheint nicht möglich, ohne den vollen Preis zu zahlen :-(

    1. So ist es mir leider auch ergangen – ich kann das Buch zwar noch zurückschicken und das Bundle bestellen, aber irgendwie ist das auch keine tolle Option. Gibt es keine Möglichkeit mit Kaufnachweis des Buchs auf das Bundle zu upgraden?

      1. Ich bin hier die falsche Ansprechperson. Für diese Fragen ist der Verlag zuständig (service@rheinwerk-verlag.de).

        Ich versuche, auf meiner Website so eindeutig wie möglich auf die Kaufoptionen hinzuweisen — mehr liegt nicht in meinem Einfluss.

        Dass das E-Book-Handling derart kompliziert ist, hat mit den rechtlichen Rahmenbedingungen zu tun, die besch*** sind. Rheinwerk hatte in der Vergangenheit wesentlich kundenfreundlichere Angebote, die aus rechtlichen Gründen alle abgedreht werden mussten. Aktuell muss man froh sein, dass es überhaupt ein Bundle-Angebot gibt.

  4. Auf Seite 508 Ihres Swift 5 Buchs beschreiben Sie, wie der Lottozahlengenerator beim Schließen des Fensters automatisch beendet werden kann. Der von Ihnen vorgestellte Code hat jedoch den Nachteil, dass das Programm auch beim Minimieren des Fensters beendet wird.

    Besser ist es deshalb, statt Ihres Codes in der Klasse AppDelegate folgende Methode zu implementieren:
    func applicationShouldTerminateAfterLastWindowClosed(_: NSApplication) -> Bool {
    return true
    }

    Diese Methode funktioniert auch bei einem Programm mit mehreren Fenstern, da das Programm erst nach Schließen des letzten Fensters beendet wird.

    1. SwiftUI wurde erst nach der Veröffentlichung des Buchs vorgestellt und ist auch aktuell noch im Beta-Stadium. SwiftUI wird daher im Buch nicht behandelt. Ich plane, im Herbst einen Blog-Artikel dazu zu schreiben.

  5. Hallo Herr Kofler,

    ich lese gerade Ihr Swift 5 Buch und denke, dass ich einen Fehler gefunden habe. Auf Seite 70 steht:

    […] Das funktioniert auch bei komplexeren Ausdrücken:

    let (_,  a, (b, c)) = (1,2,("x", "y"))
    // entspricht var a=2; var b="x"; var c="y" [...]"
    
    Richtig wäre 
    // entspricht let a=2; let b="x"; let c="y"
    

    mit let statt var.

    Viele Grüße

Schreibe einen Kommentar zu Thomas Holte Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Wenn Sie hier einen Kommentar absenden, erklären Sie sich mit der folgenden Datenschutzerklärung einverstanden.