Dieselbe App auf Mac und iOS ausführen: iOS 12 und macOS 10.14 sollen es möglich machen
Eine App für den Mac läuft nur auf dem Mac und eine App für iPhone/iPad kann nur unter iOS ausgeführt werden - sieht man vom iPhone Simulator in Xcode einmal ab. Für kommendes Jahr steht aber eine maßgebliche Änderung an, wie
Bloomberg berichtet. Mit iOS 12 und macOS 10.14 soll es erstmals möglich sein, Apps zu entwickeln, die dann sowohl auf dem Mac als auch auf dem iPad und iPhone laufen. Entwicklern soll es damit einfacher gemacht werden, ihre Apps für alle Plattformen anzubieten. Auch die "Plattform-Erfahrung", also dass neben Hardware und System auch die Apps wie aus einer Hand wirken, wolle Apple damit stärken. Zudem lautet die Hoffnung, den Mac als Software-Plattform interessanter zu machen, wenn sich erfolgreiche iOS-Apps schneller auf den Mac umziehen lassen.
Zwei komplett unterschiedliche BedienkonzepteDie Implikationen davon sind enorm - die Herausforderungen ebenfalls. Eine normale Mac-Oberfläche muss ganz andere Voraussetzungen erfüllen als eine iOS-App. Während der Mac-Nutzer entweder mit Maus oder Trackpad Elemente der Oberfläche bedient, ist es auf den wesentlich kleineren iOS-Geräten der Finger. Kleine Buttons zu treffen funktioniert mit der Maus gut, mit dem Finger nicht. Man stelle sich beispielsweise vor, die Netzwerk-Einstellungen von macOS auf einem Touch-Display zu verwenden: Meistens wäre es Glücksspiel, ob die obere oder die untere Option erwischt wird.
Auch jetzt war es bereits möglich, eine App so anzulegen, dass sie größtenteils denselben Code auf Mac und iPhone verwendete oder eine eigenentwickelte Oberfläche mitbringt, die weitestgehend auf beiden Systemen funktioniert. Allerdings ist dies auch mit großen Einschränkungen verbunden, denn viele System-Elemente müssen dann nachgebildet werden und fühlen sich in den meisten Fällen einfach nicht so an, wie das sonstige Systemverhalten. Dies ist übrigens genauso zu beobachten, wenn eine App Cross-Plattform für Windows und Mac angelegt ist.
Was Apple tun muss - und was die EntwicklerEntwickler, die sich nur im Apple-Universum bewegen, befinden sich schon jetzt in einer recht glücklichen Ausgangslage: Die Sprachen Objective-C und Swift können über alle Plattformen hinweg, von der Watch bis zum Mac, verwendet werden. Auch die meisten Entwicklerbibliotheken wie Core Animation, Core Data, Scene Kit und die AVFoundation stehen auf allen Plattformen zur Nutzung bereit. Somit ist es schon jetzt in der Apple-Welt recht einfach möglich, Apps für all diese Plattformen mit einem ähnlichen Funktionsumfang zu entwickeln.
Da sich aber die Benutzeroberflächen und Bedienparadigmen deutlich unterscheiden, musste der Entwickler entweder eine grafische Benutzeroberfläche entwicklen, die auf allen diesen Plattformen funktionierte (mit meist deutlichen Kompromissen) oder sich die Arbeit machen und den Programmcode für die Benutzeroberfläche doppelt und dreifach schreiben - einmal für Mac, iPhone und iPad sowie für Watch und Apple TV. Letzteres erlaubt dem Entwickler, die Benutzeroberfläche genau auf die jeweilige Plattform anzupassen, allerdings mit deutlich höherem Arbeits- und Wartungsaufwand.
Dass sich die Benutzeroberflächen der einzelnen Plattformen aufgrund der Bedienweisen unterscheiden müssen, wird Apple aller Wahrscheinlichkeit nach sehr wohl wissen - besonders nach dem Debakel von Microsoft mit Windows 8, welches auf Touch-Tablets und Desktop-PCs dieselbe Oberfläche einsetzte.
Frühe Indizien auf die UmstellungSchon mit der neuen Photos.app für Mac und iOS führte Apple ein neues, noch nicht für Dritthersteller zugängliches Framework namens „UXKit“ ein. Die Photos.app ähnelt sich auf Mac, iPhone und iPad sehr stark - trotzdem verhält sich das Programm beispielsweise auf dem Mac wie eine echte, native Anwendung samt Toolbar und Popover-Fenstern. Zur damaligen Zeit erprobte Apple wohl die Machbarkeit, wie man den Entwicklungsaufwand bei Programmierern senkt, trotzdem aber eine echte Anwendung für Mac, iPhone und iPad ermöglicht.
Spekulation - mögliche LösungswegeApple will, dass mächtige Mac-Anwendungen auch für iPad und vielleicht iPhone erscheinen - gleichzeitig sollen iPhone-Anwendungen auch einfach auf den Mac portiert werden können - und zwar mit Mac-artiger Nutzeroberfläche. Apple wird also nicht umhinkommen, ein recht mächtiges Framework anzubieten, welches Entwicklern in gewisser Weise die Gestaltung der Nutzeroberfläche abnimmt. Dabei hat Apple schon eine Menge Erfahrung in der Portierung von Pages, Keynote und Numbers auf das iPad und das iPhone sammeln können.
Grob könnte es so sein, dass der Programmierer nicht mehr einzelne Bedienelemente an der Nutzeroberfläche pixelgenau positioniert, sondern vielmehr dem Framework mitteilt, welche Aktionen oder Werkzeuge in einer bestimmten Ansicht bereitstehen und das Framework sich dann um die plattformspezifische Positionierung dieser Elemente kümmert. Im besten Fall merkt der Nutzer gar nicht, eine Cross-Plattform-App zu nutzen - kann sich aber freuen, nur einen Kauf für alle Plattformen tätigen zu müssen.