Natywna, hybrydowa czy web? Który rodzaj implementacji aplikacji mobilnej jest najlepszy?

W dobie wszechobecnej mobilności, obsługa firmy i zadań związanych z codziennymi obowiązkami coraz częściej przenosi się do smartfonów. Każdy posiadacz takiego urządzenia ma przynajmniej kilka dodatkowych aplikacji, dzięki którym może obsługiwać swój rachunek bankowy, emaila, kalendarz i wiele innych aplikacji, które mają za zadanie wspomagać nas w codziennej pracy. Producenci oprogramowania stanęli więc przed koniecznością odpowiedzi na pytanie, w jaki sposób dostosować swoje narzędzia, by stały się przyjazne użytkownikom mobilnych urządzeń, zachowując przy tym kompleksowość rozwiązania i ogrom funkcji, jakie dotychczas dostępne były na dużym ekranie komputera.

Przykład z naszego podwórka

Dokładnie w takiej samej pozycji stał zespół VSoft Mobile Workforce, którego zadaniem było przygotowanie narzędzia rozwiązującego problemy raportowania pracy zrealizowanej w terenie, poza miejscem pracy, ograniczając stos dokumentów, ręcznego wypełniania wniosków, raportów, a także w szybki sposób rozliczać kilometrówkę, wyniki zrealizowanych zadań, potwierdzać i akceptować rezultaty przez naszego klienta.

Wybór rozwiązania dla niektórych może nie być zaskoczeniem, jednak warto pochylić się szerzej nad tematem, odpowiadając na pytanie, czy i jeśli tak, to dlaczego natywna aplikacja jest lepsza od aplikacji hybrydowej lub odpowiednika aplikacji dostosowanego do obsługi na mobilnym urządzeniu przez przeglądarkę stron www

3 szkoły tworzenia aplikacji mobilnej

Mamy więc trzy szkoły podejścia do stworzenia aplikacji mobilnej. Czym się one charakteryzują?

Aplikacja natywna

Jest to program napisany z przeznaczeniem na konkretną platformę mobilną, która w sposób naturalny potrafi odczytać język wykorzystany do napisania programu. I tak dla Androida będzie to np. Java, natomiast dla iOS – Objective-C.Zatem skoro mamy do czynienia z dwoma językami programowania, musi ona zostać napisana dwa razy, indywidualnie dla każdej z platform, a co za tym idzie, czas wdrożenia rozwiązania, a także koszty konieczne do poniesienia są 2 razy większe. Oczywiście, zakładając, że obie aplikacje będą pisane przez dwa niezależne zespoły programistów, czas potrzebny na ich wdrożenie możemy istotnie skrócić, jednak koszty nadal pozostają.

Aplikacja hybrydowa

To nadal aplikacja pisana z myślą o mobilnym środowisku, instalowana na urządzeniu w formie aplikacji (najczęściej pobieranej z oficjalnych sklepów), jednak dedykowana na wiele platform. Posiada część wspólną, wykorzystywaną zarówno w systemie Android jak i iOS oraz część indywidualnie pisaną na konkretne platformy. Jedną z najpopularniejszych platform jest Xamarin, jednak na rynku są dostępne także inne rozwiązania, np. ReactNative. Dzięki zastosowaniu platformy obsługiwanej przez oba systemy, znacząco obniżamy koszt wdrożenia. Możliwe jest również tworzenie rozwiązania przez jeden zespół developerski.

Aplikacja WEB

Dostosowana do obsługi na urządzeniach mobilnych – w tym przypadku mamy do czynienia ze standardową aplikacją, którą otwieramy na komputerach, jednak sposób jej budowy przewiduje responsywność sekcji front-end, co powoduje, że używanie jej na urządzeniach mobilnych jest równie komfortowe, jak na laptopie czy pececie. Jest to najtańsza i najszybsza forma dostarczenia aplikacji na urządzenie mobilne.

Która z metod jest najlepsza?

Nie da się jednoznacznie odpowiedzieć na to pytanie, ponieważ każda z nich ma inne plusy, każda posiada również minusy. Przed rozpoczęciem projektu warto wykonać analizę potrzeb, zweryfikować jakie są mocne i słabe strony każdego z podejść do stworzenia aplikacji oraz odpowiedzieć sobie na pytanie, do kogo kierujemy nasze rozwiązanie.

Zdecydowanie najpopularniejszym i najlepszym rozwiązaniem jest przygotowanie aplikacji natywnej. Bardzo często jest to jedyny sposób, by osiągnąć zadowalające wyniki w testach wydajnościowych. Aplikacje zawierające dużo danych i dedykowanych widoków potrzebują maksymalnej optymalizacji i możliwości wykorzystania wszystkich zasobów urządzenia. Nierzadko ta sztuka możliwa jest tylko implementując aplikację w języku, jaki nasze urządzenie rozumie najlepiej i najszybciej.

Aplikacja Mobile Workforce została wykonana jako hybrydowa. Brak skomplikowanych kontrolek wykonujących dużo przeliczeń spowodował, że pomimo zastosowania takiego podejścia, aplikacja jest responsywna i wydajna, a to właśnie jest najczęstszym problemem, który sprawia, że twórcy wybierają rozwiązanie natywne. Proces tworzenia aplikacji sprowadzał się więc do przygotowania aplikacji na urządzenia działające na platformie Android, a następnie porting z wykorzystaniem Xamarin na iOS. Dzięki takiemu podejściu, udało się znacząco zredukować czas dostarczenia aplikacji na platformę dostarczaną przez Apple, przy zachowaniu spójnego wyglądu aplikacji na obu platformach, a także osiągnięciu zadowalającej wydajności.

Dlaczego nie zdecydowaliśmy się na responsywną aplikację WEB?

Pomimo krótkiego czasu wdrożenia i minimalnych nakładów finansowych, takie rozwiązania są bardzo ograniczone w zakresie wykorzystywania komponentów urządzenia, takich jak aparat, moduł gps. Problemem jest również działanie aplikacji bez dostępu do internetu, co uniemożliwia przygotowania raportu z odbytej wizyty i wysłania jej gdy połączenie zostanie wznowione. Aplikacje WEB działają też zauważalnie wolniej, a różne przeglądarki mogą odmiennie wyświetlać poszczególne elementy stron www.

Czym się kierować wybierając technologię tworzenia własnej aplikacji?

Która szkoła budowania aplikacji jest zatem najlepsza? Zdania mogą być podzielone, warto jednak przed rozpoczęciem implementacji rozwiązania odpowiedzieć sobie na pytanie, jaki jest nasz cel, co chcemy osiągnąć i ile mamy czasu oraz środków finansowych do poświęcenia na zbudowanie naszej aplikacji.

Z punktu widzenia kosztów/możliwości/czasu realizacji najkorzystniej wypadnie podejście hybrydowego budowania rozwiązania. Czas dostarczenia jest krótszy, co za tym idzie koszty niższe, a możliwości? Jesteś w stanie niemal w 95% przypadków zbudować funkcjonalność dokładnie tak samo, jak miałoby to miejsce z wykorzystaniem natywnego podejścia. Przeciwnicy technologii hybrydowej często zarzucają powolne działanie i niską wydajność, jednak nowe wersje systemów oraz urządzenia z bardzo wydajnymi podzespołami sprawiły, że problem praktycznie zniknął.

Aby podjąć właściwą decyzję, poniżej prezentuję kryteria, którymi możecie kierować się wybierając technologię tworzenia własnej aplikacji.

Aplikacja natywna

  • Szybkość i płynność zadania jest dla nas kluczowym parametrem.
  • Tworzymy zaawansowaną i dużą grę/aplikację.
  • Nie mamy krótkiego deadline’u.
  • Budżet nie jest kluczowym parametrem wyboru.

Aplikacja hybrydowa

  • Czas dostarczenia jest dla nas kluczowym parametrem wyboru.
  • Zależy nam na responsywności i szybkości działania, ale nasza aplikacja nie jest duża i skomplikowana.
  • Mamy ograniczony budżet i szukamy optymalnego kosztowo rozwiązania.

Aplikacja WEB

  • Budżet jest dla nas kluczowym parametrem wyboru.
  • Zależy nam na szybkim, ale niezbyt zaawansowanym narzędziu.
  • Aplikacja nie musi być dostępna w trybie offline.

Dawid Gębala

Gadżetomaniak, pasjonat nowych technologii i motoryzacji oraz niespełniony sportowiec. W weekend przemierza dziesiątki kilometrów po Tatrach, które pozwalają na reset głowy po ciężkim tygodniu. W VSoft PM i Product Owner produktu VSoft Mobile Workforce.

Zobacz również

See also