10. Mai 2018

Überblick über Frameworks des iOS SDK

Das iOS SDK stellt zahlreiche Frameworks für die Entwicklung von Apps bereit. Diese sind in 4 Schichten eingeteilt:

Xcode

Core OS

In der Core-OS-Schicht finden sich Bibliotheken zur systemnahen Programmierung. Neben Schnittstellen zum UNIX-Kernel Mach von iOS werden hier sicherheitskritische Funktionalitäten wie Keychain Services für die Ablage von Passwörtern im Schlüsselbund des Systems angeboten und es finden sich mit Core Bluetooth und dem External Accessory Framework Komponenten für die Kommunikation mit externen Hardwaregeräten.

Core Services

Unter Core Services sind Basisdienste ohne grafischen Oberflächenfunktionalitäten zusammengefasst. Eine besondere Rolle kommt dem Foundation-Framework zu, welches die Laufzeitumgebung für iOS-Apps und über die Swift Standard Library hinausgehende Datenstrukturen bereitstellt. Grundlage dieser Bibliothek ist die C-Bibliothek Core Foundation. Typische Vertreter von Core Services-Frameworks sind:

Core Media

Im Media Layer werden neben den Bibliotheken Core Graphics und Core Animation, die systemnahe Zeichenfunktionalitäten bereitstellen, auch Core Image, Image IO, AV Foundation, AVKit und Media Player-Frameworks zum Umgang mit Bild-, Audio- und Videodaten angeboten. Für die 3D-Programmierung werden das plattformübergreifende OpenGL ES, die Apple-eigene-Alternative Metal oder die High-Level-Frameworks Spritekit (2D) und SceneKit (3D) verwendet.

Cocoa Touch

In Cocoa Touch findet sich vor allem das Framework UIKit für die Realisierung der grafischen Oberfläche von Apps - diese ist die wichtigste Bibliothek für iOS-Entwickler und unterscheidet sich aufgrund des Fokus auf Touch-Bedienung stark vom Desktop-Variante Cocoa. Außerdem werden in dieser Schicht grafische Komponenten für den Zugriff auf Adressbuch, Kalender und Nachrichten bereitgestellt. Mit App Extensions erfolgt die Integration in andere Apps.