Oct. 7, 2019
Multi-Window-Unterstützung in deiner iPad App
Native Entwicklung für iPadOS
Letzten Monat veröffentlichte Apple iPadOS, das erste dedizierte Betriebssystem für das iPad. Es unterscheidet sich von iOS durch seine Unterstützung für den größeren iPad-Bildschirm, einschliesslich Multi-/Splitscreen-Fenstern. Ich entwickle Apps und es war an der Zeit, die neuen Möglichkeiten von iPadOS zu nutzen.
Seit 2016 benutze ich ein iPad als meinen Hauptcomputer, es ist ein großartiger mobiler Computer. Das Betriebssystem ist jedoch anders als das der meisten Computer. iPadOS basiert auf iOS, das auf Apples beliebtem Mobiltelefon, dem iPhone, läuft. Dies macht das iPad im täglichen Gebrauch aufgrund der Art und Weise, wie es Apps ausführt, ein wenig anders.

Aufgrund der Smartphone-Wurzeln von iPadOS behandelt das Betriebssystem Apps wie ein iPhone: Apps laufen im Vollbildmodus und konzentrieren sich auf eine einzelne Aufgabe. Die Leute lieben das iPad dafür, da es eine großartige Möglichkeit ist, sich auf eine einzige Sache zu konzentrieren.
Unterstützung mehrerer Fenster für das iPad
Es gibt Situationen, in denen das gleichzeitige Ausführen mehrerer Fenster sehr nützlich sein kann, und hier hat Apple iPadOS verbessert, als es die Unterstützung für die Ausführung von Apps nebeneinander eingeführt hat.

Selbst wenn Sie an einer einzelnen Aufgabe arbeiten, ist die Unterstützung für mehrere Fenster sehr nützlich, da Sie so mehrere Instanzen derselben App gleichzeitig ausführen können. Dies ermöglicht verschiedene Anwendungsfälle, in denen Sie Inhalte aus verschiedenen Blickwinkeln betrachten und bearbeiten können. Wie zum Beispiel das Vergleichen von zwei verschiedenen Monaten in Ihrem Kalender, das Bearbeiten eines langen Dokuments oder das gleichzeitige Betrachten der Karte in verschiedenen Maßstäben.


Designabsicht
Als Apple die Unterstützung für mehrere Fenster auf dem iPad einführte, wurde dies unter Berücksichtigung der mobilen Wurzeln von iPadOS entwickelt. Im Gegensatz zu herkömmlichen PC-Apps, bei denen komplexe Software standardmäßig über mehrere verschiedene Fenster (und Bereiche) laufen kann, behält iPadOS die Anforderung bei, dass eine App alles von einem einzigen Fenster aus erledigen können muss.
Es ist eine Designanforderung auf dem iPad, dass alle App-Fenster von der gleichen Art sind und jedes einzelne alles in der Anwendung tun kann. Der Benutzer könnte alles von einem Fenster aus erledigen, wenn er möchte. Er sollte mehrere Fenster nur dann erstellen können, wenn er es für nützlich hält, aber die App sollte dies niemals erfordern. Dies erleichtert die einfache Ausführung von Apps unter iPadOS, Sie können Apps weiterhin im Vollbildmodus wie auf einem Smartphone verwenden.

App-Lebenszyklus (und Code-Änderungen)
Aus technischer Sicht führte Apple UIWindowScene mit einer entsprechenden UISceneSession-Abstraktion in der UI-Struktur ein. Sie befindet sich zwischen UIScreen und UIWindow.


Wenn iPadOS (und iOS) mehrere Apps ausführen, ist es möglich, dass das Betriebssystem eine App im Hintergrund schließt, um Speicherplatz und Energie zu sparen. Dies ist beabsichtigt: Es hält das Betriebssystem schnell und schont den Akku.
Aus Sicht des App-Lebenszyklus bedeutet dies, dass Sie beim Start Ihrer App überprüfen müssen, ob sie zuvor ausgeführt wurde. Wenn eine UISceneSession vorhanden ist, sollte die App sich wieder mit ihr verbinden, um dem Benutzer einen persistenten Schnittstellenzustand zu bieten. Wenn es richtig gemacht wird, wird der Benutzer nicht bemerken, dass die App im Hintergrund unterbrochen wurde.

Wenn Sie die neuen UIWindowScene- (und UISceneSession-) Konzepte in Ihrer App übernehmen, können Sie die neuen Multi-Window-Funktionen des iPad nutzen. Aber es gibt noch eine weitere Sache: Apple plant, iOS- und iPadOS-Apps auf den Mac zu bringen. Mit den neuen UI-Konzepten wird Ihre App auch unter macOS hervorragend laufen!

In der Praxis
Als Entwickler hatte ich wenig Schwierigkeiten, die neuen UI-Konzepte in meinen Apps zu implementieren. Mit relativ geringem Aufwand können Sie viele verschiedene Anwendungsfälle ermöglichen, bei denen dieselbe App dem Benutzer mehr Leistung bietet.




Fazit
Apple hat die Unterstützung für mehrere Fenster auf dem iPad nicht überstürzt, sondern sich Zeit genommen, sie gut zu gestalten. Wenn Sie die neuen Konzepte übernehmen, wird Ihre App für die Benutzer leistungsfähiger sein.
Es ist immer eine gute Idee, sich die Zeit zu nehmen, die zugrunde liegenden Schnittstellenkonzepte zu verstehen, bevor Sie mit der Entwicklung beginnen. Machen Sie es richtig (und gut) statt schnell (und dumm)!