Rodzaje aplikacji mobilnych
Istnieją trzy główne typy aplikacji mobilnych:
- Natywne
- Przeglądarkowe
- Hybrydowe
Każdy z tych typów aplikacji ma swoje zalety i wady, co wymaga podjęcia decyzji biznesowej przed rozpoczęciem ich tworzenia.
Aplikacje natywne są rozwijane za pomocą specyficznych dla platformy zestawów SDK (Software Development Kits), narzędzi deweloperskich oraz specyficznych dla platformy czujników i funkcji. Są one pobierane, instalowane i aktualizowane ze sklepów dostawców. Te aplikacje mogą wymagać testowania na wszystkich obsługiwanych urządzeniach.
Aplikacje natywne zazwyczaj oferują lepszą wydajność, mogą w pełni wykorzystać funkcje platformy i spełniają oczekiwania dla platformy, na której są rozwijane. Koszt ich tworzenia jest zazwyczaj wyższy, a dodatkowe wyzwania mogą obejmować konieczność wsparcia wielu platform oraz instalację i testowanie na dużej liczbie urządzeń.
Aplikacje przeglądarkowe są dostępne przez przeglądarkę mobilną. Ponieważ korzystają z typowych technologii webowych i przeglądarek, łatwo jest je wspierać na wielu platformach, a koszt tworzenia jest zazwyczaj niższy.
Istnieją cztery główne sposoby tworzenia mobilnych aplikacji webowych:
- Specyficzne dla urządzeń mobilnych wersje stron i aplikacji (znane również jako strony m(dot)). Zazwyczaj oznacza to, że gdy mobilna przeglądarka otwiera aplikację, jest dostarczana wersja mobilna. Na przykład, facebook.com przekierowuje na m.facebook.com, gdy jest otwierany z urządzenia mobilnego.
- Aplikacje responsywne, które dostosowują się do formatu i rozmiaru ekranu, zwykle wyrażone jako "viewports".
- Aplikacje adaptacyjne, które dostosowują projekt do określonych rozmiarów. Dla tych rozmiarów istnieją różne projekty, a funkcje dostępne dla użytkownika są często dostosowywane.
- Aplikacje progresywne, które umożliwiają tworzenie skrótów do konkretnych stron internetowych na ekranie głównym urządzenia mobilnego. Wyglądają jak natywne aplikacje i czasami mogą działać nawet offline.
Mobilne aplikacje webowe są tworzone z użyciem powszechnych technologii webowych, co zazwyczaj sprawia, że są łatwiejsze do rozwijania i zarządzania w porównaniu do aplikacji natywnych i hybrydowych. Mogą jednak nie być tak bogate w funkcje jak aplikacje natywne lub hybrydowe i mogą mieć ograniczony dostęp do natywnych interfejsów API platformy. Dostęp do czujników mobilnych jest również ograniczony. Testowanie instalacji na urządzeniach nie jest potrzebne, ale wymagane jest testowanie kompatybilności z przeglądarkami.
Aplikacje hybrydowe są połączeniem aplikacji natywnej i webowej. Używają natywnej powłoki aplikacji, która zawiera widok webowy do uruchamiania aplikacji webowej wewnątrz aplikacji natywnej. Te aplikacje są pobierane ze sklepów dostawców i mogą uzyskać dostęp do wszystkich funkcji urządzenia. Są stosunkowo łatwe do rozwijania, aktualizacji i utrzymania bez potrzeby aktualizacji aplikacji zainstalowanej na urządzeniu. Umiejętności wymagane do tworzenia tych aplikacji są niemal takie same jak do tworzenia aplikacji webowych. Możliwe słabe punkty tych aplikacji to problemy z wydajnością spowodowane użyciem powłoki oraz możliwe rozbieżności w wyglądzie i funkcjonalności ze względu na specyficzne dla platformy aspekty.
Aplikacje natywne i hybrydowe są instalowane fizycznie na urządzeniu i dlatego zawsze są dostępne dla użytkownika, nawet gdy urządzenie nie ma połączenia z internetem. W porównaniu z nimi, aplikacje przeglądarkowe wymagają dostępu do internetu.
Niektóre aplikacje są wstępnie zainstalowane na urządzeniu mobilnym, a inne mogą być instalowane za pośrednictwem różnych kanałów dystrybucji, takich jak Apple App Store, Google Play Store, firmowe sklepy z aplikacjami (dostępne tylko w sieci firmowej) oraz zewnętrzne rynki aplikacji.
Testowanie każdego z tych typów aplikacji może wymagać innego podejścia. Parametry, które należy wziąć pod uwagę, to:
- Różne typy urządzeń, które mają być obsługiwane.
- Czujniki i funkcje urządzeń, które mają być używane.
- Dostępność w różnych warunkach sieciowych.
- Instalowalność, kompatybilność, efektywność działania i użyteczność.