Cross-Platform-Entwicklung: Unterschied zwischen den Versionen

K
Neuer Link auf "Titanium"
(Neuer Abschnitt "Weblinks" mit zwei Überblicksartikeln)
K (Neuer Link auf "Titanium")
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
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.
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>
 
<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 6: Zeile 8:
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.


== Ansätze für Cross-Platform-Entwicklung von mobilen Apps ==
== Nachteile ==
 
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 ==
== 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://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"]
* [https://dzone.com/articles/9-best-cross-platform-mobile-app-development-tools-1 Überblicksartikel "9 Best Cross-Platform Mobile App Development Tools"]
== Weblinks ==
* [https://ionicframework.com/ Offizielle Homepage]


== Einzelnachweise ==
== Einzelnachweise ==
Autopatrol, Moderator
1.304

Bearbeitungen