Bearbeiten von „Cross-Platform-Entwicklung

    Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden. Ein eigenes Benutzerkonto hat eine ganze Reihe von Vorteilen.

    Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

    Aktuelle Version Dein Text
    Zeile 1: Zeile 1:
    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.<ref>{{Cite web | url = https://www.itwissen.info/Cross-Plattform-cross-platform.html | title = Eintrag "Cross-Plattform" | accessdate = 2020-09-05 | publisher = itwissen.info | language = de}}</ref> 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.<ref name="rishabhsoft_pro_cons">{{Cite web | url = https://www.rishabhsoft.com/blog/pros-cons-cross-platform-mobile-app-development | title = Pros And Cons Of Cross Platform Mobile Application Development | accessdate = 2020-09-06 | date = 2019-01-29 | publisher = rishabhsoft.com | language = en}}</ref>
    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.<ref>{{Cite web | url = https://www.itwissen.info/Cross-Plattform-cross-platform.html | title = Eintrag "Cross-Plattform" | accessdate = 2020-09-05 | publisher = itwissen.info | language = de}}</ref> 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.
     
    <ref name="rishabhsoft_pro_cons" />


    Im Zusammenhang mit [[App#Mobile_App|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.
    Im Zusammenhang mit [[App#Mobile_App|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.
    Zeile 8: Zeile 6:
    Der Cross-Platform-Entwicklung steht die Entwicklung [[App#Native_App|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.
    Der Cross-Platform-Entwicklung steht die Entwicklung [[App#Native_App|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 ==
    == Ansätze für Cross-Platform-Entwicklung von mobilen Apps ==
     
    Wenn eine mobile App mit ''Cross-Platform-Entwicklung'' entwickelt wird, dann kann dies die folgenden Nachteile mit sich bringen<ref name="rishabhsoft_pro_cons"/><ref>{{Cite web | url = https://codeburst.io/native-vs-cross-platform-app-development-pros-and-cons-49f397bb38ac | title = Native vs. cross-platform app development: pros and cons | author = Michael J. Garbade | accessdate = 2020-09-06 | date = 2018-08-23 | publisher = codeburst.io | language = en}}</ref>:
    * 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 ==


    Ein Ansatz für die Cross-Platform-Entwicklung von mobilen Apps ist die Entwicklung sog. [[App#Hybride_App|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<ref>{{Cite web | url = https://developer.android.com/guide/webapps/webview | title = Building web apps in WebView | accessdate = 2020-09-05 | publisher = developer.android.com | language = en}}</ref>) darstellt. Bekannte Vertreter für diesen Ansatz sind die Frameworks [[Apache Cordova]] und [[Ionic]].
    Ein Ansatz für die Cross-Platform-Entwicklung von mobilen Apps ist die Entwicklung sog. [[App#Hybride_App|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<ref>{{Cite web | url = https://developer.android.com/guide/webapps/webview | title = Building web apps in WebView | accessdate = 2020-09-05 | publisher = developer.android.com | language = en}}</ref>) darstellt. Bekannte Vertreter für diesen Ansatz sind die Frameworks [[Apache Cordova]] und [[Ionic]].


    == Frameworks/Technologien für Cross-Platform-Entwicklung von mobilen Apps ==
    * [[Apache Cordova]]
    * [[Flutter]]
    * [[Ionic]]
    * [[Kotlin Multiplatform Mobile]]
    * [[NativeScript]]
    * [[React Native]]
    * [[Appcelerator_Titanium|Titanium]]
    * [[Xamarin]]
    == Weblinks ==
    * [https://dev.to/cathysmith/9-best-cross-platform-mobile-development-tools-for-2020-43g2 Überblicksartikel "9 Best Cross-Platform Mobile Development Tools for 2020"]
    * [https://dzone.com/articles/9-best-cross-platform-mobile-app-development-tools-1 Überblicksartikel "9 Best Cross-Platform Mobile App Development Tools"]


    == Einzelnachweise ==
    == Einzelnachweise ==
    Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
    Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Android Wiki-Beiträge automatisch unter der „Creative Commons Attribution/Share-Alike Lizenz 3.0“ stehen. Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

    Um das Wiki vor automatisiertem Bearbeitungsspam zu schützen, bitten wir dich, das folgende CAPTCHA zu lösen:

    Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)