Zum Inhalt springen

Die kurvX Apps – Teil 1: nativ, Cross-Platform oder hybrid – Warum wir uns für eine native Entwicklung entschieden haben

Die kurvX Apps – Teil 1: nativ, Cross-Platform oder hybrid – Warum wir uns für eine native Entwicklung entschieden haben

Share Post:

kurvX Apps: Android & iOS

Worum geht es? Wahl der richtigen Entwicklungsplattform für die kurvX App

Wer die Wahl hat, hat die Qual: Native, hybride oder Cross-Plattform-Technologie?

In der dynamischen Ära der mobilen Technologien standen wir vor einigen Jahren mit unserem kurvX vor einer wichtigen Entscheidung: Sollen wir für die Entwicklung der mobilen Apps eine native, hybride oder Cross-Platform-Technologie nutzen? Angesichts der spezifischen Anforderungen der kurvX App fiel unsere Wahl nach gründlicher Überlegung und Bewertung der Optionen auf die native Programmierung. Obwohl die Alternativen damals weniger ausgereift waren, bleibt die native Entwicklung auch heute noch die Qualitätswahl. Dieser Beitrag erläutert unsere Wahl und beleuchtet die Vorteile und Herausforderungen, die mit dieser Wahl verbunden waren. Um die Bedeutung dieser Entscheidung zu verdeutlichen, werden wir unter anderem folgende Aspekte betrachten:

  • die spezifischen Anforderungen der kurvX App
  • den Zugriff auf Hardware
  • das Design (UI & UX)
  • die Entwicklungsumgebung: SDKs & IDEs & Libraries
  • das Ökosystem verschiedener Gerätemodelle und -varianten

Spezifische Anforderungen der kurvX App

Fahrdynamik in Echtzeit: Die kurvX Funktionen erfordern eine maßgeschneiderte App-Lösung

Die IMU kurvX misst die gesamte Fahrdynamik des Motorrads während der Fahrt. Durch die Verbindung von kurvX mit der kurvX App via Bluetooth LE (BLE) können Fahrer ihren kurvX konfigurieren, ihre Sessions aufzeichnen und ihre Schräglagen überprüfen. Nach der Fahrt ermöglicht die App eine detaillierte Analyse aller Fahrdaten in grafischer und tabellarischer Form. Diese Funktionalitäten brachten einzigartige Herausforderungen mit sich, die maßgeschneiderte technische Lösungen in der Entwicklung der mobilen Apps erforderten.

Stabile Bluetooth Verbindung für die Datenübertragung: Eine zuverlässige Datenübertragung zwischen kurvX und der App sowohl im Vorder- als auch im Hintergrund ist essenziell, um eine optimale Funktionalität und Benutzerfreundlichkeit zu gewährleisten.

Speicherung übertragener Daten im Smartphone: Die App musste in der Lage sein, große Datenmengen, die von kurvX aufgenommen werden, sicher und effizient zu speichern, um diese anschließend in die Cloud hochzuladen und auf dem Smartphone zu visualisieren.

Präzise und stabile Standortaufnahme: Für Features, die die Aufnahme des Standorts erfordern, war eine genaue und zuverlässige Standortaufnahme notwendig. Die App sollte in der Lage sein, GPS-Daten auf dem Smartphone zu erfassen und währenddessen die Bluetooth-Verbindung zum kurvX aufrecht zu erhalten.

Einheitliches Design auf Android und iOS: Um eine einheitliche Markenidentität zu wahren, musste die App trotz der Unterschiede in Bildschirmgrößen, Hardware-Spezifikationen und Modellepallete auf allen Plattformen und Geräten gleich aussehen.

Robustheit & Performance: Reaktionsschnell sollte die App sein und über längere Zeiträume hinweg zuverlässig laufen. Was besonders wichtig ist, da Motorradfahrten oder -trainings nähmlich mehrere Stunden dauern können.

Datenübertragung in die Cloud: Eine sichere und effiziente Übertragung von Daten in die Cloud war erforderlich, um eine zentrale Datenverwaltung in naher Zukunft zu ermöglichen.

Integration weiterer Features: Die App-Architektur musste flexibel genug sein, um zukünftige Erweiterungen und Features zu unterstützen, ohne die bestehende Nutzererfahrung zu beeinträchtigen.

Jede dieser Anforderungen war ausschlaggebend für unsere Wahl, da sie spezifische Zugriffe auf Plattformebene sowie eine tiefgreifende Integration mit der Hardware verlangten, um die bestmögliche Performance und Nutzererfahrung zu gewährleisten.

Zugriff auf Hardware

Für die App ist eine stabile Verbindung zum kurvX unerlässlich.

Diese erlaubt der App über Bluetooth LE mit dem kurvX oder gegebenenfalls gleichzeitig mit mehreren kurvX zu kommunizieren. Während einer Sessionsaufnahme werden umfangreiche Datenmengen vom kurvX an die App übertragen. Die App muss in jeder Lage – im Vorder- oder im Hintergrund – die Bluetooth-Verbindung zum kurvX aufrecht halten und gleichzeitig den Standort aufnehmen können. Für den Zugriff auf Hardware im Hintergrund verlangt sowohl Android als auch iOS von Apps spezielle Berechtigungen und Einstellungen. Diese lassen sich mit nativer Entwicklung leicht bewerkstelligen.

Des Weiteren soll die App in der Lage sein aufgenommene Sessions aus dem kurvX zu speichern, zu visualisieren und in die Cloud zu übertragen. Dazu musste die App das volle Potenzial der Gerätehardware ausschöpfen können, um eine reibungslose Performance – die für die Funktionalität der App unerlässlich ist – sicherzustellen.

Design (UI & UX)

Wir strebten danach, ein durchgehend konsistentes und benutzerfreundliches Design zu gewährleisten.

Die App sollte reaktionsschnell sein und gleiches Aussehen auf verschiedenen Gerätemodellen und -varianten haben. Durch die native Entwicklung war es uns möglich das Aussehen und die Reaktionsfähigkeit der Apps für jedes Gerätmodell oder jede Plattform-Version zu optimieren und gleichzeitig die spezifischen Richtlinien und Standards des App Designs von Google und Apple vollständig einzuhalten. Im Wesentlichen trug dies dazu bei, die App jedes Mal schnell und problemlos in den App Store bzw. Google Play Store veröffentlicht zu bekommen.

Entwicklungsumgebung: SDKs & IDEs

Die native IDEs – Android Studio – Xcode – sind speziell auf die SDKs der jeweiligen Plattformen zugeschnitten und bieten leistungsstarke Tools für die Entwicklung, Fehlerbehebung und Leistungsoptimierung. Das erleichtert nicht nur die Entwicklung, sondern auch die Wartung von Apps. Sie fördern effiziente Entwicklungsprozesse, Designs und Architektur. Allerdings haben sie eine steile Lernkurve, denn sie erfordern ein spezifisches Wissen welches erst nach einer langen Eingewöhungszeit ersteht. Aber sie ermöglichten auch eine tiefere Integration in die Plattformen und führten zu einer höheren Code-Qualität der Apps.

Programmiersprachen

Die Entscheidung für die native App-Entwicklung bedeutete ausserdem, sich auf Swift für iOS und Java/Kotlin für Android zu spezialisieren. Diese Programmiersprachen, obwohl sie eine herausfordernde Lernphase als manche Cross-Platform-Sprachen wie JavaScript aufweisen, sind modern und ermöglichen eine tiefgreifende Kontrolle der jeweiligen Plattformen.

Libraries

Die Verwendung von Libraries half uns erheblich bei der Erweiterung einiger Funktionalitäten der App.

Libraries sind insofern wichtig, da Sie die Entwicklung beschleunigen und den Funktionsumfang der SDKs erweitern. Native Libraries sind sorgfältiger verwaltet und leicht zu integrieren. Dies ist entscheidend, um die Sicherheit und die Performance von Apps zu gewährleisten.

Die Verwendung von Libraries half erheblich bei der Erweiterung einiger Funktionalitäten der App. Wir setzten auf bewährte Libraries, die den Zugriff auf komplexere Funktionen wie verschlüsselte Datenübertragung über das Internet und eine fortschrittliche Datenvisualisierung in der App ermöglichten.

Ökosystem verschiedener Gerätemodelle und -variante

Besondere Herausforderung: IOS, Android und die Vielfalt der Gerätemodelle, -varianten und -versionen

Android Coverage & iOS Usage

Nicht nur die Vielfalt der Gerätemodelle und -varianten sondern auch die unterschiedlichen Android- bzw. iOS-Versionen, auf denen die Apps laufen sollten, stellte eine besondere Herausforderung dar. Durch die Wahl des Nativen Entwicklungsansatzes stellten wir sicher, dass die App nicht nur auf aktuellen, sondern auch auf zukünftigen Geräten mit unterschiedlichen Hardware-Spezifikationen und Plattform-Versionen optimal läufen werden. Native Entwicklung erlaubte uns, falls erforderlich, die kurvX Apps auf die spezifischen Besonderheiten eines Gerätemodells und -variante sowie auf eine Android- bzw. iOS-Version abzustimmen. Damit erlangten wir mit den Apps eine breitere Geräteabdeckung und Benutzerakzeptanz.

Fazit

Durch natives Programmieren erreichten wir eine nahtlose Integration der Apps in den Android und iOS Plattformen.

Die Apps sind zuverlässiger und performanter, da sie schnell und direkt auf die neuesten Funktionen, Updates und Sicherheitsfeatures der jeweiligen Plattformen zugreifen können. Diese Integration verringerte ausserdem Kompatibilitätsprobleme und maximierte die Gesamtleistung der Apps. Dies ist besonders wichtig, wenn man die Vielfalt der Gerätemodelle und -variante sowie Plattformen-Versionen in Betracht zieht, auf denen die kurvX Apps laufen.

Wir beobachten aber dass, die Entwicklung einer nativen App spezielle Kenntnisse der jeweiligen Plattformen erfordert. Nicht zu vergessen ist dass, die Entwicklung und Wartung separater Apps für verschiedene Plattformen aufwändig ist. Aber dies kann durch eine geeignete Architektur und die Nutzung von Libraries reduzieren werden.

Die Entscheidung für die native Entwicklung bei der kurvX Apps basierte auf unseren Anforderungen hinsichtlich der Qualität, Performance und eines einfachen Designs. Das machte eine tiefergehende Integration nicht nur mit der Hardware notwendig, sondern auch mit den Android und iOS Plattformen. Damit sind Richtlinien von Google, Apple und deren App Stores leicht einzuhalten. Diese ist wichtig und erhöht die Wahrscheinlichkeit einer erfolgreichen Veröffentlichung.


In Teil 2 unserer Serie tauchen wir in die Welt von Android. Wir diskutieren die Herausforderungen und Probleme, denen wir bei der Entwicklung der kurvX Android App begegnet sind, und stellen mögliche Lösungen vor. Bleiben Sie dran, um nichts von der Blogreihe zu verpassen!


Für Gedanken, Fragen und weiterführende Diskussionen folgen Sie uns gerne auf LinkedIn.

Mehr Erfahren über kurvX der Kurvensensor klicken Sie hier: www.kurvX.de.

Die kurvX Apps finden Sie auf Google Play Store und App Store

Mehr Informationen über die x-log Elektronik GmbH finden Sie hier: www.x-log.de.

#passionmeetstechnologie #android #ios #ble #cloud #iot #kurvx #kurvensensor #xlog

Stay Connected

More Updates