Es gibt verschiedene Programmiersprachen für die Entwicklung von Applikationen (App). Diese können zwischen Native-, Hybrid- und Cross-Plattform abgegrenzt werden.
Native Programmiersprachen sind für die jeweiligen Betriebssysteme optimiert. Daraus resultiert ein unvollständiger Zugriff auf die Funktionalitäten der anderen Systeme. Der Entwicklungsaufwand steigt durch das Berücksichtigen der Besonderheiten der einzelnen Systeme. Für ein iPhone-System ist der Zurück-Button beispielsweise absolut notwendig, jedoch ist dieser für ein Android-System vollkommen überflüssig, da dieser in der Menüzeile fest integriert ist. Dadurch ergeben sich kleine aber wesentliche Unterschiede in der App-Entwicklung und können die Benutzerfreundlichkeit (User Experience) der Anwendung stark beeinflussen.
Die Entwicklungsdauer einer App kann durch verschiedene Faktoren beeinflusst werden. Mögliche Faktoren wären, für welche der Zielsysteme soll die Anwendung entwickelt werden, wie sieht der Funktionsumfang der APP aus und mit welcher Technik die App entwickelt werden soll.
Bei der Nativen Programmierung erhöht sich der Entwicklungs- und Wartungsaufwand, wenn für unterschiedliche Zielsysteme entwickelt wird, da für jedes Zielsystem eine eigene Anwendung entwickelt wird. Daraus resultiert ein steigender Wartungsaufwand, da die Sicherheitslücken bzw. die Programmierfehler (Bugs) für jede Applikation einzeln implementiert, getestet und übernommen werden müssen. Aus diesem Grund wurden Programmiersprachen für Hybride Apps entworfen, welche die identischen Funktionen der Systeme zusammenfassen. Somit müssen nur noch die speziellen Sonderfälle, welche durch Systemspezifische Besonderheiten zustande kommen, entsprechend geprüft und je nach System unterschiedlich implementiert werden. Dies reduziert den Programmieraufwand ungemein, da nur noch eine Applikation programmiert wird. Der Wartungsaufwand reduziert sich ebenfalls, da die Anpassungen für alle Zielsysteme nur einmal implementiert wird.
Die folgende Aufzählung listet die gängigsten Native-Programmiersprachen für die Systeme Android, iPhone und Windows auf:
- Android Smartphones:
- Java
- Kotlin
- iPhone:
- Swift
- Objective-C
- Windows:
- C#
- XAML
In der folgende Liste sind die Cross-Plattform Programmiersprachen, welche Systemunabhängige Komponenten zusammenfassen aufgelistet:
- Dart
- Flutter
- React Native
- Xamarin