← Wróć do Wiedzy

Aplikacja mobilna dla firmy: natywna, hybrydowa czy PWA?

Wybór technologii aplikacji mobilnej zależy od tego, czego aplikacja potrzebuje od telefonu: powiadomień, pracy offline, aparatu, Bluetooth czy płynnej grafiki. Porównujemy aplikacje natywne, wieloplatformowe i PWA bez żargonu, z kosztami utrzymania i prostymi kryteriami wyboru. Czasem najlepsza aplikacja to dobra strona mobilna.

Michał Lubański
Kluczowy wniosek

PWA wystarczy, gdy aplikacja jest głównie treścią i formularzami. Aplikacja wieloplatformowa (jeden kod na iOS i Androida) to rozsądny domyślny wybór dla większości firm, bo daje dostęp do funkcji telefonu przy niższym koszcie. Natywna ma sens, gdy liczy się maksymalna wydajność albo głęboka integracja ze sprzętem. Zanim wybierzesz technologię, sprawdź, czy w ogóle potrzebujesz aplikacji, a nie dobrej strony mobilnej.

„Potrzebujemy aplikacji" to jedno z najczęstszych zdań, od których zaczynają się rozmowy o projektach mobilnych. Zanim przejdziemy do technologii, zadajemy zawsze jedno pytanie: co takiego ma robić aplikacja, czego nie zrobi strona otwarta w telefonie? Uczciwa odpowiedź często brzmi „nic", a zła aplikacja jest gorsza niż jej brak.

Kiedy firma w ogóle potrzebuje aplikacji?

Dobra, responsywna aplikacja webowa załatwia większość potrzeb: działa na każdym urządzeniu, nie wymaga instalacji ani przechodzenia przez sklepy z aplikacjami, a każda aktualizacja trafia do wszystkich od razu. Aplikacja instalowana zaczyna mieć przewagę, gdy potrzebujesz jednej z tych rzeczy:

  • Powiadomień push, które dotrą do użytkownika, gdy nie ma otwartej strony.
  • Pracy offline, na przykład w magazynie, w terenie albo w serwisie bez zasięgu, z synchronizacją, gdy sieć wróci.
  • Funkcji telefonu: aparatu, skanowania kodów, geolokalizacji, Bluetooth, NFC, płatności mobilnych.
  • Obecności na ekranie: ikona między codziennie używanymi aplikacjami to kanał, którego zakładka w przeglądarce nie daje.

Czym różnią się trzy podejścia?

Aplikacja natywna

Osobny kod dla iOS (Swift) i dla Androida (Kotlin). Daje pełny dostęp do wszystkich funkcji systemu i sprzętu oraz najlepszą wydajność. Ceną są dwa zespoły albo dwa razy więcej pracy przy każdej zmianie i dłuższy czas wprowadzania nowych funkcji na obie platformy.

Aplikacja wieloplatformowa (hybrydowa)

Jeden kod, z którego powstają aplikacje na iOS i Androida, na przykład w React Native albo Flutterze. Nowoczesne frameworki renderują interfejs natywnymi komponentami, więc dla użytkownika aplikacja zachowuje się jak natywna. Dostęp do aparatu, powiadomień, lokalizacji czy Bluetooth jest standardem. Koszt budowy i utrzymania jest wyraźnie niższy niż przy dwóch osobnych aplikacjach.

PWA (Progressive Web App)

Strona internetowa, którą można „zainstalować" na ekranie telefonu. Działa offline dzięki pamięci podręcznej, a na iOS od wersji 16.4 obsługuje powiadomienia push, jeśli użytkownik doda ją do ekranu głównego. Nie przechodzi przez App Store ani Google Play, więc aktualizacje są natychmiastowe. Ograniczenia: słabszy dostęp do sprzętu (szczególnie na iPhone), brak obecności w sklepach i mniej przewidywalne zachowanie między przeglądarkami.

Porównanie w skrócie

NatywnaWieloplatformowaPWA
Koddwa osobnejedenjeden (web)
Dostęp do sprzętupełnyprawie pełnyograniczony
Wydajnośćnajwyższawysokadobra przy prostych aplikacjach
Sklepy z aplikacjamitaktaknie
Koszt budowy i utrzymanianajwyższyśredninajniższy

O czym się zapomina przy wycenie aplikacji mobilnej?

  • Proces publikacji. App Store i Google Play mają własne wymogi i przegląd każdej wersji. Trzeba to wliczyć w harmonogram, szczególnie przy pilnych poprawkach.
  • Aktualizacje systemów. Nowe wersje iOS i Androida wychodzą co roku i potrafią zmienić zachowanie uprawnień, powiadomień czy działania w tle. Aplikacja wymaga stałej opieki.
  • Synchronizacja offline. „Działa bez internetu" brzmi prosto, ale oznacza rozwiązywanie konfliktów: co, jeśli dwie osoby zmieniły ten sam rekord bez zasięgu? To trzeba zaprojektować, a nie dopisać na końcu.
  • Backend. Aplikacja mobilna to zwykle tylko okno. Dane, logika i bezpieczeństwo żyją na serwerze, a ten koszt jest taki sam niezależnie od wybranej technologii.

Bezpieczeństwo aplikacji w telefonie

Telefon się gubi, a aplikację można rozebrać na części. Dlatego żadnych kluczy do API w kodzie aplikacji, tokeny sesji w bezpiecznym magazynie systemu (Keychain na iOS, Keystore na Androidzie), a wszystkie uprawnienia sprawdzane po stronie serwera. Zasada, którą stosujemy w każdym systemie z dostępem z zewnątrz: klient widzi tylko swoje dane, a identyfikator użytkownika zawsze pochodzi z sesji, nigdy z żądania. Szerzej o tym, jak łatwo wystawić dane klientów w aplikacji budowanej na skróty, pisaliśmy w tekście o SaaS-ach generowanych przez AI.

Jak wybrać? Proste kryteria

  1. Aplikacja to głównie treść, formularze i podgląd danych? Zacznij od aplikacji webowej albo PWA.
  2. Potrzebujesz push, offline i aparatu, a użytkownicy są na obu systemach? Aplikacja wieloplatformowa.
  3. Kluczowa jest wydajność, zaawansowana grafika albo głęboka integracja ze sprzętem, na przykład z urządzeniami przez Bluetooth? Rozważ natywną.
  4. Aplikacja jest dla wewnętrznego zespołu? Często wystarczy dystrybucja poza publicznym sklepem, a kryterium sklepu przestaje mieć znaczenie.
Zdaniem autora

Technologię dobiera się do problemu, a nie odwrotnie. W większości projektów, które budujemy, trzon to aplikacja webowa z dobrze przemyślaną wersją na telefon, bo daje najwięcej przy najniższym koszcie utrzymania. Po aplikację instalowaną sięgamy wtedy, gdy telefon ma zrobić coś, czego przeglądarka nie potrafi: zeskanować kod przy przyjęciu towaru, działać w magazynie bez zasięgu albo połączyć się z urządzeniem przez Bluetooth. Moim zdaniem jeśli nie umiesz nazwać takiej funkcji, to nie potrzebujesz jeszcze aplikacji, tylko lepszej strony.

Michał Lubański, CTO LUNOLAB

Zobacz, jak budujemy aplikacje mobilne i aplikacje webowe. Jeśli nie wiesz, która droga pasuje do Twojego pomysłu, porozmawiajmy.

Michał Lubański
Michał Lubański

CTO i współzałożyciel LUNOLAB

CTO i współzałożyciel LUNOLAB. Odpowiada za całą technologię firmy: architekturę budowanych systemów, infrastrukturę i sprzęt, jakość kodu oraz bezpieczeństwo. Decyduje, jakie technologie i modele AI trafiają do projektów, i pilnuje zasady, że liczby liczy kod, a nie model. Pisze o tym, co dzieje się pod maską wdrożeń AI.

Masz pomysł na wdrożenie technologii u siebie?

Umów bezpłatną rozmowę