Jonathan | 09.10.2024

Technologien mobiler Anwendungen - Projektvorstellung

App > Technologien mobiler Anwendungen - Projektvorstellung

Bei der Entwicklung von neuen Anwendungen stellt sich im Planungsprozess zwangsläufig irgendwann die Frage: „Welche Technologie verwende ich, um meine App zu entwickeln?".

Um diese Frage schnell und effizient beantworten zu können, habe ich mich mit den verschiedenen Entwicklungsmöglichkeiten von mobilen Anwendungen auseinandergesetzt und gebe Ihnen das Ergebnis meiner Evaluation in dieser Blogreihe an die Hand, damit Ihnen Ihre Entscheidung zukünftig leichter fällt.

Die Blogreihe „Technologien mobiler Anwendungen"

Hier finden Sie die Auflistung der einzelnen Blogartikel die zur Blogreihe gehören.

  1. Projektvorstellung (dieser Artikel)

  2. Native Apps

  3. Native Apps mit nicht-nativen Framework

  4. Cross Compile Frameworks

  5. Progressive Web App

  6. Hybrid Apps

  7. Technischer Vergleich der Technologien

  8. Wirtschaftlicher Vergleich der Technologien




Projektüberblick


Simon und einige Kolleg:innen stehen vor dem Whiteboard.
Bei der Konzeption einer mobilen App stehen viele Punkte zur Diskussion.

Ziel des Projektes ist die Erstellung einer Entscheidungsmatrix anhand einer Evaluation, mit der die Technologieauswahl für mobile Anwendungen effizienter getroffen werden kann. Die Evaluation umfasst die fünf Entwicklungsansätze Native Apps, Native Apps mit nicht-nativem Framework, Cross Compile Frameworks, Progressive Web Apps (PWAs) und Hybrid Apps.

Die verschiedenen Technologien werden mit Fokus auf Gesamtentwicklungszeit, Abhängigkeiten zu anderen Technologien und Herstellern, Entwickler Know-how am Markt, Komplexität und Risiken und der Total Cost of Ownership bewertet und verglichen. Außerdem wird mit jeder Technologie eine Beispiel Anwendung entwickelt, anhand welcher die Entwicklungszeit und Komplexität vergleichen wird.

Für die Evaluation wird zu Grunde gelegt, dass ein Projekt vorliegt, welches die Entwicklung einer Anwendung für die mobielen Betriebssysteme iOS und Android vorsieht. Andere Betriebssysteme werden im Rahmen dieser Blogreihe nicht weiter betrachtet. Zur Messung des Entwickler-Know-hows am Markt und der Beliebtheit werden Umfragen und Job-Listing-Statistiken herangezogen. Die Vorstellung der Technologien basiert hauptsächlich auf Rechercheergebnissen.




Anforderungen an die Beispielapp

Für gute Vergleichbarkeit zwischen den Technologien wurde als Beispiel-App für alle Plattformen die Implementierung eines Timer gewählt. Bei diesem können User einen Zeitraum in Stunden, Minuten und Sekunden angeben und werden nach Ablauf der angegebenen Zeit per Vibration und Ton benachrichtigt. Das User-Interface besteht aus zwei Buttons, einer Uhr und einem Fortschrittsbalken um die Uhr herum.

Mit Klick auf die Uhr wird der Zahlen-, bzw. Uhrzeit-Picker geöffnet. Mit Klick auf einen Button wird der Timer gestartet und der Button wird zum Pause-Button. Mit Klick auf den zweiten Button wird der Timer auf 0 zurückgesetzt, unabhängig davon, ob er noch läuft oder bereits abgelaufen ist. Wenn keine Zeit ausgewählt wurde, bewirkt der Klick auf den Startknopf nichts. Ist der Timer abgelaufen, wird ein Ton abgespielt und der Start-Knopf wird zu einem Stop-Knopf, mit dem der Ton abgeschaltet wird.

Die Beispiel-App wird in allen Technologien sowohl auf iOS als auch Android funktionieren.


Projektplanung

Projektablauf


Entwickler mit Laptops arbeitet

Der erste Teil des Projektes besteht aus der Vorstellung der einzelnen Entwicklungsmöglichkeiten und die konkrete Betrachtung einzelner Frameworks oder Programmiersprachen, die für diese App-Entwicklung verwendet werden.

Der zweite Teil des Projektes wird der Vergleich der verschiedenen Entwicklungsmöglichkeiten anhand der bereits genannten Kriterien sein. Mit den Ergebnissen aus dem Vergleich wird dann als Ergebnis des Projektes eine Entscheidungsmatrix erstellt, mit der man leicht die beste Technologie für seine Anwendung herausfinden kann.


Technologien der mobilen Apps

In der Tabelle werden die einzelnen App-Technologien native App, native-App mit nicht-nativem Framework, Cross Compile Framework, PWA und hybride App vorgestellt.

Für die verschiedenen Entwicklungsmöglichkeiten wurde jeweils eine Beispieltechnologie gewählt, mit der die App entwickelt wurde. In den Blogartikeln zu den Entwicklungsmöglichkeiten wird näher auf die Entwicklung der App und das Endresultat nach jeweils ca. 8h Entwicklungszeit eingegangen.

App-TechnologieBeschreibungBeispiel-App Umsetzung
Native AppEine mobile native App bezeichnet eine Anwendung, die mit einer Programmiersprache geschrieben wurde, welche in Maschinencode kompiliert und von einem mobilen Betriebssystem ausgeführt wird.Kotlin (Programmiersprache)
Native App mit nicht-nativen Framework Eine native App mit nicht-nativen Framework bezeichnet eine Anwendung, die mit einem Framework in systemfremder Sprache geschrieben wird, aber so übersetzt wird, dass die nativen Komponenten des Betriebssystems genutzt werden.React Native Framework
Cross Compile Framework Ein Cross Compile Framework ist ein Framework, welches in einer systemfremden Sprache geschrieben wird und in einen systemspezifischen Maschinencode kompiliert werden kann.Flutter Framework
Progressive Web App Eine Progressive Web App ist eine Web Anwendung, die mit Hilfe von Service Workern und einem Manifest auf das Endgerät der Benutzer*innen heruntergeladen werden kann.React Framework
Hybrid AppEine Hybrid App ist eine Web Anwendung, die durch einen nativen Wrapper Zugriff auf die nativen Funktionen des Endgeräts bekommt.Capacitor + React Framework


Ich wünsche Ihnen viel Spaß mit meiner Blogserie!

Sie haben eine Produktidee für eine App und sind sich unsicher, welcher Technologie für Sie die Beste ist? Dann kontaktieren Sie uns gerne für ein unverbindliches Erstgespräch.

Headshot of Jonathan Zbick
Jonathan (Softwareentwickler)

... hat sein duales Studium für IT- und Softwaresysteme erfolgreich abgeschlossen und ist seit dem als Softwareentwickler am Standort Dortmund tätig. Am liebsten entwickelt er mit Typescript und Frame... mehr anzeigen

More from Jonathan

Unsere Entwicklungsexpertise

Standort Hannover

newcubator GmbH
Bödekerstraße 22
30161 Hannover

Standort Dortmund

newcubator GmbH
Westenhellweg 85-89
44137 Dortmund