Executive summary
Produkcyjna aplikacja mobilna nie jest zbiorem ekranów podłączonych do API. To system produktu, który musi koordynować stan urządzenia, backend, identity, warunki sieciowe, native capabilities, release channels i obsługę operacyjną.
Aplikacja mobilna jest tylko jednym interfejsem produktu.
Najważniejsze pytanie architektoniczne nie brzmi więc „React Native czy native?”. Brzmi: co musi pozostać prawdą, gdy użytkownik zmieni urządzenie, straci zasięg, ponowi akcję, otworzy deep link, dostanie notification albo zaktualizuje aplikację?
1. Zacznij od operating modelu
Consumer marketplace, mobilne rozszerzenie SaaS i aplikacja dla field service mogą korzystać z tego samego frameworka, ale wymagają zupełnie innych modeli niezawodności. Określ kto używa aplikacji, gdzie jej używa, które akcje tworzą zobowiązania biznesowe, co może działać offline i który stan musi pozostać authoritative na serwerze.
2. Rozdziel produkt na jawne warstwy
Dojrzała architektura rozdziela mobile experience, local/client state, identity i permissions, product API, backend business state, integracje oraz operational tooling. Dzięki temu UI nie staje się miejscem przechowywania reguł biznesowych, które powinny działać również w webie i panelu operatora.
Mobile experience
↓
Local state / queue
↓
Product API
↓
Business state
↓
Payments / documents / integrations
↓
Operations / analytics / support3. Wybierz React Native, gdy wspólna logika tworzy realną dźwignię
React Native jest mocnym domyślnym wyborem, gdy iOS i Android współdzielą większość user journeys, produkt będzie stale rozwijany i korzysta ze wspólnego backendu. Współczesny React Native opiera się na New Architecture, a aktualne wydania kontynuują usuwanie legacy assumptions i rozwój domyślnego runtime Hermes.
Nie oznacza to końca kodu natywnego. Hardware-heavy workflows, specjalistyczne vendor SDK, krytyczne ścieżki performance albo celowo odmienne doświadczenia iOS/Android mogą uzasadniać native module lub natywną implementację części produktu.
4. Zaprojektuj słabą łączność zanim stanie się incydentem
Offline nie jest przełącznikiem. Trzeba określić, które odczyty mogą używać cache, które zapisy można kolejkować, jak identyfikować retry, jak rozwiązywać konflikty i kiedy ekran może uczciwie pokazać „zrobione” przed potwierdzeniem serwera. Field workflows często wymagają lokalnej kolejki operacji i jawnego statusu synchronizacji.
5. Traktuj notifications jak product events
Powiadomienie powinno wynikać ze zdarzenia biznesowego, przejść przez preference i eligibility rules, otworzyć właściwy stan przez deep link i być mierzalne po akcji użytkownika. Wtedy push jest częścią lifecycle produktu, a nie kanałem broadcastowym.
6. Release engineering jest częścią architektury
Produkcyjny mobile obejmuje development builds, preview/internal distribution, TestFlight lub Google Play testing, store submission, signing credentials, environment configuration, crash monitoring i strategię aktualizacji. Expo Application Services dostarcza workflow Build, Submit i Update, ale polityka release nadal należy do zespołu produktu.
7. Projektuj pod realia store i urządzeń
Apple wymaga stabilnej, kompletnej aplikacji, poprawnych metadanych i właściwego privacy handling. Android quality guidance traktuje adaptacyjne działanie na różnych ekranach i form factors jako ważny element jakości. Production readiness obejmuje więc permissions, privacy declarations, device testing, accessibility i lifecycle behavior — nie tylko udany build.
8. Operacje muszą być widoczne
Support i operations potrzebują kontekstu: które konto wykonało akcję, co zaakceptował backend, która integracja zawiodła, czy notification zostało wysłane i jakiego release dotyczy problem. Logi, analityka i admin tooling są elementem architektury produktu.
Praktyczna sekwencja delivery
- Mapowanie user i operational journeys.
- Definicja authoritative business state.
- Wybór granic mobile i offline.
- Projekt API, identity i integracji.
- Budowa mobile surface i native capabilities.
- Preview, testing i release workflow.
- Instrumentacja produkcji i support operations.
Co buduje Softech
Softech łączy React Native z backend engineering, integracjami, płatnościami, notifications, offline workflows, admin tools i release operations. Celem nie jest „wysłanie aplikacji”. Celem jest produkt mobilny, który po wdrożeniu pozostaje zrozumiały i operacyjny.
