Oliver__ schrieb am 30.09.2020 08:34:
Für die meisten anderen genannten Punkte gäbe es sicherlich mit Einschränkungen Lösungen: so ist man im Browser halt immer noch auf WebGL eingeschränkt (welches "untendurch" bestimmt bereits auf das Metal API abgebildet wird, aber das "sieht" ja der Entwickler eben nicht),
Richtig, WebGL basiert eigentlich auf OpenGL und verwendet daher auch die gleiche Shader-Language wie OpenGL, was auch normalerweise kein Problem ist, da Android, Windows und Linux native Treiber dafĂĽr mitliefern und die Grafikkarten diese Sprache verstehen, wie es auch frĂĽher vor dem Switch zu Metal bei Apple war.
Spielstände könnten natürlich "in der Cloud" gespeichert werden (was wiederum "Anmeldepflicht" nach sich zieht), Zugriff auf game controller / bluetooth weiss ich nicht, wie das generell "im Browser" (und natürlich spezifisch in Safari) möglich ist...
Problem ist, dass der Browser auf jedem System das größte Sicherheitsrisiko darstellt. Ein Fehler im JavaScript API und Du kannst remote komplett die Kontrolle über das System übernehmen. Das JavaScript API hat daher zwar ein File API, Clipboard API, Camera, Mikrophone, Standort etc. API, man kann dieses aber nicht im Safari nutzen, sondern nur in einer App oder wenn der User es explizit freigibt.
Der Gedanke dahinter ist relativ einfach, jede App unter iOS, macOS wird von Apple geprĂĽft und die Entwickler/-firma muss jede Schnittstelle, die verwendet wird, im Review-Prozess bekannt geben und die Sandbox wird auch nur fĂĽr diese freigeschaltet.