Jonathan | 02.03.2021

Technologien mobiler Anwendungen - Projektvorstellung

Mobile > 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 im Rahmen meines dualen Studiums bei newcubator mit verschiedenen Entwicklungsmöglichkeiten von mobilen Anwendungen auseinandergesetzt. Das Ergebnis meiner Evaluation möchte ich Ihnen nun in meiner Blogreihe vorstellen. Die Blogreihe besteht aus insgesamt 9 Artikeln, die im Laufe des Jahres 2021 veröffentlicht werden. Wenn Sie keinen Artikel verpassen wollen, schauen Sie regelmäßig auf unser Blogseite nach und folgen Sie uns auf Social Media.

Blogreihe

Hier finden Sie die Auflistung der einzelnen Blogartikel die zur Blogreihe gehören. Diese Agenda wird mit jedem neu veröffentlichtem Artikel erweitert.

  1. Projektvorstellung

  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

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 für jede Technologie eine Beispiel App entwickelt, anhand welcher man die Entwicklungszeit und Komplexität vergleichen kann.

Die Evaluation basiert darauf, dass man eine Anwendung für die beiden Betriebssysteme iOS und Android entwickeln möchte. Andere Betriebssysteme für mobile Geräte liegen nicht im Fokus. 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 der Beispielapp

Um die Beispiel-Apps besser vergleichen zu können, wurde ein Thema gewählt, welches bei allen Apps umgesetzt wurde.

Thema der Beispiel-Apps ist ein Timer, wo der Nutzer eine Zeit in Stunden, Minuten und Sekunden angeben kann und bei gestartetem Timer nach Ablauf der angegebenen Zeit per Vibration und Ton benachrichtigt wird. 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 Startknopf wird zu einem Stoppknopf, mit dem der Ton abgeschaltet wird. Die App soll auf beiden Plattformen laufen können, wird allerdings im Rahmen dieses Projektes nur auf Androidgeräten getestet.

Projektplanung

Projektablauf

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

  1. Native Apps
    Eine mobile native App bezeichnet eine Anwendung, die mit einer Programmiersprache geschrieben wurde, welche in einem Maschinencode kompiliert werden kann, der von einem mobilen Betriebssystem verstanden wird.

  2. Native Apps 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.

  3. Cross Compile Frameworks
    Ein Cross Compile Framework ist ein Framework, welches in einer systemfremden Sprache geschrieben wird und in einem systemspezifischen Maschinencode kompiliert werden kann.

  4. Progressive Web App
    Eine Prgressive Web App ist eine Web Anwendung, die mit Hilfe von Service Workern und einem Manifest auf das Endgerät der Nutzer*innen heruntergeladen werden kann.

  5. Hybrid Apps
    Eine Hybrid App ist eine Web Anwendung, die durch einen nativen Wrapper Zugriff auf die nativen Funktionen des Endgeräts bekommt.

Entwicklung der Beispielapps

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.

Native App: Kotlin Programmiersprache

Native App mit nicht-nativem Framework: React Native Framework

Cross Compile App: Flutter Framework

Progressive Web App: React Framework

Hybrid App: PhoneGap + React Framework

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 (Dualer Student)

... ist dualer Student für IT- und Softwaresysteme am Standort Dortmund. Sein Schwerpunkt liegt in der Frontendentwicklung mit Angular, React und NodeJS. Stimmige Nutzungsabläufe und gute Usability si... mehr anzeigen

Standort Hannover

newcubator GmbH
Bödekerstraße 22
30161 Hannover

Standort Dortmund

newcubator GmbH
Westenhellweg 85-89
44137 Dortmund