Cross-Platform-Entwicklung

From Android Wiki
Jump to navigation Jump to search

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

Weblinks[edit | edit source]

Einzelnachweise[edit | edit source]

  1. "Eintrag "Cross-Plattform"". itwissen.info. Abgerufen am 2020-09-05. 
  2. 2,0 2,1 2,2 "Pros And Cons Of Cross Platform Mobile Application Development" (in English). rishabhsoft.com. 2019-01-29. Abgerufen am 2020-09-06. 
  3. "Mozilla Discontinues Firefox OS for Smartphones" (in English). xda-developers.com. 2015-12-08. Abgerufen am 2020-09-05. 
  4. Rupert Mattgey (2017-07-15). "Windows Phone ist tot: Jetzt zieht Microsoft den Stecker". chip.de. Abgerufen am 2020-09-05. 
  5. Michael J. Garbade (2018-08-23). "Native vs. cross-platform app development: pros and cons" (in English). codeburst.io. Abgerufen am 2020-09-06. 
  6. "Building web apps in WebView" (in English). developer.android.com. Abgerufen am 2020-09-05.