BizMentor

IT

Co to są aplikacje mobilne? Natywne vs Hybrydowe vs Cross-Platformowe

Szacuje się, że tylko w 2023 roku ilość pobrań aplikacji mobilnych globalnie wyniesie 299 miliardów, a właściciele tych rozwiązań zarobią na tym 935 miliardów dolarów. Co za tym idzie, rynek jest ogromny, więc dostawców różnego typu rozwiązań, dzięki którym można aplikacje mobilne produkować jest wiele. Mamy przynajmniej trzy ścieżki powstawania takiego rozwiązania – aplikacje natywne, aplikacje hybrydowe i aplikacje cross platformowe.

Zacznę od tego, że jednak większość osób dzieli tego typu rozwiązania na aplikacje natywne i wszystkie inne. Czyli wrzuca rozwiązania hybrydowe i cross platformowe do jednego worka. Zamysł jest podobny, wykonanie jest jednak inne, więc ja podzielę ten obszar na trzy.

Mobile Aplikacje Natywne

Mobilne aplikacje natywne to nic innego jak podejście do tworzenia aplikacji, w którym budujemy produkt konkretnie pod dany system operacyjny. Dzisiaj to będzie już tak naprawdę tylko iOS i Android. Czyli w trakcie tworzenia tego produktu powstają tak naprawdę dwie aplikacje. Jedna powstaje jako osobny byt, z osobnym backendem, z osobnym frontendem na system iOS. Tutaj korzystamy z takich narzędzi, z takich technologii jak Objective C czy Swift. A druga na Android – tutaj korzystamy z JAVY czy Kotlina.

Jakie są zalety takiego rozwiązania? Przede wszystkim taka aplikacja czerpie ze wszystkich benefitów, ze wszystkich korzyści jakie płyną z każdej specyficznej platformy. Czyli wyświetlanie assetów będzie na niej najlepsze. Czyli wchodzenie w interakcje przez użytkownika będzie na najwyższym poziomie. Czyli czas reakcji tej aplikacji będzie najkrótszy. Wszystkie funkcjonalności, które mogą być w niej dostępne offline, będą dla użytkownika dostępne bez dostępu do internetu. W pełnym zakresie będziemy mogli skorzystać z takich funkcji telefonu, z dostępu do takich elementów jak aparat, wszystkie sensory, które w telefonie mamy. Czyli tak naprawdę jakość tej aplikacji będzie najwyższa dla użytkownika.

Jakie są zatem wady takiego rozwiązania? Przede wszystkim będzie najdroższe. Dlatego że musimy wyprodukować 2 osobne aplikacje. No i oczywiście jeżeli tworzymy 2 osobne produkty, no to nie zrobi ich jeden zespół. Potrzebujemy dwóch innych zestawów kompetencji, dwóch innych zestawów technologii. A jeżeli chodzi o utrzymanie samego rozwiązania, no to też nie jest tak, że stworzymy aplikację mobilną i o niej zapomnimy. Ten produkt wymaga utrzymywania i wymaga ciągłego rozwoju. Musimy więc te dwa zespoły mieć na pokładzie, co znowu przekłada się na koszty stworzenia i utrzymania tego rozwiązania.

Takimi znanymi przykładami aplikacji natywnych są Google Maps, Pinterest i Spotify.

Mobilne Aplikacje Hybrydowe

Drugą grupą aplikacji mobilnych są aplikacje hybrydowe i te z kolei korzystają z technologii webowych. Czyli internetowych, przeglądarkowych. Jakie są główne zalety tego typu rozwiązania? No przede wszystkim, jeżeli utrzymujemy już jakiś serwis webowy albo wiemy, że będziemy ten serwis tworzyć, no to mamy jeden zespół, jeden obszar kompetencji, który może wszystkie nasze aplikacje rozwijać. Aplikacja hybrydowa to jest tak naprawdę taki silnik webowy, na który nałożona jest warstwa mobilna. Czyli nałożone są elementy technologii, które pozwalają nam korzystać z tego rozwiązania jak z aplikacji mobilnej. Kolejne zalety to szybszy Time To Market. Jeżeli jesteśmy startupem, zależy nam na szybkim wejściu na rynek, no to takie rozwiązanie powstaje szybciej. Ponieważ backend, warstwa logiki, która steruje całym rozwiązaniem jest jedna dla obu platform. Jest współdzielona. Ale też jeżeli chodzi o rozwój i utrzymanie tego rozwiązania, no to znowu mamy jeden zespół od tego. Mamy mniejszą ilość kodu, który musimy przeglądać, który musimy testować, więc praca nad takim rozwiązaniem jest łatwiejsza.

Jeżeli chodzi o wady takiego rozwiązania, no to przede wszystkim nie będziemy mieć dostępnych tych wszystkich funkcjonalności, które mamy dostępne w przypadku aplikacji natywnych. Czyli nie wszystkie assety będą dla nas dostępne, czyli to jak ta aplikacja wygląda będzie nieco inne niż w przypadku aplikacji natywnej. Nie wszystkie funkcjonalności, nie wszystkie funkcje telefonu będą dla nas dostępne. Więc tego typu rozwiązania stosuje się tam, gdzie funkcjonalności aplikacji nie są jakoś bardzo rozbudowane i raczej operują na dobrze znanych, bazowych operacjach. Dużą wadą rozwiązania typu aplikacja hybrydowa jest też brak dostępu do większej ilości funkcjonalności w trybie offline. Czyli nie jesteśmy w stanie korzystać z tej aplikacji bez internetu.

Najsłynniejszymi przykładami tego typu aplikacji są Evernote, Gmail czy Instagram.

Na potrzeby tego artykułu ważne jest to, że mamy zewnętrznego dostawcę. Daje on nam gotowe elementy do budowy fundamentu, na którym później możemy osadzać naszą aplikację czy nasz budynek. Alternatywą dla tego rozwiązania jest on premise, czyli ta ścieżka, w której decydujemy się samemu stworzyć fundament i zajmować się jego utrzymaniem. Czyli jak to się w świecie IT zwykło mawiać, trzymamy to rozwiązanie u siebie na serwerze w piwnicy.

Mobile Aplikacje Crossplatformowe

Trzecią grupą aplikacji mobilnych są rozwiązania cross platformowe. Tak jak w przypadku aplikacji hybrydowych mamy tutaj wspólną część kodu w warstwie backendowej, która zasila frontend w iOS i w Android. Bardzo dużą popularnością tutaj cieszą się technologie typu React Native czy Flutter. Zalety tego typu rozwiązania są podobne jak w przypadku aplikacji hybrydowych, czyli mamy wspólną część rozwiązania do utrzymania, do rozwoju, do testowania. Więc mamy jedno centrum kompetencji, jeden zespół, który może zasilać obie platformy, może nad nimi pracować, może je rozwijać. Fajną rzeczą, jeżeli chodzi o cross platformy jest to, że korzystają one z natywnych assetów, z natywnych elementów graficznych. Więc dla użytkownika końcowego bardzo często może być trudno rozróżnić aplikację cross platformową od natywnej.

Jeżeli chodzi o wady tego typu rozwiązania to podobnie jak w przypadku aplikacji hybrydowych, nie wszystkie funkcjonalności, nie wszystkie funkcje będą dla nas dostępne. Jeżeli mamy rozwiązanie bardzo specyficzne albo nasza aplikacja ma masę różnych funkcjonalności, najprawdopodobniej nadal lepszym rozwiązaniem będzie aplikacja natywna dla każdej platformy. Jeżeli mamy aplikację trochę prostszą, z ograniczoną liczbą funkcjonalności, które są już doskonale znane i rozwijane od lat na rynku, cross platforma pewnie okaże się lepsza.

Jeżeli chodzi o znane aplikacje, które zostały z takim podejściem wyprodukowane, to jest na przykład Discord czy Twitter.

Obejrzyj film:

About Przemysław Koper
Avatar photo

Przemysław Koper

W 2014 aplikowałem do Travelex na stanowisko Kasjera Walutowego. Na spotkaniu rekrutacyjnym obecny Prezes Euronetu zaproponował mi stanowisko Team Leadera.

W 2022 dołączyłem do Espeo Sofware, a rok później przejąłem stery firmy jako Prezes Zarządu. Jako lider i hiring manager pracuję już od blisko 10 lat. W tym czasie zrekrutowałem ponad 30 osób na stanowiska i specjalistyczne i liderskie.

Brałem udział w dziesiątkach procesów rekrutacyjnych i setkach spotkań z kandydatami. Zarówno w dużych, jak i małych firmach oraz tych nastawionych na intensywny rozwój, jak i odwrotnie – na stabilność i optymalizację.

Od 2 lat prowadzę program edukacyjny BizMentor, gdzie regularnie rozmawiam z ludźmi szukającymi pracy czy budującymi swoją pozycję na rynku.

Od wielu lat należę do społeczności C-level, jestem w ciągłym, stałym kontakcie z zarządami, managerami, liderami z innych firm, z którymi regularnie wymieniam się wiedzą i informacją. I to daje mi szerokie, kompleksowe rozumienie rynku.

I dokładnie tym się z Tobą dzielę w kursie. Przepis na sekretny sos, ponad 2h konkretnych informacji od kuchni, których nie znajdziesz nigdzie indziej!
poprzedni artykuł
następny artykuł