Cross-Platform-Entwicklung

Aus Android Wiki
Version vom 16. September 2020, 11:17 Uhr von Md 42 (Diskussion | Beiträge) (Neuer Link auf "Titanium")
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Unter Cross-Platform-Entwicklung (plattformübergreifende Entwicklung) versteht man die Entwicklung von Software, die auf mehr als nur auf einem Betriebssystem (Platform) lauffähig ist.[1] Der Entwickler kann also aus dem Quellcode ohne wesentlichen Anpassungen ein lauffähiges Programm für verschiedene Betriebssysteme erzeugen. Der große Vorteil dieses Ansatzes ist es, dass eine Software/App nicht mehrfach entwickelt werden muss, um sie auf verschiedenen Betriebssystemen (z.B. Windows und MacOS oder Android und iOS) bereitzustellen, was Entwicklungskosten spart.[2]

[2]

Im Zusammenhang mit mobilen Apps bedeutet dies heutzutage, dass aus einem Quellcode-Projekt (Code-Linie) eine lauffähige App sowohl für Android als auch iOS erzeugt werden kann. Bevor der Markt der Betriebssysteme für Smartphones und Tablets sich konsolidierte, gab es noch andere für die mobile Cross-Platform-Entwicklung relevante Betriebssysteme, z.B. Firefox OS[3] oder Windows Phone[4].

Der Cross-Platform-Entwicklung steht die Entwicklung nativer Apps entgegen, bei denen eine App mit vom Hersteller des jeweiligen Betriebssystem vorgegebenen Programmiersprachen und Entwicklungswerkzeugen (z.B. Compiler) erstellt wird und die dann nur auf diesem einem Betriebssystem lauffähig sind.

Nachteile[Bearbeiten | Quelltext bearbeiten]

Wenn eine mobile App mit Cross-Platform-Entwicklung entwickelt wird, dann kann dies die folgenden Nachteile mit sich bringen[2][5]:

  • Die Performanz der App kann schlechter sein als bei einer nativen App.
  • Die Optik und das Verhalten (Look and Feel) der App entspricht evtl. nicht dem einer nativen App auf dem jeweiligen Betriebssystem.
  • Der Zugriff auf bestimmte Funktionen des Betriebssystems (z.B. Kamera, Ortung, Dateisystem) ist evtl. nicht oder nur eingeschränkt und mit zusätzlichem Entwicklungsaufwand möglich.
  • Es fallen evtl. Lizenzkosten für benötigte Entwicklungswerkzeuge an, während die Entwicklungswerkzeuge für native Apps (Android Studio für Android und Xcode für iOS) kostenlos sind.
  • Die Installationsdatei der App (APK-Datei bei Android) kann größer werden, weil zusätzliche Laufzeitkomponenten hineingepackt werden müssen.

Grundlegende Ansätze für Cross-Platform-Entwicklung von mobilen Apps[Bearbeiten | Quelltext bearbeiten]

Ein Ansatz für die Cross-Platform-Entwicklung von mobilen Apps ist die Entwicklung sog. hybrider Apps, bei denen die Oberfläche und Logik der App als Web-App entwickelt wird (also mit HTML, CSS und JavaScript), und die App diesen Web-Content dann mit einem eingebauten Browser-Element (für Android das sog. WebView-Element[6]) darstellt. Bekannte Vertreter für diesen Ansatz sind die Frameworks Apache Cordova und Ionic.

Frameworks/Technologien für Cross-Platform-Entwicklung von mobilen Apps[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  2. 2,0 2,1 2,2 Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  3. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  4. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  5. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  6. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.