Super wydajna czy prosta i szybka w produkcji? Złożona i naszpikowana funkcjami czy dostarczona bez większego budżetu? Zanim porwiemy się na zbudowanie aplikacji mobilnej, musimy zastanowić się jaki rodzaj aplikacji będzie najlepszy pod kątem naszej sytuacji biznesowej.
Hybrydowa czy natywna – czym są i na którą powinniśmy się zdecydować?
Tak bardzo wrosły w naszą codzienność, że już dawno przestaliśmy nawet próbować wyobrażać sobie świata bez nich. Za ich pomocą komunikujemy się prywatnie i zawodowo, organizujemy sobie zadania, wykonujemy przelewy, inwestujemy oszczędności, robimy zakupy, słuchamy muzyki, omijamy korki drogowe, sprawdzamy pogodę, podejmujemy decyzje – od drobnych przyjemności aż po te najbardziej ważkie.
Aplikacje mobilne na stałe zaistniały w naszych życiach. Nic więc dziwnego, że stały się biznesowym celem i ambicją dla wielu firm i start-upów.
3,7 miliarda użytkowników na całym świecie
Od dobrych kilku lat czytamy i słyszymy o erze urządzeń mobilnych i o tym, jak zmieniają one zachowania użytkowników w Internecie. Jak dowiadujemy się z dokumentu „Mobile internet usage in the United States – Statistics & Facts”, w samych Stanach Zjednoczonych szacuje się, że liczba mobilnych internautów z 237 milionów (stan na 2017 rok) wzrośnie do 275 milionów w 2022.
Jak przedstawia się sytuacja na całym świecie? Dane z początku 2018 roku wskazują, że globalna „mobilna” społeczność osiągnęła już poziom 3,7 miliarda unikalnych użytkowników! Już rok wcześniej okazało się, że blisko połowa światowego ruchu na stronach internetowych generowana jest przez smartfony i tablety.
Co ciekawe, czołówka krajów z największym udziałem mobilnego korzystania z sieci to państwa afrykańskie i azjatyckie, takie jak Kenia, Nigeria, Indie, Singapur, czy Indonezja.
Typy aplikacji mobilnych
Skoro już wiemy, że desktop cofa się do głębokiej defensywy pod naporem urządzeń mobilnych, to wiemy też, że walka o serca naszych klientów rozgrywa się na polu bitewnym aplikacji.
Czym zatem jest aplikacja mobilna? Najprościej – aplikacją, którą możemy uruchamiać na naszych przenośnych urządzeniach. Mimo że zahaczamy tu lekko o banał, to właśnie mobilność jest doświadczeniem użytkownika, o którym nie wolno nam zapominać.
Aplikacje powstają z myślą o wykorzystaniu na platformach:
- iOS
- Android
- Windows Phone – Microsoft zdecydował się na wycofanie jej z rynku. Technologiczny gigant podtrzymuje jej bieżące wsparcie, ale nie ma sensu już pisać nowych aplikacji pod tą platformę.
Jakie mamy rodzaje aplikacji mobilnych pod kątem ich budowania?
- Natywne – aplikacje te tworzymy pod konkretną platformę, czyli pod iOS oraz Androida. W przypadku iOS piszemy je w języku Swift / Objective-C, natomiast pod kątem Androida używamy Javy. Budując aplikację natywną, możemy w pełni komunikować się z urządzeniem, na którym będzie uruchomiona.
- Hybrydowe – jak sama nazwa wskazuje, ten rodzaj jest fuzji dwóch rozwiązań – aplikacji natywnej i aplikacji webowej. W tym przypadku możemy uzyskać zalety rozwiązania natywnego oraz atuty, których dostarcza budowanie aplikacji webowej, a kryje się za tym szybsze i łatwiejsze budowanie interfejsu.
- Aplikacje Progresywne (Web) – ten wariant możemy potraktować jako rozwinięcie responsywnej aplikacji (RWD), który daje nam więcej możliwości. Pod kątem technicznym jest to aplikacja webowa. Jednak użytkownik, który trafia na nią na stronie w trybie desktopowym, może odnieść wrażenie, że jest to zwykła aplikacja mobilna. Dlaczego? Ponieważ:
- Można ją dopiąć do pulpitu
- Ma swoją ikonkę
- Jest zaprojektowana tak, aby jej interfejs nie odbiegał wyglądem od aplikacji natywnej.
Ponadto, funkcje aplikacji progresywnych mogą być obsługiwane w trybie offline. To rozwiązanie dedykowane jest dla takich firm, które dotychczas operowały na swojej stronie www i na niej chcieliby dodatkowo ugrać użytkowników mobilnych.
Natywna aplikacja mobilna
Jest to typowa aplikacja mobilna napisana w określonym języku dla danego systemu operacyjnego. Stwarza ona pole do popisu dla deweloperów. Programiści piszą wszystkie funkcje aplikacji, w związku z czym mogą budować złożone i ambitne produkty, nie trzymając w ryzach swojej kreatywności.
Natywna otwiera drzwi do wysokiej wydajności, co przydaje się, chociażby przy pisaniu gier. Musimy jednak odnotować, że rynek rozwija się i dostarcza nam narzędzi do tworzenia rozwiązań pod wiele platform. Jeśli chcielibyśmy jednak pisać kod dla każdej platformy osobno to musimy zmierzyć się z tym, że będzie to droga i czasochłonna, jeśli chodzi o produkcję, operacja. Doliczmy do tego utrzymanie i rozwój tej aplikacji, a to również nie będzie tanie.
Plusem tego wariantu jest pełny dostęp do podzespołów telefonu. Jeśli naszym celem jest stworzenie aplikacji, która w nietypowy sposób korzysta z zasobów naszego telefonu, to aplikacja natywna może okazać się sensownym rozwiązaniem.
Hybrydowa aplikacja mobilna
Korzystają z niej takie tuzy jak Facebook, Instagram, Tesla, czy Airbnb. Hybryda korzysta z pełni technologii używanych do tworzenia aplikacji internetowych, a przy tym ma dostęp do funkcji telefonu tak jak aplikacja natywna.
W praktyce wygląda to tak, że budujemy aplikację w jednej technologii, np. JavaScript lub .NET, ale użyte narzędzia umożliwiają nam stworzenie aplikacji na wiele platform.
Ale na tym nie koniec zalet hybrydy. Przyjrzyjmy się pozostałym:
- Rozwój aplikacji hybrydowych jest tańszy i szybszy. Mocnym punktem tego rozwiązania jest jego wszechstronność. Można pomyśleć, że pisząc kod w jednej technologii, oddajemy produkt tylko na przestrzeń jednego systemu (tak jak w aplikacji natywnej). Tymczasem, korzystając tylko z jednego języka programowania, otrzymujemy aplikację do wykorzystania zarówno na iOS, jak i na Androidzie.
- Aplikacja ta może być ładna! Mamy do wyboru cały ekosystem narzędzi, dzięki którym można bardzo szybko stworzyć atrakcyjne aplikacje – nawet bazując na gotowych szablonach. Pod kątem biznesowym to wymarzone rozwiązanie dla start-upów poszukujących angel investors – prezentacja szybkiego w produkcji i ładnie wyglądającego MVP jest w zasięgu ręki.
- Hybryda, w przeciwieństwie do aplikacji webowej, może działać offline! Możemy ją zaprojektować tak, że nie będzie wymagała dostępu do sieci, a dane będą się synchronizować z serwerem, gdy tylko połączenie się pojawi.
- Aplikacja może się aktualizować podczas jej uruchamiania lub według innego harmonogramu stworzonego przez software house, który ją wyprodukował. Mechanizmy te uwalniają aktualizacje z procesów narzuconych przez sklep, na którym została umieszczona.
- Technologia hybrydowa może też śmiało posłużyć do tworzenia gier na urządzenia mobilne. Potrzebuje jednak innego zestawu narzędzi niż do pisania aplikacji biznesowych czy konsumenckich. Wprawiony software house weźmie się za taki projekt, odpalając takie silniki jak Unity, Unreal Engine, Corona SDK.
Uzbrojeni w aplikację hybrydową powiększamy zasięg rażenia naszej oferty biznesowej. Start-up, który decyduje się na wybór takiej technologii, zwiększa swoje szanse w walce o uwagę klienta. Dlaczego? Ponieważ za jednym zamachem dociera do użytkowników Androida i iOS.
Wady hybrydy?
OK, nasza sceptyczna natura zawsze będzie doszukiwać się mankamentów danego rozwiązania, zwłaszcza w prawdziwej powodzi zalet. Jak to wygląda w przypadku aplikacji hybrydowej? Krytycy wytykają głównie dwie kwestie. Czy słusznie?
- Wydajność. Słaby punkt hybrydy … ale był nim wówczas kiedy ta technologia dopiero raczkowała. Teraz, dzięki wykorzystaniu React Native natywne i hybrydowe aplikacje nie różnią się pod względem wydajności.
- Pożeracz czasu deweloperów. Jeśli w hybrydzie chcemy wykorzystać unikalne funkcje dla danej platformy, to musimy poświęcić więcej czasu na wdrożenie takiego rozwiązania. Czy faktycznie tak jest? Otóż nie taki diabeł straszny, ponieważ 95% aplikacji opiera się o te same fundamenty, jeśli chodzi o funkcje.
Natywna vs Hybrydowa – co wybrać?
Co się stanie, jeśli zderzymy ze sobą te dwie szkoły w produkcji aplikacji? Którą technologię powinniśmy wybrać do naszych celów biznesowych?
Po pierwsze, stworzenie aplikacji hybrydowej trwa zdecydowanie szybciej niż budowa natywnej aplikacji. Hybryda wymaga nauczenia się wyłącznie jednego narzędzia oraz wiedzy z zakresu JavaScript i HTML, czyli typowych narzędzi internetowych. Co już podkreślaliśmy wcześniej, raz napisany kod skutkuje aplikacją działającą od razu na obu systemach operacyjnych.
Wybór natywnej oznacza, że tę samą aplikację musimy napisać osobno dla iOS i osobno dla Androida, używając do tego innych języków. Oznacza to, że rozwój aplikacji jest dłuższy i o wiele bardziej kosztowny.
Kolejną różnicą jest to, że hybryda nie ma dostępu do wszystkich skomplikowanych funkcji telefonu. Jednakże programista może swobodnie dopisywać wtyczki, które bez problemu obsłużą funkcje oferowane przez aplikacje natywne.
Użyteczność, szybkość działania, i estetyka – to bez wątpienia bardzo ważne cechy, których oczekujemy od naszej przyszłej aplikacji. Natywna technologia radzi sobie z nimi zdecydowanie lepiej. Zarówno dla dużych, rozbudowanych aplikacji, jak i dla gier mobilnych, szybkość i płynność są najważniejsze. Hybryda natomiast świetnie sprawdza się w mniejszych aplikacjach.
Przeciwnicy hybrydy lubią zarzucać jej powolność i niską wydajność, ale problem ten przeszedł do historii wraz z nadejściem nowej generacji smartfonów i kolejnych wersji systemów operacyjnych. Istnieją też rozbudowane aplikacje hybrydowe, które działają szybko i bez zacinania się. Zdolności programistów mają tutaj większe znaczenie niż jakieś predefiniowane cechy danej technologii.
Czas na decyzję…
Aplikacja hybrydowa to idealne rozwiązanie, jeśli:
- mamy pomysł na prostą aplikację mobilną, bez skomplikowanych funkcji,
- mamy ograniczony budżet i goniące nas terminy,
- jesteśmy start-upem, którego celem jest stworzenie ładnego prototypu aplikacji i zainteresowanie nią potencjalnego inwestora.
Natomiast, aplikacja natywna będzie dla nas, jeśli:
- mamy już swoją aplikację mobilną i chcemy ją rozbudować,
- mamy pomysł na zaawansowaną grę lub aplikację mobilną,
- szybkość działania oraz płynność wykonywania kluczowych operacji to dla nas priorytet,
- nie przejmujemy się budżetem ani długim czasem wykonania.
…i na realizację!
W GMI Group Software House stawiamy na zwinne budowanie aplikacji hybrydowych i progresywnych, ponieważ wiemy, jak ważna jest optymalizacja czasu i kosztów związanych w produkcją. Wiemy też jak kolosalne znaczenie dla biznesu jest zyskanie na czasie i wypuszczenie na rynek wersji MVP, którą potem można udoskonalać.