Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

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 Bedienkonzepte
Die 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 Entwickler
Entwickler, 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 Umstellung
Schon 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ösungswege
Apple 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.

Kommentare

Hannes Gnad
Hannes Gnad20.12.17 17:03
Interessant, und nicht vollkommen unerwartet.
+3
daschmc20.12.17 17:06
Mac Mini mit ARM CPU Spekulationen in 3, 2, 1... 😉
+3
HR20.12.17 17:08
Die ganze Entwicklung macht mir aktuell etwas Angst und treibt die Kosten unnötig in die Höhe. Bei diesen gravierenden Änderungen im OS müssen alle Entwickler ständig die Software anpassen und die Kunden müssen immer neue Software kaufen.
Ich wünsche mir von Apple mehr Stabilität in der Software.
Ich nutze derzeit noch 10.11 und teste gerade 10.12 und da läuft schon viel nicht mehr und bei 10.13 muss ich alles neu kaufen
Langfristig kann man Software nur noch mieten und das wird teuer.
0
LoCal
LoCal20.12.17 17:09
Die Grundlagen dafür hat Apple schon länger gelegt, nämlich mit AppThining und Bitcode.

Aber ich gehe eher davon aus, dass es z.B. zwei getrennte Hauptstoryboards gibt, einzelne Dinge wie z.B. TableViewController können dann aber mehrere Plattformen bedienen.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
+4
LoCal
LoCal20.12.17 17:11
HR

Warum sollte das kosten in die Höhe treiben? Eher im Gegenteil, geteilter Code ist meist günstiger. Und man wird nicht gezwungen bestimmte Plattformen zu unterstützen.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
+1
Garak
Garak20.12.17 17:12
Kachel, ick hör dir trapsen
+5
Mendel Kucharzeck
Mendel Kucharzeck20.12.17 17:13
LoCal
Aber ich gehe eher davon aus, dass es z.B. zwei getrennte Hauptstoryboards gibt, einzelne Dinge wie z.B. TableViewController können dann aber mehrere Plattformen bedienen.

Vielleicht, ja. Momentan ähneln sich ja NSTableView und UITableView recht stark - allerdings mit vielen kleinen, nervigen Unterschieden.

Allerdings denke ich, dass Apple nicht nur Klassen wie Knöpfe, Slider usw. Cross-Platform machen wird, sondern auch das "große" dahinter - sprich keine getrennten UIViewController/NSViewController mehr usw.
+1
Eventus
Eventus20.12.17 17:14
Wenns kommt, wie hier vermutet: nett, aber nicht notwendig.

Ich finde Lösungen am besten, wo auf dem iPad und dem Mac die gleichen Funktionen geboten werden – mit für das jeweilige Interface angepasster Bedienung.

Und ja, ich finde, dass für Desk- und Laptops Cursorbedienung erforderlich ist und für Tablets Touchbedienung. Ich will nicht mit ausgestrecktem Arm ein Element 27 Zoll weit von der einen Ecke in die andere ziehen. Und auch nicht mit dem Finger auf dem Touchscreen einen Cursor bewegen.
Live long and prosper! 🖖
+3
steve.it20.12.17 17:18
Photos.app konnte zu Beginn kein Drag&Drop.
0
OpDraht
OpDraht20.12.17 17:18
... mit synchronen Bugs? Wobei das gibts ja schon heute.
+1
jensche20.12.17 17:19
Also das Was windows seit gefühlten 10 Jahren macht?

1 Universale App für alles.

-2
Mecki
Mecki20.12.17 17:25
jensche
1 Universale App für alles.
Universell wie in PC und ... ummm ... PC? Weil Phones mit Windows sind ja Geschichte (und da liefen 99% aller Windows Programme sowieso zu keinen Zeitpunkt) und Tablets mit Windows sind in Wahrheit flache Windows Notebooks mit Touchscreen und damit ja eigentlich auch PCs. Sofern also diese Apps nicht auch unmodifiziert auf der Xbox laufen, weiß ich nicht genau was daran jetzt so universell sein soll, wenn man im Grunde nur eine Geräteklasse unterstützt und statt verschiedene Bedienkonzepte anzubieten ja quasi alles in ein Mischkonzept für alle verwurstet hat (so dass man quasi Touch mit der Maus nachspielen kann).
+2
iMan
iMan20.12.17 17:30
Weiß nicht was ich davon halten soll . Da müssten sie das schon richtig gut hinbekommen. Bleibe da skeptisch.
jensche
Also das Was windows seit gefühlten 10 Jahren macht?
1 Universale App für alles.

Windows 8 wurde erst 2012 eingeführt. Zumal Windows genau das Negativbeispiel wäre, wie man es nicht machen sollte. Diese "Universalen Apps" sind mit das schlechteste was ich je gesehen habe. Weder mit Finger noch mit Maus gescheit zu bedienen. Zumal es für diese Kachel-Apps sehr wenig bis gar keine gute Software gibt bzw. mehr halbgar umgesetzt.

Beispiel: Spotify als Kachel-App sieht aus wie Spotify als normales Windows-Programm nur in Fullscreen. Ansonsten die exakt gleichen Bedienelemente wie in der normalen Version und damit total ungeeignet für Fingerbedienung.
Always look on the bright side of life!
+4
teorema67
teorema6720.12.17 17:36
HR oben hat völlig Recht. Die zahlreichen Daumenrunter belegen das

Mehr Stabilität und neue Betriebssysteme nur alle 2 Jahre würde ich begrüßen.
Wenn ich groß bin, geh ich auch auf die Büffel-Universität! (Ralph Wiggum)
0
piik
piik20.12.17 17:38
Das ist einfach voll krank!

Nicht ohne Grund wurde das OS für das iPhone völlig neu gestaltet.
Smartphone ≠ PC.
Microsoft hat das ja mit seiner Mobilgeräte-Plattform und dann mit Windows 8 gekachelt, äh versucht – und ist krachend gescheitert.
Und weil Microsoft blöd war, muss der schon vorgemachte und gescheiterte Blödsinn nachgemacht werden?
Der Tim kann es einfach nicht. Er spürt nicht, was wichtig und relevant ist. Aber irgendwie müssen ja die "Erben" Apple mal zugrunde richten. Sie geben sich so langsam alle Mühe.

Noch so ein paar oberschlaue Entscheidungen und ich lande auf Linux.
-5
Mac-Rookie
Mac-Rookie20.12.17 18:09
Ich erinnere mich da an Universalbinary Apps << x86 / PPC >> ... Und ich wette, je leistungsfähiger die Apple-ARMs werden um so größer wird die Wahrscheinlichkeit, dass Apple stückweise auf ARM bei Laptops und dem Mini zwitschen wird.
Bügeln ist keine Frauenbewegung.
-1
mac_heibu20.12.17 18:11
piik
Noch so ein paar oberschlaue Entscheidungen und ich lande auf Linux.
Diese Drohung macht mir jetzt aber Angst. Aber sowas von …
+7
BigLebowski
BigLebowski20.12.17 18:15
Ich denke das Apple eher ARM Prozessoren den Intel Prozessoren zur Seite stellt als Unterstützung.

Rechenintensive Programme werden dann auf dem Intel ausgeführt,
Safari etc. Auf dem ARM.

Ich bin gespannt wie sich das auf die Akkulaufzeit auswirkt.
Wobei ich mir eher mal bei den iPhones einen Sprung wünsche!
iPhones Größerer Akku
+3
Dom Juan20.12.17 18:23
Manche echauffieren sich hier schon wieder für nichts. Nirgendwo steht, dass die gleiche App à la Win8 in gleicher Art und Weise auf allen Plattformen zur Verfügung steht. Im Gegenteil, die App soll mit dem Kit ja die Möglichkeit haben bei der Installation zu erkennen auf welche Plattform sie geladen wird und die entsprechende Version mit dem entsprechenden Interface wird geladen. Und das wäre echt zu begrüßen, sowohl für Entwickler alsauch für den Endnutzer. Sprich : 1x Code schreiben, zwei Version der App haben.
+9
ocrho20.12.17 18:29
Die Grundidee des Apple Framwork UXKit ist ok: Gerade bei kleineren einfache Apps mit nur wenige GUI-Elementen lässt sich eine automatische Platzierung sicherstellen. Neben einfachen Anwendungen wird das den Durchbruch für Spiele auf den Mac bringen.

Problematisch wird es für komplexe Anwendungen (also da wo das Autolayout an die Grenzen kommt), weil da viele Benutzer nicht verstehen werden, warum man für Mac und iOS doppelt zahlen soll.

Man kann es drehen und wenden wie man will, der Zug der Zeit wird in diese Richtung fahren. Früher gab es auch getrennte Apps fürs iPhone und iPad, aber das haben selbst die Entwickler später oft wieder abgeschafft, weil der Wartungsaufwand mehrere Versionen über den App Store zu betreuen nicht unerheblich ist.

Vielleicht kommt über diesen Umweg auch der iOS App Store wieder auf den Mac zurück, nachdem er zur Zeit in der Consumer-Variante fehlt. Dann könnte man die App auf den Mac im neuen "Apple App Store" kaufen und der Kauf gilt dann für alle Plattformen...
+3
LoCal
LoCal20.12.17 18:32
Mendel Kucharzeck
LoCal
Aber ich gehe eher davon aus, dass es z.B. zwei getrennte Hauptstoryboards gibt, einzelne Dinge wie z.B. TableViewController können dann aber mehrere Plattformen bedienen.

Vielleicht, ja. Momentan ähneln sich ja NSTableView und UITableView recht stark - allerdings mit vielen kleinen, nervigen Unterschieden.

Allerdings denke ich, dass Apple nicht nur Klassen wie Knöpfe, Slider usw. Cross-Platform machen wird, sondern auch das "große" dahinter - sprich keine getrennten UIViewController/NSViewController mehr usw.

Ja, das ist dann UXViewController … aber ich gehe davon aus, dass sich das eher an UIViewController orientieren wird.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
+2
Baldr120.12.17 18:38
Endlich zieht Apple nach .... Jahre später. Kann man nur hoffen, dass die es wieder nicht zu kompliziert machen! Da wir für beide Platformen entwickeln (OSX, Windows) kann man Apple nur empfeheln, sich an das gute Konzept der UWP Applikationen (Universal Windows Program) anzulehnen. Dort klappt es vorzüglich von xBox , Tablet bis PC ..... mit einem einzigen Programm. Alle notwendigen Anpassungen nimmt die IDE während des Build-Prozesses vor. Man merkt halt, wer ne Softwarebude und wer eigentlich nur ne Hardwarebude ist
+2
F. Flor20.12.17 18:47
Ich denke, das wäre der Grundstein für einen TouchScreen Mac
-1
Baldr120.12.17 18:50
.... allerdings und das will ich nicht verschweigen: auch Microsoft hat mehrere Anläufe gebraucht. Jetzt unter Windows 10 geht das wie das Brezel backen.

Und, by the way , wenn ich im Artikel lesen, dass eine Portierung einer iOS-App auf macOS aufgrund der gleichen Programmiersprache Objective C einfach klappen soll, kann ich nur schallend lachen ! Etwas mehr Insiderkenntnisse hätte ich schon erwartet ! Wer das mal gemacht hat, wird feststellen, dass beide Konzepte so unterschiedlich sindund man den größten Teil des Codes nicht gebrauchen kann.
-2
cfkane20.12.17 19:01
Damit wird Apple also seinen Kurs der iPhonisierung des Macs weiter verfolgen. Siehe auch T2-Chip beim iMac Pro. Und irgendwann ist der Mac nur noch ein großes iPhone .
+3
Peter Longhorn20.12.17 19:04
Mecki
jensche
1 Universale App für alles.
Universell wie in PC und ... ummm ... PC? Weil Phones mit Windows sind ja Geschichte (und da liefen 99% aller Windows Programme sowieso zu keinen Zeitpunkt) und Tablets mit Windows sind in Wahrheit flache Windows Notebooks mit Touchscreen und damit ja eigentlich auch PCs. Sofern also diese Apps nicht auch unmodifiziert auf der Xbox laufen, weiß ich nicht genau was daran jetzt so universell sein soll, wenn man im Grunde nur eine Geräteklasse unterstützt und statt verschiedene Bedienkonzepte anzubieten ja quasi alles in ein Mischkonzept für alle verwurstet hat (so dass man quasi Touch mit der Maus nachspielen kann).
Vielleicht mal informieren bevor man schreibt. Apps laufen auch auf der Xbox - natürlich mit anderer Oberfläche. Und das Argument Windows Tablets sind ja nur Notebooks mit Touchscreen ist auch vollkommen dämlich, denn das könnte man auch für den hier angeführten Fall sagen (mit welchem Marketing-Blödsinn hatte Apple nochmal das iPad Pro verkauft?). Man braucht auch hier andere Bedienoberflächen. Und ja, genau die werden schon seit Windows 8(.1?) unterstützt. Also sehr viele Jahre. Und auch Tablets/Laptops mit reinen ARM-Prozessoren gibt es bereits, welche mit Universal Apps gefüttert werden.

Das einzige, was an der Aussage richtig war ist, dass Windows Phone nicht mehr relevant ist.

Apple macht hier also 1:1 das gleiche - was ja auch ok ist.
0
teorema67
teorema6720.12.17 20:10
piik
Microsoft hat das ja mit seiner Mobilgeräte-Plattform und dann mit Windows 8 gekachelt, äh versucht – und ist krachend gescheitert.
Allerdings hatte das Scheitern von Win Phone andere Gründe. Die Idee war gut, und ich wäre auf Win Phone umgestiegen, wenn die Verbreitung des OS für genügend Apps gesorgt hätte.
Wenn ich groß bin, geh ich auch auf die Büffel-Universität! (Ralph Wiggum)
+3
R-bert20.12.17 20:53
Ist das nicht der Autor, der auch den Deal mit McLaren angekündigt hat? Daher besser mal den Ball flach halten und abwarten.
Auch wenn es aus Sicht der Entwickler sinnvoll erscheinen mag, was sollte es dem Anwender bringen, der ja eigentlich im Mittelpunkt der Bedienoberfläche eines OS steht?
+1
LoCal
LoCal20.12.17 21:38
Mac-Rookie
Ich erinnere mich da an Universalbinary Apps << x86 / PPC >> ... Und ich wette, je leistungsfähiger die Apple-ARMs werden um so größer wird die Wahrscheinlichkeit, dass Apple stückweise auf ARM bei Laptops und dem Mini zwitschen wird.

Dank bitcode-upload ist es eigentlich egal was für ne cpu auf der zielplattform läuft.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
+1
Mendel Kucharzeck
Mendel Kucharzeck20.12.17 22:52
R-bert
Auch wenn es aus Sicht der Entwickler sinnvoll erscheinen mag, was sollte es dem Anwender bringen, der ja eigentlich im Mittelpunkt der Bedienoberfläche eines OS steht?

Kurz nachdenken....mehr Apps für den Mac und mächtigere Apps für iPhone und iPad?
+2
Weitere News-Kommentare anzeigen

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.