Freigeben über


Auswählen eines Frameworks für die mobile Entwicklung

Entwickler können clientseitige Technologien verwenden, um mobile Anwendungen selbst zu erstellen, indem sie bestimmte Frameworks und Muster für einen plattformübergreifenden Ansatz verwenden. Basierend auf ihren Entscheidungsfaktoren können Entwickler Folgendes erstellen:

  • Native Single-Platform-Anwendungen mit Sprachen wie Objective C und Java
  • Plattformübergreifende Anwendungen mit Xamarin, .NET und C#
  • Hybridanwendungen mit Cordova und seinen Varianten

Native Plattformen

Das Erstellen einer nativen Anwendung erfordert plattformspezifische Programmiersprachen, SDKs, Entwicklungsumgebungen und andere Tools, die von Betriebssystemherstellern bereitgestellt werden.

iOS

Von Apple erstellt und entwickelt, wird iOS verwendet, um Apps auf Apple-Geräten zu erstellen, nämlich das iPhone und das iPad.

  • Programmiersprachen: Objective-C, Swift
  • IDE: Xcode
  • SDK: iOS SDK

Android

Android wurde von Google und dem beliebtesten Betriebssystem der Welt entwickelt, um Anwendungen zu erstellen, die auf einer Reihe von Smartphones und Tablets ausgeführt werden können.

  • Programmiersprache: Java, Kotlin
  • IDE: Android Studio- und Android-Entwicklertools
  • SDK: Android SDK

Windows

  • Programmiersprache: C#
  • IDE: Visual Studio, Visual Studio Code
  • SDK: Windows SDK

Native Plattform-Experten

  • Gute Benutzererfahrung
  • Reaktionsfähige Anwendungen mit hoher Leistung und der Möglichkeit, mit nativen Bibliotheken zu schnittstellen
  • Hochsichere Anwendungen

Systemeigene Plattform-Nachteile

  • Die Anwendung wird nur auf einer Plattform ausgeführt.
  • Ressourcenintensiver und teurer für Entwickler beim Erstellen einer Anwendung
  • Wiederverwendung von niedrigerem Code

Plattformübergreifend und Hybridanwendungen

Plattformübergreifende Anwendungen bieten Ihnen die Möglichkeit, native mobile Anwendungen einmal zu schreiben, Code zu teilen und unter iOS, Android und Windows auszuführen.

Xamarin

Im Besitz von Microsoft wird Xamarin verwendet, um stabile, plattformübergreifende mobile Anwendungen in C# zu erstellen. Xamarin verfügt über eine Klassenbibliothek und Runtime, die auf vielen Plattformen wie iOS, Android und Windows funktioniert. Außerdem werden native (nicht interpretierte) Anwendungen kompiliert, die eine hohe Leistung bieten. Xamarin kombiniert alle Fähigkeiten der nativen Plattformen und fügt eine Reihe von leistungsstarken Features hinzu.

  • Programmiersprache: C#
  • IDE: Visual Studio unter Windows oder Mac

React Native

React Native wurde 2015 von Facebook veröffentlicht und ist ein Open-Source-JavaScript-Framework zum Schreiben von echten, nativ gerenderten mobilen Anwendungen für iOS und Android. Sie basiert auf React, Facebook JavaScript-Bibliothek zum Erstellen von Benutzeroberflächen. Anstatt den Browser als Ziel zu verwenden, zielt er auf mobile Plattformen ab. React Native verwendet native Komponenten anstelle von Webkomponenten als Bausteine.

  • Programmiersprache: JavaScript
  • IDE: Visual Studio Code

Unity

Unity ist eine Engine, die für die Erstellung von Spielen optimiert ist. Sie können damit hochwertige 2D- oder 3D-Anwendungen mit C# für Plattformen wie Windows, iOS, Android und Xbox erstellen.

Cordova

Mit Cordova können Sie Hybridanwendungen mithilfe von Visual Studio-Tools für Apache Cordova oder Visual Studio Code mit Erweiterungen für Cordova erstellen. Mit dem Hybridansatz können Sie Komponenten für Websites freigeben und webserverbasierte Anwendungen mit gehosteten Webanwendungsansätzen wiederverwenden, die auf Cordova basieren.

Plattformübergreifende Profis

  • Verbesserte Code-Nutzbarkeit durch Erstellen einer Codebasis für mehrere Plattformen
  • Adressieren eines breiteren Publikums auf vielen Plattformen
  • Drastische Verkürzung der Entwicklungszeit
  • Einfach zu starten und zu aktualisieren

Plattformübergreifende Nachteile

  • Geringere Leistung
  • Mangelnde Flexibilität
  • Jede Plattform verfügt über einen einzigartigen Satz von Features und Funktionen, um die native Anwendung kreativer zu machen.
  • Längere Entwurfszeit für die Benutzeroberfläche
  • Tooleinschränkung