Von Native zu Flutter – Migration der Breuninger-App
Unsere Leistungen im Bereich Mobile-App-Entwicklung
Als Dienstleister für individuelle Softwarelösungen bietet jambit im Bereich der App-Entwicklung ein umfassendes Leistungsportfolio. Dieses erstreckt sich über verschiedenste Teilbereiche der mobilen Anwendungsentwicklung und umfasst sowohl die Entwicklung nativer Apps für Android (unter Einsatz von Java und Kotlin) und iOS (unter Einsatz von Swift und Objective-C), als auch die App-Entwicklung unter Einsatz von Cross-Plattform-Ansätzen wie Flutter, Ionic, React Native oder Progressive Web App (PWA). Durch unsere breitgefächerte Expertise aus Projekten mit weltbekannten Kunden finden wir den richtigen Lösungsansatz für unterschiedlichste Problemstellungen.
Unsere Services für maßgeschneiderte Mobile-Projekte:
- Design und Umsetzung von User Interface und User Experience
- Technische Unterstützung bis hin zur Veröffentlichung im Apple App Store bzw. Google Play Store
- Einsatz moderner Architekturmuster wie z.B. Clean Architecture oder Model-View-ViewModel
- Qualitätssicherung mit Unit Tests, Integration Tests und UI Tests unter Einsatz von Continuous Integration
- Anbindung an Datenbanken, Web-Backends oder andere externe Schnittstellen
- Einbindung/Auslesen von Sensordaten
- Support für mehrere Betriebssystem-Versionen
- Anpassung der App an unterschiedliche Endgeräte (z. B. Tablets)
- Integration von Voice Recognition und persönlichen Assistenzsystemen (z. B. Siri oder Google Assistant)
- Umsetzung von Augmented Reality Anwendungen
- Anbindung an Cloud Services (Firebase, AWS, Azure)
Android-Entwicklung
Android ist weltweit die weit verbreitetste Mobile Plattform. Neben dem Einsatz als Betriebssystem für Smartphones und Tablets findet Android auch Einsatz auf Smart Watches (Wear OS), Smart TVs (Android TV), in Automobilen (Android Auto) und IoT Devices (Android Things). Zudem können Android-Apps mittlerweile auch auf Chromebook-Laptops unter Chrome OS laufen. Unsere jambit-Spezialisten sind mit Android in all seinen Formen vertraut und können maßgeschneiderte Lösungen für Ihre Kunden entwerfen – vom Design der UI/UX an der Oberfläche (z. B. gemäß Googles Material Design Vorgaben) bis tief unter die Haube zur Implementierung von Backend-Kommunikation, Bluetooth-Schnittstellen oder dem Ansteuern der integrierten Sensorik auf dem Android-Gerät.
Unsere Leistungen:
- Modernes UI-Design nach Googles Material Design Vorgaben oder nach individuellen Wünschen angepasst
- Native Entwicklung mit Kotlin oder Java
- Multi-Platform-Entwicklung für Android (Smartphones & Tablets), Wear OS, Android TV und Android Auto
- Beta Testing mit Google Play oder Visual Studio App Center
- Einsatz moderner Technologien wie Databinding, LiveData, Jetpack, Room, Retrofit, RxKotlin, Dagger, etc.
- Augmented Reality mit ARCore
- Machine Learning Anwendungen mit ML Kit (Video- und Bildanalyse, Sprachverarbeitung, Custom Models)
iOS-Entwicklung
Neben Android ist Apples iOS die zweite große Mobile-Plattform, die insbesondere im Premium-Segment teilweise sogar eine höhere Wichtigkeit besitzt als Android. Genauso wie Android hat Apple die iOS-Plattform im Laufe der Zeit mehr und mehr auch auf andere Bereiche ausgedehnt, so dass Variationen von iOS mittlerweile auch auf Geräten wie Apple TV und Apple Watch zuhause sind. Per CarPlay existiert ein Weg der Integration von iOS ins Fahrzeug. Zudem ist Apple Vorreiter im Bereich der Augmented Reality und verbaut in den neuesten iPads mittlerweile sogar einen dedizierten LIDAR-Sensor, um in Zukunft ganz neue AR-Anwendungen zu ermöglichen.
Unsere Leistungen:
- Modernes UI-Design und Umsetzung mit SwiftUI und UIKit
- Native Entwicklung mit Swift oder Objective-C
- Multi-Platform-Entwicklung für iOS, iPadOS, watchOS und tvOS
- Portierung von iPad-Apps auf macOS mit Mac Catalyst
- Beta Testing mit TestFlight oder Visual Studio App Center
- Augmented Reality mit ARKit und RealityKit
- Machine Learning Anwendungen mit Core ML (Vision, Natural Language, Speech, SoundAnalysis, Custom Models)
Progressive-Web-App-Entwicklung (PWA)
Eine Progressive Web App (PWA) verwendet die neuesten Technologien, um das beste von Web- und Mobile-Apps zu kombinieren. In gewisser Weise ist eine PWA wie eine Website, die mit Web-Technologien gebaut wurde, sich auf einem mobilen Endgerät aber anfühlt wie eine native Mobile-App. Selbst Push Notifications, Offline-Benutzung oder das Hinzufügen der App zum eigenen Home Screen auf dem Smartphone sind mit PWAs im Gegensatz zu klassischen Web-Applikationen kein Problem mehr. Für jambits Kunden hat diese Technologie den Vorteil, dass bei der Entwicklung einer Mobile-App in Form einer PWA so Synergien mit bereits existierenden Web-Apps genutzt werden können und bei der Entwicklung nur ein einziger Technologie-Stack für beide Plattformen (Web und Mobile) notwendig ist.
Unsere Leistungen:
- Kombination aus Know How im Mobile-Bereich mit großem Erfahrungsschatz bei der Umsetzung von Projekten mit Web-Technologien (HTML, CSS, JavaScript)
- Umsetzung von Web-App und Mobile-App aus einer Hand
- Berücksichtigung aller PWA-Charakteristika: Responsiveness, Connectivity independent, App-like-interactions, Fresh, Safe, Discoverable, Re-engageable, Installable, Linkable
- Kombination von PWAs mit WebAssembly (WASM) für performante Anwendungen
Mobile-Cross-Plattform-Entwicklung
Um einen möglichst großen Kundenkreis zu erreichen, sollte in den meisten Fällen eine Mobile-App für beide großen Plattformen (Android und iOS) möglichst zeitgleich veröffentlicht werden. Zudem sollten sich die App-Varianten für Android und iOS im Funktionsumfang gleichen, um keinen Unmut bei einem Benutzersegment hervorzurufen. Diese Anforderung stellt bei der Entwicklung von Mobile-Apps eine große Herausforderung dar, da der Programmcode von nativ für Android und iOS entwickelten Apps in der Regel nicht für beide Plattformen wiederverwendet werden kann. Stattdessen muss die App für beide Plattformen weitestgehend getrennt programmiert werden, oft sogar von zwei unterschiedlichen Entwicklerteams.
Die Lösung für dieses Problem versprechen unterschiedliche Cross-Platform-Frameworks, die erlauben, denselben Programmcode nur einmal zu schreiben, aber dann für beide Mobile-Plattformen (und je nachdem sogar das Web) wiederzuverwenden. In der Praxis haben diese Cross-Platform-Ansätze aber durchaus ihre Tücken und Nachteile gegenüber der nativen App-Entwicklung, welche den Vorteil der Code-Wiederverwendung durchaus wieder aufwiegen können. Eine wichtige Rolle spielen hierbei zum Beispiel Themen wie das native Look&Feel der Plattform, die Performance oder auch der Support für unterschiedliche Betriebssystemversionen. Hierzu berät jambit seine Kunden individuell und klärt über Vor- und Nachteile der unterschiedlichen Ansätze auf.
Unsere Leistungen:
- Beratung bezüglich der unterschiedlichen Cross-Plattform-Lösungen
- Umsetzung je nach Anforderungen mit Flutter, Ionic, React Native oder Xamarin
- Bei Bedarf auch native Entwicklungskompetenz im Haus
- Kombination unterschiedlicher Ansätze möglich
- Rapid Prototyping
jambit-Referenz im Bereich Mobile-Cross-Plattform-Entwicklung
Entwicklung einer hybriden Smartphone App für Daimler VANQuality