HTW-Berlin | Internationaler Studiengang Medieninformatik (IMI-B) | Applikationsentwicklung unter iOS (WS 2025/26) |
Prof. Dr. Klaus Jung | Allgemeine Informationen |
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.
Alle Informationen zum Kurs finden Sie in Moodle.