Aplikacje React Native
Aplikacje mobilne w React Native: iOS i Android z jednej bazy kodu, backend w Laravelu i jeden zespół odpowiedzialny za całość — od makiety po publikację w sklepach.
Aplikacje mobilne piszemy w React Native, najczęściej z Expo. Jedna baza kodu daje aplikację na iOS i Androida, a ten sam zespół buduje backend w Laravelu i panel webowy. Nie ma przekazywania pracy między trzema firmami i nie ma rozjazdu między tym, co widzi użytkownik w telefonie, a tym, co widzi administrator w przeglądarce.
Dlaczego React Native
- Jeden kod, dwie platformy — funkcja pisana raz trafia na iOS i Androida, więc rozwój i poprawki kosztują mniej niż przy dwóch natywnych aplikacjach.
- Wspólny język z webem — TypeScript i React po obu stronach, więc logika i typy mogą być współdzielone z panelem webowym.
- Szybkie aktualizacje — Expo pozwala dostarczać część poprawek bez czekania na pełną recenzję w sklepach.
- Dostęp do natywnych funkcji — aparat, skaner kodów, geolokalizacja, powiadomienia push i praca offline.
Aplikacje, które zbudowaliśmy
- ESA Trucks — mobilna inwentaryzacja floty: pracownicy w terenie rejestrują stan pojazdów w aplikacji, a dane trafiają do backendu w Laravelu. Zobacz realizację.
- Nowrem App — zarządzanie urządzeniami IoT z poziomu telefonu, z lokalną bazą SQLite. Zobacz realizację.
- KupujeNaWsi — aplikacja mobilna platformy handlowej, działająca obok serwisu webowego na wspólnym backendzie. Zobacz realizację.
- QuizApp — aplikacja z quizami dla marki Słodkie Wyzwanie. Zobacz realizację.
React Native czy aplikacja natywna?
React Native to dobry wybór dla większości aplikacji biznesowych: narzędzi dla pracowników w terenie, aplikacji klienckich sklepów i platform, aplikacji do obsługi urządzeń. Natywny kod w Swifcie albo Kotlinie ma przewagę w wąskiej grupie przypadków — zaawansowanej grafice, ciężkiej obróbce wideo, bardzo niskopoziomowej pracy z Bluetooth. Gdy aplikacja potrzebuje pojedynczej takiej funkcji, dopisujemy natywny moduł do projektu w React Native, zamiast budować dwie osobne aplikacje.
Co zwykle wchodzi w zakres
- Logowanie i konta — rejestracja, logowanie przez e-mail, Apple i Google, role użytkowników.
- Praca w terenie — tryb offline, skanowanie kodów, zdjęcia, geolokalizacja.
- Powiadomienia push — o zmianach statusów, nowych wiadomościach i zadaniach.
- Płatności — integracja z bramkami płatności i obsługa zakupów w aplikacji.
- Panel administracyjny — webowy panel do zarządzania treścią, użytkownikami i danymi z aplikacji.
Jak pracujemy nad aplikacją mobilną
Zaczynamy od rozmowy o celu i ograniczeniach, potem makiety i prototyp, żeby przepływ dało się sprawdzić przed napisaniem kodu. Co kilka tygodni pokazujemy działający fragment na telefonie. Na koniec przygotowujemy buildy, konfigurujemy konta deweloperskie i przechodzimy recenzję w App Store i Google Play. Po starcie zostajemy przy aplikacji w ramach utrzymania i rozwoju: poprawki, aktualizacje systemów mobilnych i kolejne funkcje. Więcej o procesie na stronie tworzenia aplikacji mobilnych.
Najczęściej zadawane pytania
Czy aplikacja w React Native jest wolniejsza od natywnej?
W typowych aplikacjach biznesowych — formularze, listy, mapy, skanowanie, powiadomienia — użytkownik nie zauważy różnicy. Natywny kod piszemy tylko tam, gdzie wymaga tego konkretna funkcja urządzenia.
Czy aplikacja może działać bez internetu?
Tak. Dane trzymamy lokalnie (np. w SQLite) i synchronizujemy z backendem, gdy wraca połączenie. Tak działa m.in. aplikacja Nowrem.
Kto przygotowuje backend dla aplikacji?
My. Backend piszemy w Laravelu, zwykle razem z panelem administracyjnym, więc aplikacja, API i panel powstają w jednym zespole.
Czy publikujecie aplikację w sklepach?
Tak, przygotowujemy buildy, konfigurację kont deweloperskich i przechodzimy recenzję w App Store i Google Play. Kolejne wersje publikujemy w ramach utrzymania.