Blog - Oprogramowanie mobilne

Aplikacje mobilne

Opublikowane grudzień 2012 przez Ewa Brzeska w Oprogramowanie mobilne.

Aplikacje mobilne - co kryje się za tym pojęciem?

Aplikacje mobilne stają się dziś coraz bardziej oczywistym elementem strategii marketingowej przedsiębiorstw różnych branż oraz naturalnym kanałem łączności z jej użytkownikami. Jednak słowa "aplikacja mobilna" nie każdy rozumie tak samo. Jedni wyobrażają sobie, że aplikacje mobilne to przede wszystkim gry, czy programy służące szeroko pojętej rozrywce (umożliwiające słuchanie muzyki, oglądanie filmów, bycie w ciągłym kontakcie ze znajomymi na portalach społecznościowych, itp.) Inni używają smartfonów i tabletów przede wszystkim do surfowania po Internecie, sprawdzania poczty, czy pisania sms-ów, wykorzystując do tego celu najczęściej aplikacje dostarczane wraz z urządzeniem i jego systemem operacyjnym. Tymczasem pojęcie aplikacje mobilne jest szerokie i pojemne. Spójrzmy zatem jak różne typy, rodzaje i kategorie oprogramowania na urządzenia przenośne w sobie mieści.

Aplikacje mobilne - typy i rodzaje oraz kryteria podziału

Przeznaczenie aplikacji i jej grupa docelowa

Jednym z najważniejszych kryteriów podziału aplikacji mobilnych jest podział uwzględniający grupę docelową przyszłych użytkowników aplikacji oraz przeznaczenie samego oprogramowania. Według takiego kryterium aplikacje mobilne możemy podzielić na następujące kategorie:

  • aplikacje biznesowe, przeznaczone do wspomagania różnych sfer biznesu
  • aplikacje wspomagające organizację pracy i zwiększające produktywność
  • aplikacje finansowe, w tym bankowe
  • aplikacje medyczne
  • aplikacje sportowe
  • aplikacje nawigacyjne / lokalizacyjne
  • oprogramowanie wspierające podróże
  • oprogramowanie edukacyjne
  • aplikacje społecznościowe
  • aplikacje przeznaczone dla dzieci
  • gry
  • książki i katalogi
  • aplikacje rozrywkowe
  • aplikacje pogodowe
  • aplikacje do obróbki i zarządzania zdjęciami i video
  • oprogramowanie muzyczne, itd.

Dobra aplikacja mobilna może powstać jedynie wówczas, jeśli już na początku prac projektowych, podczas definiowania wymagań na oprogramowanie, zostanie poprawnie określona grupa docelowa użytkowników oraz jej preferencje odnośnie aplikacji. Inna bowiem będzie budowa interfejsu użytkownika w przypadku, jeśli użytkownikami będą dzieci, a inna, jeśli aplikacja mobilna ma być przeznaczona do wspomagania procesów biznesowych danego przedsiębiorstwa. Aplikacje finansowe na przykład, mają bardzo wyśrubowane wymagania odnośnie bezpieczeństwa. Z kolei, przy projektowaniu aplikacji, które z racji swojego przeznaczenia będą używane w większości w terenie, poza zasięgiem sieci WiFi oraz bez możliwości częstego ładowania baterii urządzenia (np. aplikacje sportowe, czy podróżnicze), ważnym wymaganiem jest optymalizowanie ilości danych przesyłanych online oraz dbałość o oszczędne użycie baterii.

Każdorazowo, podczas projektowania rozwiązania mobilnego, koniecznym jest zaprojektowanie jego optymalnej architektury.

Architektura rozwiązania i sposób transakcjonowania

W zależności od architektury całego rozwiązania mobilnego, aplikacje mobilne możemy podzielić na:

  • działające offline - aplikacje mobilne, które po zainstalowaniu działają na urządzeniu bez potrzeby łączenia z jakimkolwiek serwerem. Są w pełni samodzielne, a na urządzeniu znajduje się pełen zestaw danych koniecznych do ich pracy
  • działające online, co oznacza, że podczas swojego działania aplikacje wymieniają dane z odległym serwerem. Do ich poprawnej pracy niezbędne jest zapewnienie aktywnego połączenia internetowego. Rozwiązania zawierające tego typu aplikacje projektowane są w architekturze klient-serwer.
  • działające częściowo offline - aplikacje mobilne, które do poprawnej pracy wymagają co jakiś czas synchronizacji danych z odległym serwerem. Synchronizacja ta może jednak nastąpić w wygodnym dla użytkownika aplikacji momencie (np. wówczas, kiedy urządzenie znajduje się w zasięgu sieci WiFi). Po zsynchronizowaniu danych aplikacja jest w stanie pracować samodzielnie, w trybie offline aż do czasu następnej synchronizacji. Rozwiązania takie również projektowane są w architekturze klient-serwer

Technologia tworzenia aplikacji mobilnej

Proces tworzenia aplikacji mobilnych to nie tylko przygotowanie optymalnego projektu, uwzględniającego preferencje i zachowania grupy docelowej - przyszłych użytkowników aplikacji. I nie tylko wybór odpowiedniej architektury całego rozwiązania. To także, a może przede wszystkim, wybór odpowiedniej technologii realizacji (implementacji) aplikacji.

Technologia implementacji aplikacji mobilnej ma wpływ na wiele jej przyszłych parametrów, takich jak:

  • szybkość działania aplikacji
  • możliwość wykorzystania pełnych zasobów sprzętowych urządzenia, na którym jest uruchamiana
  • wygląd i możliwości interfejsu użytkownika
  • możliwą architekturę całego rozwiązania mobilnego
  • możliwy sposób dystrybucji aplikacji
  • czas potrzebny na wykonanie zmian i modyfikacji w istniejącej aplikacji
  • możliwości dalszego rozwoju aplikacji
  • i wreszcie koszt wytworzenia aplikacji

Uwzględniając technologię implementacji aplikacji oraz jej przyszłe możliwości, aplikacje mobilne możemy podzielić na trzy główne grupy:

  • aplikacje natywne, budowane w całości z wykorzystaniem jedynie natywnych, właściwych dla danej platformy systemowo-sprzętowej, środowiska programistycznego oraz języka programowania. W przypadku Apple iOS i iPhone / iPad są to: iOS SDK i Objective-C. Aplikacje te mogą być przeznaczone do dystrybucji publicznej poprzez sklepy internetowe takie jak App Store. W pełni wykorzystują możliwości sprzętowe urządzenia i systemu operacyjnego, na które zostały zaimplementowane. Mogą pracować w dowolnej architekturze (online, offline lub mieszanej). Ich interfejs użytkownika jest intuicyjny i łatwy w obsłudze, gdyż tworzony jest zgodnie z zaleceniami producenta danego systemu operacyjnego i urządzenia (w przypadku Apple iOS jest to "iOS Human Interface Guidelines"). Są najszybsze w działaniu ze wszystkich wymienionych tu typów aplikacji oraz optymalnie gospodarują zasobami urządzenia, na którym działają. Możliwości ich dalszego rozwoju są ograniczone jedynie możliwościami samego sprzętu oraz systemu operacyjnego, na który zostały zaimplementowane
  • webowe - pisane najczęściej w HTML5, są to aplikacje przystosowane do pracy w przeglądarce internetowej (dla iPhone i iPada jest to przeglądarka Safari). Aplikacje te, w odróżnieniu od aplikacji natywnych, nie mogą korzystać w pełni z możliwości sprzętu i systemu operacyjnego, na jakich są uruchamiane. Do swojej pracy wymagają ciągłego połączenia z Internetem (pracują online). Ewentualną pracą offline zarządza sama przeglądarka, a nie aplikacja. Interfejs użytkownika takich aplikacji jest dość ubogi w porównaniu z aplikacjami natywnymi. Aplikacje te działają wolno, a ich możliwości rozbudowy są ograniczone. Jedyną w zasadzie zaletą tego typu aplikacji jest to, że raz stworzone, mogą pracować na wielu urządzeniach, w wielu przeglądarkach, pod kontrolą wielu systemów operacyjnych
  • hybrydowe - aplikacje, które składają się z części natywnej oraz z części webowej, osadzonej w przeglądarce. Ich parametry są pochodną parametrów obu typów aplikacji i każdorazowo zależą od tego, jaka część ich funkcjonalności została zrealizowana w sposób natywny, a jaka webowo

Sposób dystrybucji aplikacji

Aplikacje mobilne mogą być przeznaczone do:

  • dystrybucji publicznej, za pomocą sklepów typu App Store, czy Android Market (obecnie Google Play). Aplikacje umieszczone w tych sklepach mogą być pobierane na smartfony i tablety użytkowników w dowolnym momencie. Automatycznie instalują się na urządzeniach zaraz po pobraniu, a po zainstalowaniu (i ewentualnie synchronizacji danych, jeśli oprogramowanie tego wymaga) są gotowe do pracy w zakresie swojej funkcjonalności
  • dystrybucji prywatnej, wewnętrznej. Dystrybucji takiej podlegają zazwyczaj aplikacje mobilne dedykowane dla biznesu, które powstały na zamówienie danej firmy, czy korporacji i są wykorzystywane w codziennej pracy jej pracowników

Ilość platform, na które dedykowana jest aplikacja mobilna

W zależności od ilości platform, na których może być uruchamiana aplikacja mobilna, oprogramowanie dzielimy na:

  • jednoplatformowe
  • wieloplatformowe

Przy czym platformy, o których mowa wyżej, mogą być zarówno sprzętowe, jak i programowe. Oznacza to, że przykładowo aplikacja mobilna może być nazywana wieloplatformową wówczas, jeśli została napisana w taki sposób, iż działa zarówno na iPhone z systemem operacyjnym Apple iOS, jak i na smartfonie z systemem Android. Może być nazywana wieloplatformową również wówczas, jeśli działa zarówno na tablecie, jak i smartfonie pod jednym systemem operacyjnym, np. aplikacja iOS, którą możemy uruchomić zarówno na iPhone, jak i na tablecie iPad.

Cena aplikacji i sposoby płatności

Aplikacje mobilne, które są dystrybuowane publicznie, mogą być:

  • bezpłatne - można pobierać je na urządzenia bez dokonywania jakichkolwiek opłat
  • płatne - warunkiem pobrania aplikacji na urządzenie jest dokonanie płatności zgodnie z ceną podaną w sklepie internetowym
  • z mikropłatnościami wewnątrz - aplikacje takie mogą być bezpłatne lub płatne, lecz bez względu na formę pierwotnego zakupu, część wewnętrznych funkcji aplikacji dostępna jest dopiero po wniesieniu opłaty za ich wykorzystanie z poziomu samej aplikacji

Aplikacje mobilne - typy i rodzaje - podsumowanie

Przedstawiony powyżej podział aplikacji mobilnych na typy, rodzaje i kategorie nie wyczerpuje całkowicie przedstawionego przeze mnie tematu. Można wyodrębnić jeszcze kolejne kryteria podziału, o których postaram się napisać w jednym z kolejnych artykułów. Dzisiejszy artykuł ma przede wszystkim na celu uzmysłowienie Czytającym jak rozległą grupą oprogramowania są aplikacje mobilne i jak bardzo poszczególne produkty mogą różnić się pomiędzy sobą. Sztuką jest już podczas pierwszych rozmów pomiędzy Klientem a wykonawcą oprogramowania dobranie takiej technologii, architektury, a przede wszystkim funkcjonalności przyszłej aplikacji, aby wspólnie osiągnąć najwyższy poziom satysfakcji Zamawiającego.

Copyright © Ebitech Spółka z o.o.