Header image Dekoration
Schulungen Das aktuelle Trainingsprogramm
Icon: Programmiersprache Swift
Programmiersprache Swift
Swift für Programmierer (2 Tage)

Ziel:

In diesem Training lernen Sie Softwareentwicklung mit der Programmiersprache Swift. Im Vergleich zum Kurs "Kurzeinführung in Swift" geht dieses Training in die Tiefe der Sprache und vermittelt ein umfassendes Wissen, um unmittelbar den Einstieg in Swift zu vollziehen. Sie lernen die Regeln, Konventionen und Design Patterns der Sprache kennen.

Zielgruppe:

Der Kurs richtet sich an Softwareentwickler, die Anwendungen für OS X und iOS erstellen möchten

Einstufung:

Fortgeschrittene

Voraussetzung:

Kenntnisse in objektorientierter Programmierung

Inhalt:

  • Swift Playground
    • Xcode Entwicklungsumgebung
    • Einführung in die Xcode Entwicklungsumgebung, REPL
    • Variablen, Funktionen, Typinferenz
    • Strukturen, Enums, Tupel, Optionals, Closures
    • Kontrollstrukturen
  • Objekte und Klassen
    • Objekte, Klassen, Attribute, Properties und Methoden, Vererbung
    • Protokolle, Extensions
    • Generics
    • Operator-Überladung, eigene Operatoren
    • Speicherverwaltung
    • Fehlerbehandlung
Kurzeinführung in Swift (1 Tag)

Ziel:

In diesem Training lernen Sie, Anwendungen in der neuen Programmiersprache Swift zu schreiben. Sie lernen Konventionen und Design Patterns von Sprache und Framework kennen. Durch Vermittlung der Unterschiede zu anderen Programmiersprachen - speziell auch zu Objective‑C - können Sie Sprachfeatures richtig einschätzen und nutzen. Dieser Kurs ist Grundlage für den Kurs "iPhone/iPad Programmieren in Swift mit dem iOS SDK"

Zielgruppe:

Der Kurs richtet sich an Softwareentwickler, die Anwendungen für OS X und iOS erstellen möchten

Einstufung:

Einsteiger

Voraussetzung:

Kenntnisse in objektorientierter Programmierung (z.B. Smalltalk, C++, Java, C#, Objective‑C)

Inhalt:

  • Swift Playground
    • Xcode Entwicklungsumgebung
    • Einführung in die Xcode Entwicklungsumgebung, REPL
    • Variablen, Funktionen, Typinferenz
    • Strukturen, Enums, Tupel, Optionals, Closures
    • Kontrollstrukturen
  • Objekte und Klassen
    • Objekte, Klassen, Attribute, Properties und Methoden, Vererbung
    • Protokolle, Extensions
    • Generics
    • Operator-Überladung
    • Speicherverwaltung
Icon: iOS-Programmierung
iOS-Entwicklung
Schnupperkurs - iPhone/iPad für Einsteiger (1 Tag)

Ziel:

In diesem Seminar lernen Sie die Konzepte und Zusammenhänge des iOS SDK kennen. Sie erhalten einen Überblick über die unterschiedlichen Entwicklerprogramme, die Programmier-Umgebung und die Deployment-Szenarien

Zielgruppe:

Der Kurs richtet sich an Softwareentwickler und Entscheider, die einen kurzen Überblick über die Entwicklung von iPhone/iPad-Programmen erhalten möchten

Einstufung:

Einsteiger

Voraussetzung:

Allgemeine Programmierkenntnisse

Inhalt:

  • Das iOS-Entwicklerprogramm
  • Die Entwicklungsumgebung
  • Ein erstes Programm
  • Verteilung von iOS-Apps
iPhone/iPad App-Programmierung (3-4 Tage)

Ziel:

In diesem Seminar lernen Sie die Konzepte und Zusammenhänge des iOS SDK kennen. Sie verwenden die Klassen des UIKit-Frameworks und passen sie an Ihre Anforderungen an. Praxisorientierte Beispiele und "Best Practices" vermitteln das nötige Handwerkszeug, um eigenständig Programme für iOS zu entwickeln.

Zielgruppe:

Der Kurs richtet sich an Softwareentwickler, die Anwendungen für iOS erstellen möchten

Einstufung:

Einsteiger

Voraussetzung:

Besuch des Kurses "Einführung in Swift" oder gleichwertige Kenntnisse

Inhalt:

  • Übersicht: Entwicklung von iOS Apps mit UIKit/SwiftUI in Xcode
    • Editieren und Debugging
    • Interface Design
    • Lebenszyklus einer Anwendung
    • Programmarchitektur (Model-View-Controller)
    • Actions und Targets, Outlets
  • Einfache Steuerlemente
    • Label, Textfield, Button, Slider, Segmented Control, Switch, Action Sheet, Alert View
  • UIView
    • Auto-Layout
    • Multi-View-Anwendungen
    • Tab Bars, Picker
  • UITableView und UINavigationView
    • Tabellencontroller
    • Navigationscontroller
    • Übergangsanimationen
    • Storyboards
  • Weiterführende Themen
    • Responder Chain, Touches
    • Delegate, Resource Bundles, Internationalisierung, Abspielen von Tönen
SwiftUI für Umsteiger (1 Tag)

Ziel:

In diesem Training erlernen Sie die Entwicklung von iOS / MacOS Anwendungen mit dem SwiftUI Framework. Sie erstellen eigene Oberflächen und stellen Daten dar. Sie lernen ferner die grundlegenden Frameworks wie Combine kennen.

Zielgruppe:

Der Kurs richtet sich an Softwareentwickler, die Anwendungen mit Hilfe von SwiftUI entwickeln möchten

Einstufung:

Fortgeschrittene

Voraussetzung:

Kenntnisse in iOS/MacOS Entwicklung mit Swift und UIKit

Inhalt:

  • SwiftUI
    • Entwicklung von einfachen Oberflächen
    • Bindings
  • Übersicht grundlegender Features
    • Result Builder
    • Property Wrapper
Icon: watchOS-Programmierung
Apple Watch
Einführung in die watchOS-Entwicklung (1 Tag)

Ziel:

In diesem Kurs lernen Sie, Apps für die Apple Watch zu entwickeln sowie bestehende Anwendungen um Apple Watch Funktionen zu ergänzen

Zielgruppe:

Der Kurs richtet sich an Softwareentwickler, die Anwendungen für die Apple Watch entwickeln möchten

Einstufung:

Einsteiger

Voraussetzung:

Kenntnisse in iOS-Entwicklung in SwiftUI

Inhalt:

  • Das Programmiermodell in WatchKit
    • Möglichkeiten und Einschränkungen
  • "Hello Watch" - Ihr erstes Programm
  • WatchKit Controls
    • Einfache Controls
    • Tabellen
    • Layout
    • Menüs
  • Paging und Hierarchien
  • Einstellungen
  • Datentransfer zwischen Uhr und iPhone
  • Glances
  • Notifikationen
  • Projektstruktur und Deployment
Icon: macOS-Programmierung
Mac Apps
Einführung in die macOS-Entwicklung (1 Tag)

Ziel:

In diesem Training lernen Sie Anwendungen für macOS zu entwickeln, sowohl für Kommandozeile als auch mit GUI. Der Kurs beinhaltet Netzwerk- und Dateisystemzugriffe.

Zielgruppe:

Der Kurs richtet sich an Softwareentwickler, die Anwendungen für macOS erstellen möchten

Einstufung:

Einsteiger

Voraussetzung:

Besuch des Kurses "Einführung in Swift" oder gleichwertige Kenntnisse

Inhalt:

  • Erstellen von Kommandozeilenanwendungen
  • Erstellen von GUI-Anwendungen
  • Dateisystem- und Netzwerkzugriff
Fortgeschrittene Swift-Programmierung
Fortgeschrittene Themen
Fortgeschrittene Programmierung in Swift (1-2 Tage)

Ziel:

In diesem Kurs vertiefen Sie Ihr Wissen grundlegender Konzepte der Sprache Swift sowie diverser (low-level) Frameworks. Sie lernen die neuen Sprachmittel wie @resultBuilder kennen, halten Ihre Daten über SwiftUI und UIKit konsistent und programmieren nebenläufige Programme mit den unterschiedlichen APIs. Sie erlernen die neuen integrierten Testmöglichkeiten.

Zielgruppe:

Der Kurs richtet sich an iOS-Entwickler, die ihr Grundlagenwissen erweitern möchten

Einstufung:

Fortgeschrittene

Voraussetzung:

Kenntnisse in der iOS-Entwicklung, z.B. die Inhalte des Seminars "iPhone/iPad App-Programmierung" oder gleichwertige Kenntnisse

Inhalt:

  • Swift-Sprachfeatures
    • @propertyWrapper
    • @resultBuilder
    • async/await
    • some/any
  • Views
    • Anpassung von Tabellenzellen
    • Benutzerdefinierte Übergänge und Gesten
    • NibLoading-Mechanismus
    • Integration SwiftUI / UIKit
    • Gemeinsamer Code auf iPhone und iPad
    • Windows, Scenes und NSUserActivity
  • Datenmodell
    • Bindings
    • SwiftUI/UIKit-Datentransfer
    • Dokumenten-Apps
  • Multi-Threading-Programmierung
    • Überblick über verschiedene Multithreading-APIs
      • Posix-Threads, NSThread, NSOperation, NSRunLoop
      • Synchronisation, Locking und Barrieren
    • Grand Central Dispatch (GCD) im Detail
      • Sichere Multi-Thread-Programmierung mit GCD
      • Parallele Schleifen
      • Synchronisation von Queues
    • Combine-Framework
  • Testen von iOS-Anwendungen
    • Unittests
    • UI-Automatisierung
Debugging und Logging in Xcode und LLDB (1-2 Tage)

Ziel:

Dieser Kurs vermittelt Ihnen Grundkenntnisse des OSLog Frameworks und bietet einen Einstieg in das Debugging mit dem LLDB. Sie lernen, Log-Einträge, Aktivitäten und Signposts zu verwenden, um den Programmfluss Ihrer Anwendung zu protokollieren. Es werden weiterhin eigene Logging-Mechanismen betrachtet. Beim Debuggen verlassen Sie die Xcode UI-Welt und lernen die Kommandozeile des LLDB kenne, um effektiv Breakpoints zu setzen, Speicherzugriffe zu überwachen und zu analysieren sowie den LLDB zu scripten.

Zielgruppe:

Der Kurs richtet sich an iOS-Entwickler, die Apple Standardmechanismen zum Logging und Debugging kennenlernen und erweitern möchten

Einstufung:

Fortgeschrittene

Voraussetzung:

Kenntnisse in der Bedienung von Xcode

Inhalt:

  • Logging
    • Das OSLog Framework
    • Konsole-App und Kommandozeile
    • Log-Level
    • Datenschutzaspekte
    • Signposts
    • Aktivitäten
    • Instruments
    • Eigene Logs und externe Anbieter
  • Debugging
    • Die LLDB-Kommandozeile
    • Breakpoints
    • Watchpoints
    • Frames, Variablen und Register
    • Makros und Scripting
Core Data (1 Tag)

Ziel:

In diesem Kurs lernen Sie, wie Sie Ihre Anwendungsdaten mit Hilfe des Core Data Frameworks speichern und effizient auslesen können.

Zielgruppe:

Der Kurs richtet sich an Softwareentwickler, die Anwendungsdaten unter macOS und iOS mit Hilfe von Core Data speichern möchten

Einstufung:

Fortgeschrittene

Voraussetzung:

Kenntnisse in Swift, Cocoa (-Touch)

Inhalt:

  • Der Core Data Stack
    • Erzeugung von Datenmodellen mit Entitäten, Attributen und Beziehungen
    • CRUD-Operationen
    • Suche und Prefetching von Daten
    • Initialisierung von Daten
  • NSManagedObject
    • Persistierung eigener Klassen
    • Core Data als Datenquelle für Tabellen
  • Fortgeschrittene Core Data Themen
    • Undo/Redo
    • Versionierung und Migrationsstrategien
    • Datenvalidierung, Konfliktlösung und Multithreading
    • BLOBs und andere nicht-standardkonforme Attribute
    • Tool-Unterstützung (Debugging, Performance-Analyse)
Internationalisierung (1 Tag)

Ziel:

In diesem Kurs lernen Sie Ihre Anwendungen zu internationalisieren (I18N), um sie lokalisierbar zu machen

Zielgruppe:

Der Kurs richtet sich an Softwareentwickler, die internationale Anwendungen unter iOS und macOS erstellen

Einstufung:

Fortgeschrittene

Voraussetzung:

Kenntnisse in Swift und Cocoa (-Touch) Wünschenswert sind Kenntnisse im Autolayouting

Inhalt:

  • Grundlagen und Voraussetzungen
    • Vorkehrungen in der UI, Autolayouting
  • Internationalisierung von
    • Texten
    • Zahlen, Daten
    • XIB, Storyboard
    • Ressourcen
  • Tools
Datenschutzhinweis