Połączenie wielu aplikacji mobilnych

Klient jako grupa świadczy różne usługi na rynku finansowym. Początkowo dla każdej usługi wydawał i utrzymywał osobne, natywne aplikacje mobilne na iOS i Android. By jednak ułatwić cross-selling produktów oraz usprawnić korzystanie ze swoich produktów klientom różnych do tej pory aplikacji, zdecydował się na połączenie funkcjonalności tych wszystkich aplikacji w jedną aplikację mobilną na iOS i Android.

Image

Projekt w pigułce

Branża

Finansowa

Technologie

Android: Android SDK (API level 33), Kotlin, Hilt, Coroutines, Android Jetpack libraries, Google Filament, Lottie, Firebase (Crashlytics, Firestore, Remote Config, FCM), jUnit, Espresso

iOS: iOS 16 SDK, Swift, SwiftUI, Combine, SceneKit, CoreData, Lottie, Firebase (Crashlytics, Firestore, Remote Config, FCM, Internal App Distribution), SwiftGen, XCTest

Czas trwania

9 miesięcy

Team

2 Team Leads

5 Android developers

5 iOS developers

1 QA specialist

1 UI designer

1 UX designer

1 Project Manager

1 Business Analyst

Forma współpracy

Agile, Time & Material

Zakres
  • Product workshops & analysis

  • UI/UX design

  • Technical stack assessment

  • Native mobile apps

  • QA

  • SLA & maintenance

Innowacje i wyzwania

W ramach innowacji podczas prac nad aplikacją wdrożyliśmy pełne testy automatyczne UI (Android Espresso + iOS XCTest). Wykorzystane zostały też wyłącznie najnowsze biblioteki, architektura i komponenty iOS (SwiftUI, Combine) oraz Android (Kotlin, Hilt, Jetpack). Dzięki skorzystaniu z Google Filament w Android oraz SceneKit w iOS zaimplementowaliśmy fragmenty UI w 3D, a nawet zintegrowaliśmy aplikacje z Lottie, by móc wykorzystywać animacje wektorowe.

Największym wyzwaniem podczas tworzenia nowej aplikacji było połączenie 3 aplikacji napisanych w różnych architekturach z kodem legacy (Java, UIKit). Wymagało to stworzenia zupełnie nowej architektury i przepisanie na nowe technologie (100% Kotlin w Android oraz 100% Swift + SwiftUI). Wymagało to też stworzenia brakujących kontrolek niedostępnych w SwiftUI. Dodatkowym wyzwaniem było zapewnienie najwyższych standardów bezpieczeństwa w mocno pofragmentowanym świecie Androida poprzez m.in. wykorzystanie dedykowanych i powszechnie uznanych bibliotek, takich jak np. Bouncy Castle. Wymaganie klienta, by zapewnić spójne działanie aplikacji na wielu różnych wersjach systemu iOS, nie ułatwiło prac.

Image

Skontaktuj się z nami

Masz pomysł na projekt?
Porozmawiajmy!

Napisz do nas: