Die Sicht des Entwicklers: Mobile Cloud-Apps im Vergleich mit nativen Anwendungen

Feature

Die Sicht des Entwicklers: Mobile Cloud-Apps im Vergleich mit nativen Anwendungen

Derzeit herrscht erhebliche Uneinigkeit darüber, welche Art mobiler Anwendungen besser ist – nativ oder Cloud. Um diese Kontroverse zu verstehen, ist es erst einmal wichtig, die Unterschiede im Hinblick auf die Entwicklung mobiler Cloud-Anwendungen und nativer Apps zu kennen.

Eine native App wird direkt auf dem Mobil-Gerät installiert und die Entwickler erstellen jeweils eine separate Version für jeden Geräte-Typ. Sie kann bereits bei Auslieferung auf dem Gerät installiert sein oder aus einem privaten oder öffentlichen App-Store heruntergeladen und installiert werden.

Eine native App wird für ein bestimmtes Gerät und dessen Betriebssystem entwickelt. Ihre Daten werden zumeist ebenfalls auf dem Gerät gespeichert, obwohl auch eine externe Speicherung der Daten möglich sind. Abhängig vom Typ der nativen App kann eine Verbindung zum Internet gänzlich überflüssig sein.

Native Apps besitzen die Fähigkeit, gerätespezifische Hard- und Software zu nutzen. Dadurch können sie technische Neuerungen wie GPS (Global Positioning System) oder die Kamera auf diesen Geräten nutzen. Dies kann als Vorteil nativer Apps gegenüber solchen in der mobilen Cloud angesehen werden.

Mobile Cloud-Apps ähneln eher Web-basierten Anwendungen. Die wichtigste Ähnlichkeit besteht darin, dass Cloud-Apps wie Web-Apps auf Servern und damit außerhalb des Mobil-Geräts laufen. Deshalb ist die Nutzung eines Browsers zur Anzeige und Verwendung der Benutzer-Oberfläche (UI) auf dem Mobiltelefon

Diesen Artikel hier weiterlesen

Erhalten Sie diesen Artikel exklusiv sowie sämtliche Inhalte wie E-Guides, News, Tipps und mehr.
  • Um diesen Artikel vollständig zu lesen, melden Sie sich bitte kostenlos an. Falls Sie schon ein Mitlgied sind, loggen Sie sich einfach oben links auf der Webseite an.

Mit dem Einreichen Ihrer Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Sie sich außerhalb der Vereinigten Staaten befinden, stimmen Sie hiermit zu, dass Ihre persönlichen Daten in die Vereinigten Staaten übertragen und dort verarbeitet werden. Datenschutz

erforderlich. Außerdem sind diese Apps zumeist für mehrere unterschiedliche Geräte-Typen ausgelegt, während sich native Apps jeweils nur für einen eignen.

Mobile Cloud-Apps müssen nicht auf das Mobiltelefon heruntergeladen und installiert werden, sondern die Anwender sehen das UI der mobilen App in einem Browser-Fenster auf ihrem Mobil-Gerät. Zur Nutzung mobiler Apps, die in einer Cloud laufen, ist eine Internet-Verbindung erforderlich. Wenn Daten zwischen einem Smartphone und einer mobilen Cloud-App übertragen werden, dann geschieht dies normalerweise mittels JSON über HTTP.

Mobile Cloud-Anwendungen können native Apps sein, die für die Ausführung in der Cloud umgeschrieben wurden. Ebenso kann es sich um speziell für Mobiltelefone entwickelte Apps oder Drittanbieter-Apps handeln, die von einer externen Quelle in die Cloud geladen werden. Manche Unternehmen bieten sowohl native als auch Cloud-Versionen ihrer Apps an.

Unterschiede zwischen mobilen Cloud-Apps und nativen Apps
Die Unterschiede im Erscheinungsbild einer nativen App, verglichen zu einer mobilen Cloud-App, sind im Grunde offensichtlich. Zu den für die Entwicklung relevanten Unterschiede zwischen mobilen Cloud-Apps und nativen Apps zählen:

  • Die Umgebung der mobilen Apps: Mobiler Cloud-Server oder mobiles Gerät
  • Look and Feel: Für native Apps ist es nativ, im Fall mobiler Cloud-Apps wird es emuliert. Native Apps ermöglichen zum Beispiel native iOS-Benachrichtigungen, während mobile Cloud-Apps das nicht unterstützen.
  • Zugriff auf Geräte-eigene Funktionen: Native Apps verfügen über einen direkten Zugriff auf Geräte-Funktionen wie GPS, Kamera, Bewegungssensoren und Audio-Ausgabe. Mobile Cloud-Apps können den Zugriff auf einen Teil dieser Funktionen über APIs realisieren, die direkt in das Gerät hinein reichen.
  • UI-Geschwindigkeit: Native Apps laufen in der Regel schneller, weil mobile Cloud-Apps die Benutzer-Oberfläche durch den Browser des Mobil-Geräts darstellen. Eine native App-Oberfläche läuft auf dem mobilen Gerät und kommt so ohne Browser-Overhead aus.

Die Entscheidung, eine mobile Cloud-App anstelle einer nativen App zu entwickeln, hängt häufig davon ab, ob der Entwickler bereit ist, im Tausch gegen die Nutzbarkeit auf verschiedenen Geräten auf einen Teil der Funktionalität zu verzichten.

Entwicklungsprozess bei nativen und mobile Cloud-Apps
Bei nativen Apps gibt es für jede Plattform zur Anwendungsentwicklung wie iOS oder Android einen eigenen Entwicklungsprozess und eine eigene, native Programmiersprache: Java (Android), Objective-C (iOS) und Visual C++ (Windows Mobile).

Für native Apps gibt es normalerweise Tools zur App-Entwicklung, zum Beispiel Apples iOS Software Development Kit, Android-Entwicklungstools von Google und Microsofts .NET Compact Framework. Auch Sybase und PhoneGap stellen Entwicklungstools für native Apps zur Verfügung. Im Gegensatz dazu sind die Entwicklungstools für mobile Cloud-Apps nicht an ein bestimmtes Smartphone-Betriebssystem gebunden.

Mobile Cloud-Apps werden in HTML5, CSS3, sowie JavaScript oder Server-seitigen Sprachen wie C++ geschrieben. Ebenfalls stehen Entwicklern Frameworks für Web-Anwendungen wie PHP, Rails oder Python zur Verfügung. Sowohl für native als auch mobile Cloud-Apps sind Tools und Frameworks verfügbar, die das Entwickeln von Software für eine Vielzahl von Betriebssystemen und Web-Browsern unterstützen.

Mit der Entwicklungsplattform von Apple können Entwickler nativer Apps iOS-Benachrichtigungen nutzen, um zum Beispiel einen Audio-Alarm auszugeben oder eine visuelle Warnmeldung oder ein Banner auf dem Bildschirm anzuzeigen. Mobile Cloud-Apps können nur auf einen Teil solcher nativen oder internen Funktionen und Informationen von Mobil-Geräten zugreifen. Dieser Zugriff erfolgt in der Regel über ein API.

Überlegungen, die es bei Mobil-Anwendungen zu berücksichtigen gilt
Es gibt eine Reihe von Fragen, die man sich vor dem Erstellen einer mobilen App stellen sollte. Dazu gehören:

  • Wie viele unterschiedliche mobile Geräte-Plattformen wollen Sie unterstützen?
  • Verfolgen Sie eine BYOD (Bring Your Own Device)-Strategie?
  • Müssen Sie spezielle Hardware- oder Software-Funktionen des Geräts nutzen?
  • Wie wichtig ist das Thema Sicherheit?
  • Worin besteht der Zweck der Anwendung?
  • Wie wichtig ist die Daten-Integration zum übrigen System?

Falls die Kompatibilität über mehrere Plattformen hinweg – wie zum Beispiel im Fall einer BYOD-Strategie – wichtig ist, dann sind mobile Cloud-Apps die bessere Wahl. Wenn Sie jedoch eine geschäftliche App benötigen, die möglichst viele Geräte-eigene Funktionen verwendet, dann führt der Weg aller Wahrscheinlichkeit nach über die native App.

Sicherheit ist die größte Schwäche mobiler Geräte. Ihre Tragbarkeit und Größe sind der Grund, dass sie häufiger verloren gehen oder gestohlen werden als beispielsweise Notebooks. Native Apps, die von außen auf geschäftliche Daten zugreifen und diese dann auf dem Gerät belassen, sind ein großes Risiko für den Fall, dass ein Gerät verloren geht oder gestohlen wird. Die Daten mobiler Cloud-Apps dagegen werden in der Cloud und nicht direkt auf dem Gerät gespeichert. Deshalb stellt ein verloren gegangenes oder gestohlenes Gerät ein deutlich geringeres Risiko dar.

Falls Sie geschäftliche mobile Apps für interne Zwecke oder zur Verwendung durch Kunden erstellen und Sie deshalb viele unterschiedliche mobile Geräte unterstützen müssen, dann sind mobile Cloud-Apps eine gute Wahl. Wenn Sie dagegen mobile Apps für den freien Verkauf erstellen, dann ist eine native App eine gute Idee. Denn die kann in einem oder mehreren App-Stores platziert werden, die regelmäßig von Kunden besucht werden.

Wenn mobile Geschäftsanwendungen auf Datenbanken zugreifen, was die meisten natürlich tun, dann müssen Sie die Apps in Ihr aktuelles System integrieren. Diese Aufgaben ist – ähnlich wie die Integration eines CRM- oder ERP-Produkts – nicht einfach. In solchen Fällen sind wieder mobile Cloud-Apps die bessere Wahl. Denn Ihre mobilen Apps laufen dann in derselben Cloud wie der Rest Ihres Systems – und nicht etwa auf einem externen mobilen Gerät, das in einer von der Cloud nicht unterstützten Sprache programmiert wurde.


Artikel wurde zuletzt im November 2012 aktualisiert

Ihre Meinung zum Artikel Kommentar

Teilen
Kommentare

    Ergebnisse

    Tragen Sie zu dem Gespräch bei

    Alle Felder sind erforderlich. Kommentare werden unterhalb des Artikels erscheinen.