ARM-Chips, Plattform und Mac 2.0: Die Zukunft der Apple-Computer
"Unified Apps" - eine App für alle PlattformenApple wird im eigenen Ökosystem die Plattformen mehr zusammenrücken - die beiden Berichte lassen keinen anderen Schluss zu. Schon jetzt ist zu beobachten, dass externe Entwickler und auch Apple selbst bei der Entwicklung von Apps für alle Apple-Plattformen überfordert sind. Entweder existieren Apps nur für den Mac oder nur für iOS - und selbst wenn es die Programme für alle Plattformen gibt, unterscheiden sich diese meist stark in der angebotenen Funktionalität. Selbst Apple schafft es nur in wenigen Fällen, Apps für alle Plattformen mit gleichem Funktionsumfang anzubieten (die Fotos-App, Pages, Numbers und Keynote auf Mac und iOS sind Beispiele einer gelungenen Entwicklung). Bei den Apps zur Verwaltung von Filmen und Musik schaut es düster aus: Dort werkelt auf dem Mac nach wie vor das betagte iTunes, während Apple auf iOS die Funktionalität über sinnvoll getrennte Apps anbietet.
Apple muss die eigenen Plattformen für die Software-Entwicklung dichter zusammenrücken - ohne dabei die unterschiedlichen Bedienparadigmen zu vernachlässigen. Microsoft versuchte dies mit Windows 8 - und es endete in einem Debakel, da auf Desktop-PCs und Tablets die exakt gleiche Benutzeroberfläche verwendet wurde. Apple wird sicher nicht den selben Fehler wie Microsoft begehen und Touch-Apps auf dem Mac oder Fenster auf dem iPad anbieten.
Die letzten Jahre haben deutlich gezeigt, dass die mehrgleisige Entwicklung für die verschiedenen Apple-Plattformen weder intern bei Apple noch extern funktioniert. Apple wird hier ein mittel- bis langfristiges Ziel verfolgen: Kauf eine App oder ein Spiel und diese soll auf allen Apple-Plattformen funktionieren. Marketing-mäßig ist dies für Apple sehr günstig zu verkaufen - und für den Kunden wäre die Komplexität verschwunden, zu entscheiden, welche App er auf welcher Apple-Plattform verwendet.
Glücklicherweise ist der Unterbau von macOS und iOS zu großen Teilen identisch - aber die Frameworks zur Entwicklung der Oberfläche unterscheiden sich richtigerweise deutlich, da verschiedene Eingabemedien und Bildschirmgrößen zum Einsatz kommen. Apple und Drittherstellerentwickler tun sich aber schwer, für die einzelnen Plattformen dedizierte Oberflächen zu entwickeln - zu groß ist der Aufwand. Apple muss hier den Entwicklern unter die Arme greifen und ein neues Framework anbieten, damit Programmierer nur einmal die Oberfläche einer App entwickeln müssen und diese auf den verschiedenen Plattformen funktioniert - und die Gegebenheiten der speziellen Plattformen respektiert.
Eine Möglichkeit, dies zu realisieren, wäre eine Art von UI-Beschreibungssprache: Der Entwickler positioniert nicht mehr einzelne Knöpfe, Eingabezeilen oder Bereiche für jede Plattform, sondern beschreibt, was in einer Ansicht zu sehen sein soll. Auf den unterschiedlichen Plattformen wird daraufhin eine Benutzeroberfläche erstellt, die an die Gegebenheiten der Plattform angepasst ist. Zwar müsste der Entwickler weiterhin die einzelnen Komponenten einer Ansicht programmieren, die Komponenten würden aber auf den Plattformen unterschiedlich positioniert bzw. wären bei kleinen Bildschirmen erst durch einen Knopf zu erreichen.
Stellt man sich dieses Konzept beispielsweise anhand einer Notizverwaltung vor, wäre diese wie folgt realisiert: Der Entwickler programmiert drei Komponenten: Eine Liste aller Notizsammlungen, eine weitere Liste, die alle Notizen einer Notizsammlungen darstellt und eine Komponente, welche eine einzelne Notiz anzeigt und dem Nutzer des Bearbeiten dieser gestattet. Auf dem Mac und vielleicht auf dem iPad könnten alle drei Komponenten zur selben Zeit sichtbar sein - auf dem iPhone allerdings nur eine Komponente. In der Beschreibungssprache wäre festgelegt, wie diese einzelnen Komponenten zusammenhängen - aufgrund dieser Informationen könnte das neue Framework selbstständig festlegen, wann und wie jede Komponente darzustellen ist. Ferner wäre beschrieben, welche Aktionen eine einzelne Komponente anbietet (z.B. neue Notiz erstellen) - auf dem Mac würde dieser Knopf in der Toolbar positioniert, auf dem iPhone in die Navigationszeile.
Natürlich gibt es eine Menge Fälle, in denen der Entwickler weiterhin manuell eingreifen müsste und bestimmte Funktionalitäten eines Programms auf die spezifische Plattform anpassen - trotzdem könnte mittels eines solchen Konzeptes der insgesamte Aufwand der Entwicklung einer App für alle größeren Apple-Plattformen deutlich sinken - und Apple hätte mehr Apps für den Mac und mächtigere Anwendungen für das iPad.