Mobile

Flutter vs React Native vs Native w 2024: Decyzja za 200 Tysięcy Złotych

Zbudowaliśmy tę samą aplikację trzykrotnie. Oto twarde dane o kosztach, wydajności i czasie developmentu - nie marketing.


Rok temu stanęliśmy przed dylematem: klient chciał aplikację fitness z funkcjami społecznościowymi, trackingiem GPS i integracją z urządzeniami Bluetooth. Budżet: elastyczny, ale "nie przepalajmy". Deadline: 5 miesięcy do sezonu.

Zdecydowaliśmy się na eksperyment. Zbudowaliśmy MVP tej samej aplikacji w trzech technologiach. Oto co odkryliśmy.

847 godzin łączny czas pracy nad trzema wersjami MVP

Metodologia testu

Zakres MVP: onboarding, profil użytkownika, lista treningów, tracking GPS podczas biegu, synchronizacja z Garmin/Apple Watch, tablica wyników znajomych.

Każda wersja pisana przez senior developera z minimum 3-letnim doświadczeniem w danej technologii. Równoległa praca, identyczne wymagania, wspólny backend.

Wyniki - czas developmentu

187h Flutter Dart + Flutter
224h React Native TypeScript + Expo
436h Native Swift + Kotlin osobno

Flutter wygrał, ale nie tak zdecydowanie jak sugeruje marketing Google. React Native był blisko. Native zajął ponad 2x więcej czasu - ale tu trzeba liczyć dwie osobne aplikacje.

Integracja Bluetooth - tu diabeł tkwi w szczegółach

Tracking GPS działał świetnie we wszystkich trzech. Ale Bluetooth? Zupełnie inna historia.

Flutter (flutter_blue_plus)
  • Parowanie z Garmin: 2 dni walki
  • Background mode: wymagał native code
  • Stabilność: 94% sesji bez zerwania
  • Bateria: umiarkowany drain
React Native (react-native-ble-plx)
  • Parowanie z Garmin: 3 dni + native bridge
  • Background mode: koszmar na iOS
  • Stabilność: 87% sesji bez zerwania
  • Bateria: zauważalnie wyższy drain

Native? Bluetooth działał idealnie od razu. Zero niespodzianek, pełna dokumentacja, 99.2% stabilności.

Wydajność w praktyce

Testowaliśmy na iPhone 12 i Samsung Galaxy S21. Metryki:

  • Cold start: Native 0.8s, Flutter 1.2s, RN 1.6s
  • Animacje 60fps: Wszystkie trzy osiągnęły cel
  • Memory footprint: Native 45MB, Flutter 78MB, RN 92MB
  • Rozmiar APK: Native 12MB, Flutter 24MB, RN 31MB

Dla 95% użytkowników różnica nieodczuwalna. Ale te 5% power userów z starszymi telefonami...?

Nasze wnioski po roku w produkcji

1

Wybierz Flutter gdy...

...potrzebujesz custom UI, masz jeden zespół, i nie planujesz głębokich integracji sprzętowych. Najlepszy balans koszt/jakość dla typowych aplikacji.

2

Wybierz React Native gdy...

...Twój zespół to frontendowcy webowi, masz już ekosystem JS/TS, i aplikacja to głównie UI + REST API bez hardware'u.

3

Wybierz Native gdy...

...aplikacja jest core Twojego biznesu, potrzebujesz Bluetooth/AR/ML, celujesz w miliony użytkowników, lub masz budżet i czas.

Nie wiesz którą technologię wybrać?

Przeanalizujemy Twój projekt i pomożemy podjąć decyzję opartą na danych, nie na marketingu.

Kategoria: Mobile
Udostępnij:

Anna Majewska

Ekspert Halo Soft

Potrzebujesz pomocy z podobnym projektem?

Skontaktuj się z nami - chętnie pomożemy!

Powiązane artykuły