kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Sketch-Lauffähigkeit auf verschiendenen Betribessystemen

(EN google-translate)

(PL google-translate)

Processing bietet die meisten Basis-Methoden der Klasse PApplet so an, das diese auf verschiendenen Betriebssystemen in gleicher Weise funktionieren.

Es ist bespielsweise egal, ob Sie einen Sketch, der den Befehl ellipse(...) enthält auf einem PC mit Linux, Windows oder MAC-OS laufen lassen, ob er im Android-Mode auf einem Tablet oder einem Smartphone läuft.

Gerade diese Eigenschaft von Processing erleichtert enorm die Entwicklung von Anwendungen für Smartphoes und Tablets: Vieles läßt sich bereits unter Java am PC testen, bevor man es als App kompilieren und auf das Android-Device übertragen läßt.

Allerdings hat dieses Prinzip Grenzen, die vor allem dann zum Tragen kommen, wenn unterschiedliche Hardwarevoraussetzungren gegeben sind.

Beispielsweise sind die Java-Klassen für die Verarbeitung von Audio oder zur Ansteuerung von Kameras Verschiedene, je nachdem ob man einen Sketch für den PC oder für ein Android-Device schribt.

Zudem gibt es beim Smartphone und Tablet Sensoren, die i.d.R. beim PC nicht verfügbar sind und, was das Ganze gerade bei den letzten Anwendungen noch komplizierter gemacht hat, bei Tablets und Smartphones mit Android-Versionen kleiner als 6 wird VR nicht unterstützt.

Idee zur Entwicklung hybrider Libraries

Tatsächlich würde die Verfügbarkeit von Methoden, die sich unter Linux/Android auf Tablets und Smartphoenes mit Android >=6 gleich verhalten, wenn Kamera, VR, 3D-Animation, Headtracking programmiert wird, sehr hilfreich für die Entwicklung komplexer Anwendungen sein.

Dabei muß man dann in Kauf nehmen, dass beispielsweise Headtracking eingeschränkt oder ersatzweise auf ganz andere Weise realisiert wird, als wenn die VR-Funktionalität vollständig zur Verfügung steht.

Konkret:

  • Bei einem VR-Smartphone wird processing.vr benutzt und die eye-Matrix für das Tracking benutzt.
  • Bei Tablets und Smartphones mit Android-Version <6 könnte man den 3-Achsen-Beschleunigungssensor für das Erfassen von Kopf-Nicken und das Kompaß-Modul für die erfassung des Kopf-Drehens verwenden und damit die eye-Matrix setzen.
  • Beim PC könnte die Kopfbewegung ersatzweise über Mausbewegungen realisiert werden.

Hierin liegt ein Beispiel für Recovery-Blocks vor.


Im folgenden soll eine Library entwickelt werden, die sich dem Anwendungsprogrammierer immer gleich präsentiert, jedoch im Hintergrund auf das aktuelle Betriebssystem prüft und dann die jeweils passenden Klassen anzieht.


Hierin liegt ein Beispiel für die Anwendung des Design-Pattern "Fassade-Pattern" vor.


Darstellung des Konzepts für die automatische Instanzierung und Verwendung der richtigen Klasse je nach Betriebssystem.

Bild 0-1: Darstellung des Konzepts für die automatische Instanzierung und Verwendung der richtigen Klasse je nach Betriebssystem.