App-Entwicklung: Drei Strategien mobiler Apps

App - dieses Schlagwort hat spätestens seit dem Siegeszug der Smartphones im Jahr 2007, als das erste iPhone vorgestellt wurde, im Wortschatz der Menschen Einzug gehalten. App ist hierbei die Kurzform für Application (Anwendung).

Apps bieten, anders als die klassischen Computerprogramme, häufig einen kleinen Ausschnitt eines Aufgabengebietes. Sie konzentrieren sich auf das Erledigen einer einzelnen Aufgabe, was sie insgesamt leichter in der Handhabung macht. Sie starten schnell, sind aufgrund der Umgebung (Smartphone/Tablet) jederzeit und überall einsetzbar und vermitteln ein modernes Flair. Hinzu kommt, dass viele Apps kostenlos oder zu minimalen Kosten über den jeweiligen Store angeboten werden.

Grob unterschieden, existieren drei Strategien der App-Entwicklung: Die Native, die Cross-Plattform- sowie die Cross-Compilation-Entwicklung. In diesem kurzen Beitrag wollen wir Licht ins Dunkel bringen und die drei verschiedenen Typen von mobilen Apps kurz und bündig erklären.


Nach der Betrachtung der unterschiedlichen Herangehensweisen zum Erstellen einer App, widmen wir uns in unserem App Development Whitepaper ebenfalls drei Fallbeispielen. Erfahren Sie jetzt mehr über App-Entwicklung und die benötigten Ressourcen: Jetzt hier kostenlos downloaden.


Native Entwicklung

Die Native Entwicklung begann 2008 mit dem iPhone von Apple. Nach einer anfänglich auf dem Web basierenden Lösung war dies der Ansatz, den Apple den Entwickler*innen als favorisierten Weg zur Erstellung einer App vorgab. Google folgte ein Jahr später mit seinen Android Smartphones und einer eigenen Plattform.

Die benötigten Programmiersprachen für iOS sind Objective-C und seit 2014 die Apple- Eigenentwicklung Swift. Für die Android-Plattform kommen die Sprachen Java und Kotlin zum Einsatz. Seit 2019 gilt Kotlin als die bevorzugte Sprache zur Entwicklung von Android Apps. Für beide Plattformen existiert somit eine präferierte Sprache. Apples Swift ist überwiegend für iOS/macOS Apps einsatzfähig, während sich mit Kotlin ebenfalls Native iOS Apps erstellen lassen.

Der größte Pluspunkt für die Native Entwicklung ist der direkte Zugriff auf alle Funktionen des Gerätes. Ein weiterer Vorteil stellt die Aktualität der zur Verfügung stehenden SDKs dar. Das Software Development Kit stellt Tools und Hilfsmittel zur Programmierung zur Verfügung. Google wie auch Apple stellen vor dem jeweiligen Release Beta-Versionen der SDKs für ihre Betriebssysteme bereit, mit denen die Entwickler sich vorab einen Überblick über die neuesten Funktionen verschaffen und ihre Apps auf Kompatibilität prüfen.

Darüber hinaus wird bei der nativen Programmierung sichergestellt, dass sich der Look & Feel der App zu 100% nach der entsprechenden Plattform richtet. Somit finden sich Benutzer schnell mit allen Interaktionsmöglichkeiten aufgrund des Wiedererkennungswertes zurecht.


Cross-Plattform-Entwicklung

Hybrid

Hybride Apps sind eine Mischung aus nativen Bestandteilen und einer Web-Anwendung. Die App nutzt einen nativen Container in Form einer WebView. Hinter dem Begriff WebView verbirgt sich ein Browserfenster, das standardmäßig ohne die üblichen Steuerungselemente angezeigt wird. Es handelt sich also um eine native Komponente, eingebunden in eine App, die Webinhalte darstellt.

Hybride Apps können ebenfalls für Desktop-Betriebssysteme erstellt werden, allerdings ist dafür ein anderes Framework nötig. So fällt die Arbeit doppelt an: Für die mobile App und die Desktop-Variante.

Die Entwicklung im Web-Kontext erfordert Kenntnisse in der Programmiersprache JavaScript bzw. TypeScript. Zusätzlich kommen HTML und CSS/SCSS zum Einsatz. Der große Vorteil dieses Ansatzes: Viele Entwickler*innen sind mit den Sprachkonzepten vertraut und müssen sich nur noch die Besonderheiten des jeweils eingesetzten Frameworks aneignen.

Um die Funktionalitäten des Smartphones nutzen zu können, werden Plugins benutzt, welche die einzige Verbindung zwischen Web-Inhalt und nativen Funktionen des Gerätes darstellen. Für gängige Standardfunktionen, wie der Kamerazugriff oder Push Nachrichten, sind fertige Plugins erhältlich. Für spezielle Funktionen ist nativer Code erforderlich.

PWA

Bei einer PWA (Progressive Web Application) handelt es sich um eine Webseite, die durch Offline-Funktionalität das Verhalten von Apps simulieren kann. Es handelt sich um reine Webinhalte ohne nativen Container, die direkt über den System-Browser aufgerufen werden. Die PWA kann auf Wunsch auch in den nativen Stores veröffentlicht werden. Dafür muss sie allerdings in eine native App umgewandelt und in einen nativen Container (WebView) abgelegt werden.

Viele Funktionen einer App können simuliert werden, jedoch nicht alle. Unter iOS können beispielsweise keine Web Push Notifications verschickt werden. Allerdings wird daran gearbeitet, diese und weitere Funktionen, wie zum Beispiel Bluetooth-Konnektivität, ermöglichen zu können.

Wenig überraschend ist der Technologie-Stack, mit dem bei einer PWA gearbeitet wird. Es handelt sich um den Gleichen, wie bei der hybriden Entwicklung: HTML, CSS/SCSS und JavaScript/TypeScript. Meist wird zusätzlich ein Framework, wie zum Beispiel Angular oder React, verwendet.

Die grafische Oberfläche der Anwendung ist nicht an die Plattform gebunden und braucht somit nicht den Plattformvorgaben zu folgen. Oft kommt das sogenannte Material Design von Google zum Einsatz, was zumindest für Android Nutzende einen Wiedererkennungswert bietet.


Cross-Compilation

Das Vorgehen mittels Cross-Complilation unterscheidet sich vor allem durch den entstehenden Code. Während bei den hybriden Apps HTML, CSS und JavaScript ausgeliefert werden, entsteht bei der Cross-Compilation für das Zielsystem ausführbarer Maschinencode. Das Prinzip dahinter ist so einfach wie auch kompliziert: Die App wird beispielsweise in C# geschrieben und dieser Code wird später in den benötigten Plattform-Code übersetzt. Der Vorteil liegt hier vor allem darin, dass es sich am Ende des Prozesses wieder um eine Native App handelt.

Eine Besonderheit der Cross-Compilation ist, dass nicht nur mobile Apps erstellt werden können, sondern dass Applikationen auch für die Desktops von Windows, macOS und Linux bereitgestellt werden. Allerdings kann bisher keines dieser Tools alles.

Auch wenn der Code des eingesetzten Tools in plattformspezifischen Code übersetzt wird und eine native App erstellt, erreichen diese Applikationen nicht den Effizienzgrad einer nativen App, bezogen auf die Arbeitsspeicher- oder CPU-Auslastung. Anwendungen, die mittels Cross-Compilation entwickelt wurden, sind in den meisten Fällen jedoch ressourcenschonender als eine hybride App.

Mittels Cross Compilation kann jede native Funktion des Gerätes angesprochen werden. Kommt allerdings eine neue Funktion der Plattform hinzu, ist es erforderlich, im Cross-Compilation-Tool die Übersetzungsfunktion zu schreiben.

App Development – Das Whitepaper


Eine Vielzahl an Tools, Frameworks und Sprachen stehen für die Entwicklung einer App bereit. Die Ansätze der einzelnen Entwicklungsphilosophien unterscheiden sich teilweise stark voneinander. Wir beleuchten in unserem Whitepaper die Unterschiede sowie Vor- und Nachteile.

Ziel ist es nicht, die einzig mögliche Art der App-Entwicklung zu skizzieren, sondern wann welche Wahl sinnvoll ist.

Holen Sie sich Ihr kostenloses Exemplar.

Dokument anfordern

Fordern Sie jetzt das gesamte PDF-Dokument mit dem Titel "App Development – Das Whitepaper" kostenlos an.

Das könnte Sie auch interessieren

Graphical User Interfaces

Intuitive GUI-Lösungen für Ihre Anwendungen

Jetzt lesen

JAVASCRIPT / TYPESCRIPT

Beliebiger Browser. Beliebiger Host. Beliebiges Betriebssystem. Open Source.

Mehr erfahren

Standorte

Standort Lünen
     Pierbusch 17
     44536 Lünen
Standort Dortmund
     Emil-Figge-Straße 85
     44227 Dortmund
Standort Hamburg
     Willy-Brandt-Straße 23
     20457 Hamburg