Plattformunabhängige Entwicklung

Plattformunabhängige Entwicklung, ist laut Duden, wenn die Software „auf verschiedenen Plattformen lauffähig“ ist. Die Definition auf der Webseite eteaching.org ist detaillierte, da sie konkreter schreiben, was unter einer Plattform zu verstehen ist:

„Plattformunabhängigkeit ist die Eigenschaft eines Programms, mit unterschiedlichen Hard- und Softwarekonstellationen kompatibel zu sein, z.B. unterschiedliche Betriebssystem wie Windows, Unix oder Mac OS oder Rechnerarchitekturen wie Macintosh oder PC.“

Demnach ist zunächst zu klären, was unter dem Begriff Plattform zu verstehen ist. Balzert (2009) sagt, „dass eine Plattform durch den jeweils verwendeten Prozessortyp und das eingesetzte Betriebssystem gekennzeichnet wird“.

Aus Sicht des Autors ist diese Definition aber nicht ausreichend, da in der heutigen Zeit Anwendungssoftware nicht mehr nur für Personal Computer, sondern auch für andere Gerätetypen wie Smartphone oder Tablet-PCs entwickelt wird. Diese Plattformen zeichnen sich insbesondere durch unterschiedliche Benutzerschnittstellen für die Interaktion mit dem Anwender aus. So existiert eine Vielzahl von Geräten mit unterschiedlichen Bedienkonzepten. Des Weiteren hat sich das Eingabeverhalten durch die Touch Screens stark verändert. Hinzu kommen neue Technologien, wie Beschleunigungssensor, Kompass und Lokalisierung. All diese Eigenschaften machen eine Plattform in der heutigen Zeit aus.

Aus diesem Grund ist der Begriff Plattform nach Auffassung des Autors dynamisch zu betrachten, da er abhängig der verwendeten Technologien zu interpretieren ist.

In dieser Arbeit sind die Geräte nach folgenden Kriterien zu unterscheiden:

- Betriebssystem

- Laufzeitumgebung

- Prozessorarchitektur

- Bildschirm

- Bedienung

- Anatomie der Hardware

Bei der plattformunabhängigen Entwicklung sind diese Kriterien zu beachten.

Die Autoren des Buchs „Professional Cross-Plattform Mobile Development in C#“ legen daher folgendes Ziel für die Entwicklung von plattformunabhängigen Anwendungen fest:

„The goal of cross-platform development is to maximize the amount of code shared while maintaining the native look and feel of each platform.”

Daraus folgt, dass plattformunabhängige Entwicklung als solches die gleichzeitige Entwicklung von Anwendungen für unterschiedliche Plattformen ist, die sich durch Hardwareeigenschaften einerseits und unterschiedliche Betriebssystem andrerseits abgrenzen.

Eine saubere Schichtenarchitektur mit sauber definierten plattformunabhängigen APIAufrufen, ohne spezielle plattformabhängige Bibliotheken zu verwenden, würde die Entwicklung sicherlich vereinfachen. Davon ist jedoch nicht in allen Fällen auszugehen. Denn es stehen nicht für alle Zielplattformen einheitliche bzw. kompatible Technologien und Entwicklungswerkzeuge zur Verfügung. Es ist daher davon auszugehen, dass Anpassungen und Neuentwicklungen auf allen Architekturschichten vorzunehmen sind.

 
< Zurück   INHALT   Weiter >