Vier Menschen halten und bedienen ihr Smartphone.
Performance-Analyse von nativen und plattformübergreifenden Entwicklungsansätzen bei typischen UI-Interaktionen
Native vs. plattformübergreifende App Programmierung (04.12.2019)

Derzeit besitzen circa 2,71 Milliarden Menschen ein Smartphone und jeder von ihnen benutzt täglich mehrere Apps. Einige Apps fühlen sich besser an, da sie flüssig laufen, bei anderen ist die Responsezeit auf Eingaben des Users träge, was zu einer negativen Erfahrung führt. Läuft eine App nicht zufriedenstellend für den User, ist dieser heutzutage schnell bereit, nach Alternativen zu suchen. Womit kann das verhindert werden?

 

Native vs. plattformübergreifende Programmierung

Eine mögliche Antwort darauf wäre, native Applikationen für jede einzelne Plattform (Android, iOS, Windows) zu programmieren, um sicherzustellen, dass die Benutzeroberfläche und die Bedienung vollständig mit dem jeweiligen System kompatibel sind. Native Applikationen haben auch keine Beschränkungen beim Zugriff auf spezifische Smartphone-Hardware, wodurch sie flüssiger und performanter werden. Diese Art der Entwicklung ist jedoch sowohl zeit- als auch kostenintensiv.

 

Die zweite Variante wäre, plattformübergreifende Applikationen zu programmieren. Das bedeutet, dass nur eine Applikation programmiert wird und somit nur eine Codebasis für alle Systeme besteht. Hier müssen jedoch Abstriche hinsichtlich der Performance gemacht werden, da die Applikationen nicht vollständig an das Betriebssystem und die Hardware angepasst werden können.

 

Ein weiterer wichtiger Punkt ist, dass bei plattformübergreifenden Applikationen die Ressourcenauslastung, insbesondere des Prozessors und des Arbeitsspeichers (CPU und RAM), um einiges höher ist, als bei nativen Applikationen. Dies führt in weiterer Folge zu einem erhöhten Energieverbrauch, was wiederum zu kürzeren Akkulaufzeiten und steigender Wärmeentwicklung des Smartphones führt.

 

Performance-Analyse

In meiner Masterarbeit werde ich mich dem Performance-Vergleich von nativen und plattformübergreifenden Entwicklungsansätzen bei typischen UI-Interaktionen widmen. Zu UI-Interaktionen zählen verschiedene Arten von Gesten mit welchen eine Applikation bedient wird, dazu gehören unter anderem scrollen, wischen und tippen. Dazu werde ich untersuchen, welche UI-Interaktionen häufig genutzt werden und jede ausgewählte Geste einzeln sowohl nativ als auch plattformübergreifend in einer selbstentwickelten App nachstellen. Danach wird in einem vollautomatischen Testfall die Performance der einzelnen Apps getestet und miteinander vergleichen. Für den Performancevergleich werde ich die Ressourcenauslastung (CPU und RAM) bei der Ausführung dieser Gesten heranziehen.

 

Die Ausführung der einzelnen Gesten im vollautomatischen Testverfahren ermöglicht einen direkten Vergleich der Testergebnisse. Auf diese Weise lässt sich die Ressourcenauslastung zwischen den unterschiedlichen Entwicklungsansätzen vergleichen.

 

Relevanz

Meine Masterarbeit soll nach Fertigstellung sowohl Entwicklern wie auch Firmen helfen, den richtigen Entwicklungsansatz (nativ oder plattformübergreifend) für die Anforderungen ihrer Applikation zu wählen.

Die Wahl des passenden Entwicklungsansatzes ist eine grundlegende Entscheidung bei der Entwicklung von mobilen Applikationen. Ein späterer Wechsel ist in den meisten Fällen mit sehr hohen Kosten und großem Aufwand verbunden. Das Wissen, wie hoch der zu erwartende Ressourcenverbrauch bei UI-Interaktionen sein wird, ist ein wichtiger Indikator, welcher Entwicklungsansatz gewählt werden soll.

Tags:

#mobilesoftwareentwicklung #nativesoftwareentwicklung #plattformübergreifendesoftwareentwicklung #iOS #android
CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.
    Datenschutzinformation
    Der datenschutzrechtliche Verantwortliche (Internet Privatstiftung Austria - Internet Foundation Austria, Österreich) würde gerne mit folgenden Diensten Ihre personenbezogenen Daten verarbeiten. Zur Personalisierung können Technologien wie Cookies, LocalStorage usw. verwendet werden. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, können Sie Ihre Einwilligung jederzeit via unserer Datenschutzerklärung anpassen oder widerrufen.