HTW-Berlin Internationaler Studiengang Medieninformatik (IMI-B) Applikationsentwicklung unter iOS (WS 2025/26)
Prof. Dr. Klaus Jung   Allgemeine Informationen

B21 - B23 VCAT2: Applikationsentwicklung unter iOS

Die folgenden Informationen sind etwas länger, weil ich Ihnen sehr genau sagen möchte, was Sie in diesem Modul erwartet und was nicht. Ich hoffe damit, Ihnen die Entscheidung für oder gegen dieses Wahlpflichtfach im Vorfeld leichter zu machen. Natürlich können Sie mich auch während der ersten Veranstaltung zu diesen Dingen befragen oder erstmal gucken, wie der Kurs so läuft.

iOS App Entwicklung

Es gibt viele Arten, iOS Apps zu entwickeln. Angefangen von Cross-Platform Systemen, die native Apps für verschiedene OS ableiten können (React Native, Xamarin, Flutter, Cordova, Ionic, etc.) bis hin zu unterschiedlichen Arten, wie man innerhalb der Apple-eigenen IDE Xcode vorgeht. Letzteres beinhaltet verschiedene Programmiersprachen (Swift vs. Objective-C) oder auch unterschiedliche konzeptionelle Ansätze (SwiftUI vs. UIKit mit Storyboard). Apple schreckt nicht davor zurück, Änderungen in der Programmiersprache vorzunehmen, neue APIs zu erfinden oder andere als deprecated zu deklarieren. Alles ist ständig im Fluss.

Inhalt

In dieser Veranstaltung geht es um die Entwicklung nativer iOS Anwendungen mit Xcode (d.h. keine Cross-Platform Systeme). Dabei lehre ich die neusten Techniken, auch wenn die älteren Techniken noch unterstützt und genutzt werden. Das bedeutet Stand heute (26.09.2025):

Also kein Objective-C (stark veraltet) und kein UIKit/Storyboard (von vielen Firmen noch heute benutzt). Es ist davon auszugehen, dass SwiftUI stetig weiterentwickelt wird und UIKit/Storyboard immer mehr verdrängen wird.

Viele Kurse und Tutorials beginnen sofort mit der UI-Entwicklung. Die Programmiersprache Swift lernt man dann so "nebenbei". Das ist nicht mein Stil. Ich sehe fundierte Kenntnisse in Swift als Grundlage für alles, was danach folgt. Den Code, mit dem Sie in SwiftUI das UI bauen, sollen Sie wirklich verstehen und nicht nur aus Beispielen per Copy & Paste zusammenbasteln. Entsprechend wird der Kurs in etwa der ersten Hälfte die Programmiersprache Swift behandeln und danach die UI-Entwicklung mit SwiftUI.

(*) Die Ende September 2025 neu erschienenen Versionen Xcode 26.x und macOS 26.x werden in diesem Kurs und im Labor voraussichtlich nicht verwendet.

Form

Der Unterricht findet in Präsenz statt. Sämtliche Kursunterlagen (Folien und Übungsaufgaben) werden Sie in Moodle finden. Meine Präsenzveranstaltungen werden nicht als Video aufgenommen oder gestreamt. Wer nicht vor Ort ist, muss mit dem Kursunterlagen in Form der Foliensätze zurechtkommen. Die Abgaben der Übungsaufgaben müssen mit mir in Präsenz besprochen werden. Mehr Informationen in der ersten Veranstaltung.

Anspruch / Voraussetzungen

Sie müssen sich in diesem Kurs mit einer für Sie wahrscheinlich neuen Programmiersprache und einer neuen Entwicklungsumgebung Xcode auseinandersetzen und ggf. auf einem Ihnen unbekannten Betriebssystem macOS arbeiten. Außerdem basiert SwiftUI auf funktionaler Programmierung, nicht auf objekt-orientierter (beides geht mit Swift). Xcode läuft nur auf einem Macintosh-Computer. Im Kurs wird Stand heute (26.09.2025) Xcode 16.4 (Swift 6.1.2, iOS 18.6.2) verwendet. Das setzt als Betriebssystem macOS Sequoia 15.3 oder neuer voraus.

Wenn Sie einen eigenen Macintosh-Computer haben und verwenden wollen, sollten Sie in der Lage sein, macOS Sequoia 15.3 oder neuer zu fahren und genug Plattenplatz haben, um ein aktuelles Xcode zu installieren. Xcode ist sehr ressourcenhungrig. Der Download ist ca. 3 GB groß. Dazu kommt dann noch der Download der iOS 18 Entwicklungskomponente mit ca. 8,5 GB. Die Verwendung von Xcode erfordert viel Rechenleistung, weil im Hintergrund permanent kompiliert und das Preview des GUI aktualisiert wird.

Wenn Sie keinen eigenen Macintosh-Computer haben oder verwenden können/wollen, dann sind Sie auf die Rechner im Mac-Labor angewiesen. Informationen zur Nutzung von Laborrechnern gibt es am Ende der ersten Veranstaltung.

Kursinformationen:

Alle Informationen zum Kurs finden Sie in Moodle.


Impressum    Datenschutzerklärung