Swift — Das umfassende Handbuch zu Swift 6 und SwiftUI

swift6

Umfang: ca. 650 Seiten
ISBN: 978-3-367-10734-6
Preis: Euro 49,90 (Buchausgabe in D inkl. MWSt.)
Erscheint ca. April/Mai 2025

 

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

Kurzbeschreibung

Dieses Buch gibt eine praxisorientierte Einführung in die App-Programmierung mit der Programmiersprache Swift 6 und den Bibliotheken SwiftUI und SwiftData.

Das Buch ist in fünf Teile gegliedert:

  • Teil I gibt eine Einführung, stellt Swift und Xcode vor und zeigt anhand eines längeren Beispiels in der Art eines Crashkurses, wie moderne App-Programmierung mit Swift 6 und SwiftUI funktioniert.

  • 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 (inkl. Computed Properties, Vererbung, Extensions usw.).

  • Teil III erklärt die Konzepte von SwiftUI. Dabei handelt es sich um eine grundlegend neue Bibliothek zur deklarativen Programmierung von App-Oberflächen. SwiftUI ist mittlerweile gut ausgereift und bietet eine Fülle von Vorteilen im Vergleich zum herkömmlichen UIKit.

  • Teil IV fasst wichtige Programmiertechniken in Bausteinform zusammen. In Kurzanleitungen zeige Ihnen unter anderem, wie Sie auf Dateien zugreifen, XML- und JSON-Dokumente auswerten, Webseiten anzeigen, die iCloud nutzen, asynchronen Code entwickeln und eigene Datenstrukturen mit SwiftData persistent speichern.

  • Teil V zeigt anhand konkreter Beispielprojekte die Praxis der App-Programmierung — und wie Sie Ihre Apps in den App Store bringen.

Zielgruppe/Voraussetzungen Das Buch ist für Einsteiger in die App-Programmierung konzipiert. Sie brauchen weder Vorkenntnisse in Swift noch in Xcode. 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

Für die vorliegende Neuauflage habe ich das Buch vollständig neu konzipiert. Es enthält eine knappe Zusammenfassung der Syntax von Swift 6, eine Einführung in SwiftUI sowie einen Überblick über wichtige Programmiertechniken (z.B. Umgang mit Dateien, asynchrone Programmierung, iCloud, SwiftData). Außerdem erläutert das Buch die Entwicklung mehrerer vollständiger Apps.

Im Unterschied zur vorigen Auflage habe ich mich von der Idee verabschiedet, Swift allumfassend abbilden zu wollen. Mir ist klar, dass KI-Tools, Videos und andere Online-Quellen die Nutzung von Coding-Büchern grundlegend ändern. Insofern erscheint es mir heute zweckmäßiger, mich auf die Grundlagen und auf wesentliche Konzepte zu beschränken. Bei den Details helfen Ihnen KI-Tools und Online-Referenzen besser und aktueller weiter als jedes Buch. Aber damit Sie diese Werkzeuge/Informationen sinnvoll nützen können, brauchen Sie zuerst ein Fundament. Genau das gebe ich Ihnen in diesem Buch.

Voraussichtliche Kapitelübersicht

Teil I: Einführung

  • Hello, World!
  • Learning by Doing: Die erste App
  • Tipps & Tricks: Swift-Syntax-Eigenheiten, Xcode

Teil II: Swift

  • Variablen, Optionals und Datentypen
  • Operatoren
  • Verzweigungen und Schleifen
  • Funktionen und Closures
  • Arrays, Sets, Dictionaries
  • Objektorientierte Programmierung I: Strukture, Klassen, Enumerationen, Eigenschaften, Methoden, Subscripts
  • Objektorientierte Programmierung II: Vererbung, Generics, Protokolle, Extensions, Protokollerweiterungen
  • Fehlerabsicherung
  • Interna: Speicherverwaltung, Attribute, Makros, KeyPath-Syntax

Teil III: SwiftUI

  • Views: grundlegenden Views, Gestures, Apps per Preview und auf echter Hardware testen
  • Binding, State, Observe, Code-Organisation, MVVM-Pattern
  • Listen und Tabellen
  • Navigation
  • Animation

Teil IV: Programmier- und Arbeitstechniken

  • Asynchrone Programmierung
  • Dateien, I/O, JSON, XML
  • Netzwerk, REST-API nutzen
  • SwiftData
  • iCloud

Teil V: Apps

  • Währungsumrechner
  • Schrittzähler
  • Wettervorschau
  • Familieneinkaufszettel
  • App Store

Leseprobe, Beispieldateien, Errata (bezieht sich auf die vorige Auflage »Swift 5«)

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)

12 Gedanken zu „Swift — Das umfassende Handbuch zu Swift 6 und SwiftUI“

  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.

      1. Vielen Dank für die schnelle Antwort, ich werde mich mal an den Verlag wenden, da die eBooks wirklich gut aussehen!

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

  3. Vielen Dank für das ausführliche Feedback. Ich habe jetzt nicht unmittelbar Zeit für eine Antwort, aber ich melde mich in den nächsten Tagen.

  4. Zu S. 497: Sie haben recht, der im Buch abgedruckte Code entspricht nicht dem Code der Beispieldatei. Da habe ich vermutlich nach der Aktualisierung des Codes übersehen, die Änderungen auch in den Text zu übernehmen. Die prepare-Methode in ViewController.swift sollte so aussehen:

    // wird ausgeführt, bevor der Info-Popup-Dialog angezeigt wird
      override func prepare(for segue: UIStoryboardSegue,
                            sender: Any?)
      {
        if let dest = segue.destination as? PopupViewController,
           let popPC = dest.popoverPresentationController,
           let btn = sender as? UIButton
        {
          // steuert die erlaubte Richtung des Pfeils
          // popPC.permittedArrowDirections = [.up, .left]
          popPC.permittedArrowDirections = [.up]
          popPC.sourceRect = btn.bounds
          popPC.delegate = self
        }
      }
    

    In solchen Fällen ist es oft am besten, Sie werfen einen Blick in die zum Buch gehörenden Beispielprojekte (Download-Link siehe https://kofler.info/buecher/swift/).

    S. 229: wenn min oder max weiterverarbeitet werden sollen, müssen sie ausgepackt werden bzw. muss eine if-let-Konstruktion gebildet werden. Aber zum Test der Funktion in einem Playground reicht es aus.

    S. 261: Zur Abwechslung kein Fehler von mir :-) self.length ruft den darunter erstellten Computed Property-Code auf, dieser kümmert sich einerseits um die Kontrolle (>0) und andererseits um den Zugriff auf den tatsächlichen Datenspeicher, also _length. Analog für width.

    S. 343: Sie haben recht, gemeint habe ich let result = try db.execute("SELECT ...")

    Nochmals vielen Dank für Ihr Feedback (gerne auch per Mail direkt an mich)! Das hilft, die nächste Auflage besser zu machen.

    1. Hallo Herr Kofler,

      vielen Dank für die schnelle Antwort und die Erläuterungen.
      Alles klar @ Mail!

      Viele Grüße,
      Patrick Klose

  5. … Die letzte Formulierung von Apples Language Guide, ohne explizit auf private und fileprivate einzugehen, ist natürlich nicht sehr eindeutig…

  6. Die aktuelle Auflage hat sich leider nicht besonders gut verkauft. Es ist aktuell unklar, ob/wann es eine Neuauflage geben wird.

Kommentare sind geschlossen.