Inhalt
In diesem Modul werden die Grundlagen des Mobile Development vermittelt. Am Anfang gibt es einen kurzen Überblick über die Development-Landschaft im Mobile-Bereich. Danach tauchen wir in die native iOS-Entwicklung mit Swift und UIKit ein.
Es gibt keine Endprüfung, sondern Programmieraufgaben (Einzelarbeit). Diese sind unterteilt nach VO/UE in Fixed Exercises und Freeform Exercises.
Fixed exercises sind recht strikt im Umfang und Aufgaben. Sie sind fast wie interaktive Tutorials, nur ohne Lösung. Das Ziel dieser Aufgaben ist, die wichtigsten Aspekte der iOS-Entwicklung zu lernen, die jeder kennen sollte.
Bei den freeform exercises hat man dagegen mehr Freiheit. Man kann selbst aussuchen, an welchen Themen man arbeiten möchte und welche Features man implementieren möchte. Genaueres dazu siehe unten auf der LV-Homepage.
Überblick der Themen:
- Mobile Development Übersicht
- Web-App vs Cross-Plattform vs Native mobile
- Swift Grundlagen
- Native iOS Entwicklung Grundlagen
- UIKit & Auto Layout Grundlagen
- Networking
- Persistence (Mobile Databases)
Genauere Informationen zu den Themen gibt es auch auf der LV-Homepage.
avf.github.io/mobile-app-dev
Für die Teilnahme wird der Besitz eines Mac mit macOS 10.15.4 oder höher stark empfohlen. Alternativ kann auch eine Cloud-VM zur Verfügung gestellt werden, aber die Arbeit in einer nativen Umgebung ist deutlich angenehmer. Ein iOS-Mobilgerät (iPhone/iPad) ist von Vorteil, aber nicht erforderlich.
Lernergebnisse
Nach Abschluss der LV sind die Studierenden in der Lage die theoretischen Grundlagen, Prinzipien und Architekturen mobiler Betriebssysteme zu beschreiben,
Nach Abschluss der LV sind die Studierenden in der Lage Methoden und Konzepte der professionellen mobilen App Entwicklung zu erläutern und eigenständig anzuwenden.
Nach Abschluss der LV sind die Studierenden in der Lage unterschiedliche Architekturen für die mobile App Entwicklung zu skizzieren und auszuwählen, die Architektur für iOS-Apps eigenständig auszuwählen und selbstständig zu konzipieren und umzusetzen. Dazu sind sie auch in der Lage Reactive Programming Konzepte mit SwiftUI zu erläutern und anzuwenden.
Nach Abschluss der LV sind die Studierenden in der Lage, Performance-Probleme und Memory Leaks in iOS Apps zu beheben.
Lehrmethode
Vortrag, Live-Programmieren, Fall-Studien, Programmieraufgaben
Prüfungsmethode
Immanente Leistungsüberprüfung: Endprüfung, Gruppenarbeiten
Literatur
Siehe Literaturverzeichnis auf der LV-Homepage:
avf.github.io/mobile-app-dev/lectures/
Unterrichtssprache
Englisch