Aplikacja internetowa vs. mobilna

Mając do czynienia z prostym kalkulatorem, kalendarzem lub aplikacją typu „todo list” może i nie zobaczymy różnicy, ale istnieją zasadnicze różnice pomiędzy aplikacjami internetowymi a natywnymi aplikacjami mobilnymi przeznaczonymi na poszczególne systemy operacyjne.

Jak zwykle w tego typu rozważaniach wszystko ma swoje plusy i minusy. Postaram się przybliżyć cechy każdego rozwiązania w kilku płaszczyznach oraz podpowiedzieć kiedy decydować się na aplikację webową a kiedy na typową apkę pod Androida czy iOS.

Technologia

Aplikacje webowe są najczęściej tworzone za pomocą HTML, CSS, JavaScript te bardziej rozbudowane wykorzystują pewnie PHP z MySQL. Używa się zatem typowych narzędzi umożliwiających stworzenie serwisu internetowego. Jedyne czego programista potrzebuje to notatnik. Kod oczywiście interpretowany jest przez przeglądarkę internetową. Każdy przyzna że takie pisanie jest przyjemne – od razu widać efekty pracy, aplikację udostępnia się momentalnie i wszyscy są szczęśliwi.

Aplikacje natywne tworzymy w SDK. Praca nad projektami już jest typowym programowaniem jak to ma miejsce przy aplikacjach okienkowych pod Windows. Nie chcę zbytnio generalizować, ale praca nad natywną aplikacją pod Androida zwykle zabierze więcej czasu, jest bardziej wymagająca od programisty – po prostu cały cykl produkcji jest bardziej złożony.

Dostępność

Aplikacje internetowe są dostępne jak sama nazwa wskazuje w sieci WWW a to znaczy, że wystarczy wpisać w przeglądarce odpowiedni adres i już bez instalowania czegokolwiek możemy korzystać z ich dobrodziejstw. Zupełnie nieważne jest to jakim dysponujemy sprzętem czy systemem operacyjnym. Aplikacja internetowa zadziała wszędzie tam gdzie można włączyć np. YouTube i to jest fajne.

Aplikacje natywne – znowu jak sama nazwa wskazuje – są dedykowane pod specyficzny system operacyjny. Aby skorzystać z aplikacji natywnej trzeba ją zainstalować no i posiadać odpowiedni sprzęt z danym systemem operacyjnym.

Możliwości

Aplikacje internetowe są ograniczone do możliwości przeglądarki. Mimo, że teraz przeglądarki wspierają wiele nowych technologii, które mają pomagać programistom przy bardziej skomplikowanych zadaniach, prędzej czy później z tymi ograniczeniami trzeba się będzie zmierzyć. O jakie ograniczenia chodzi? Nie mamy np. bezpośredniego dostępu do możliwości sprzętowych urządzenia takich jak kamera, akcelerometr, czy GPS. Oczywiście są sposoby na ominięcie tego, no ale już trzeba kombinować.

Przy aplikacjach natywnych tego problemu nie ma. Mamy bezpośredni dostęp do możliwości urządzenia jakie oferuje system operacyjny. Aplikacje natywne (znowu nie chcę generalizować) oferują zwykle więcej i to bez kombinowania. Skorzystanie z  aparatu, mikrofonu czy GPS nie będzie problemem a zintegrowany system płatności pomoże nam w pobieraniu opłat od użytkownika za sprawą jednego kliknięcia.

Cena

Stworzenie aplikacji internetowej jest tańsze bo jest proste i stosunkowo szybkie. Mamy też większą konkurencję rynku stąd ceny często schodzą do kilku tysięcy złotych za proste aplikacje.

Aplikacje natywne muszą być pisane przez w miarę ogarniętych programistów. Tutaj już nie wystarczy byle tutorial, no chyba że chcemy stworzyć sobie Hello World lub bardzo prostą grę. Ceny za aplikacje pisane pod zamówienie to zwykle kilkanaście lub kilkadziesiąt tysięcy złotych.

Podsumowanie

Zacytuję tutaj fajne zdanie z książki Android – Tworzenie aplikacji Jonathana Starka i Briana Jepsona:


Jeśli daną aplikację możesz zbudować w oparciu o HTML, CSS i JavaScript, najprawdopodobniej tak właśnie powinieneś zrobić.

Fajny skrót myślowy, bowiem zawsze wtedy kiedy możliwości typowo przeglądarkowe nam wystarczą, aplikacje internetowe będą tańsze, szybciej będzie trwało ich pisanie no i nie trzeba ich instalować.

Pewnych rzeczy nie przeskoczymy, jeżeli tworzymy grę 3D, czy aplikację z ciekawymi funkcjami wykorzystującą kamerę aplikacja natywna będzie jedynym rozwiązaniem.

Aplikacja internetowa vs. mobilna
4.5 (90%) głosów: 20