Rynek aplikacji mobilnych w ostatnich latach rozwija się niezwykle dynamicznie, jednakże stworzenie skutecznego zespołu mobilnego i efektywne zarządzanie nim wymaga ciągle wysokich kompetencji i sporego wysiłku. Aplikacje mobilne wykorzystywane są przez szerokie spektrum urządzeń – smartwatche o ekranach 1.5 cala, smartfony, tablety, samochody oraz 100-calowe smart TV. Niezależnie jednak od tego, na jakim urządzeniu aplikacja ma działać i jakie platformy wykorzystywać, prace projektowe związane z jej powstaniem powinny rozpocząć się zawsze od analizy wymagań biznesowych.

Cele powstania aplikacji mobilnej

Pierwszym krokiem jest zdefiniowane celów stworzenia konkretnej aplikacji mobilnej. Niektórzy klienci dokładnie i z dużą szczegółowością przedstawiają swoje wymagania i specyfikację techniczną. Inni mają tylko ogólną wizję i założone cele biznesowe. Należy podkreślić, że oba podejścia są poprawne, a dla każdego z nich istnieją odpowiednie modele współpracy z usługodawcą.

Modele współpracy

Jeśli usługobiorca zna szczegółowe wymagania i chce posiadać bezpośrednią kontrolę nad zespołem – powinien wykorzystać model Team Extension, który pozwala zarządzać pracownikami dostawcy usług. Jeśli natomiast znane są wymagania, ale usługobiorca chce skorzystać z doświadczenia dostawcy usług w celu ich szczegółowego dopracowania – korzysta z modelu Project Outsourcing. Dzięki temu zrealizowane zostają – analiza, projekt i wdrożenie aplikacji. Jeśli określone są tylko cele biznesowe – rekomendujemy współpracę w modelu Project Outsourcing lub Managed Services, po to by dostawca usługi przejął cały proces, od stworzenia modelu biznesowego, poprzez wykonanie projektu, implementację, aż po stałą opiekę i dalszy rozwój aplikacji.

Aplikacje-mobilne-modele-wspolpracy

Modele współpracy

Aplikacja natywna czy cross-platformowa

Zdefiniowanie wymagań warto zacząć od odpowiedzi na kilka pytań. Pierwsze dotyczy wyboru platform, na które tworzymy aplikację – iOS, Android, Windows Phone? Jeżeli usługobiorca zainteresowany jest niemal 100% pokryciem rynku – decyduje się na wszystkie, jeżeli natomiast konieczne jest ograniczenie budżetu – wybiera tylko te kluczowe. Każda platforma jest bowiem inna i wymaga odmiennego podejścia przy projektowaniu funkcjonalności. To specyfika świata mobilnego – projekty mają te same wymagania, ale wynikowe aplikacje są nieco inne. Każda aplikacja jest dopasowana do standardów UI platformy docelowej, dostosowana do oferowanych usług i zaprojektowana w sposób intuicyjny dla użytkowników danego systemu.

Powyższe różnice prowadzą do kluczowego pytania w projektach mobilnych: tworzyć natywnie czy cross-platformowo?

Aplikacje-mobilne-natywne-cross-technologiczne

Programowanie cross-platformowe pozwala stworzyć aplikacje dla wszystkich platform jednocześnie, poprzez jeden projekt z możliwością publikacji na każdej z nich. Zazwyczaj jest to mniej kosztowne i wymaga mniej licznego zespołu. Rozwiązanie takie niesie ze sobą jednak pewne ograniczenia – zdarza się, iż stwarza problemy w wykorzystaniu niektórych funkcjonalności, może ograniczać wydajność i stabilność. To najlepsza technologia dla tych aplikacji, których głównym celem jest prezentowanie użytkownikowi informacji. Funkcje takie jak GPS, aparat, zaawansowane mapy mogą działać niewystarczająco wydajnie i sprawnie.

Tworzenie aplikacji natywnych oznacza, że projekt na każdą platformę przygotowywany jest przez osobny zespół – innymi słowy, przynajmniej jeden programista pracuje nad jedną platformą. Podejście natywne pozwala wykorzystać wszystkie możliwe na danej platformie funkcjonalności, stworzyć aplikację o najwyższej jakości i wydajności oraz dostosować ją do wzorców i dobrych praktyk każdej z platform. Tworzenie aplikacji natywnych jest droższe, ale zawsze daje lepsze rezultaty.

Jeśli konieczne jest wykonanie aplikacji tylko na jedną platformę – na przykład do użytku wewnętrznego w firmie, wiedząc, że wykorzystywana jest tylko platforma Androida – zawsze należy wybrać podejście natywne, ponieważ uzyskana zostanie zdecydowanie wyższa jakość przy porównywalnych kosztach wykonania.

Decyzja co do wyboru sposobu tworzenia aplikacji powinna zawsze zostać skonsultowana z dostawcą usług. Właściwy wybór ma to ogromny wpływ na osiągnięcie założonych celów, całość implementacji, ograniczenia, skład zespołu i budżet projektu.

Integracje zewnętrzne

Aplikacje mobilne zazwyczaj nie działają samodzielnie. Dane znajdujące się w aplikacji są ściągane przez Internet – za pośrednictwem mechanizmu nazywanego API (ang. Application Programming Interface) lub webservice.

Usługobiorca może też posiadać własne systemy i bazy danych, które mają integrować się z aplikacją. Alternatywnie, dostawca usług może stworzyć system zarządzania treścią CMS (ang. Content Management System) działający przez www i umożliwiający łatwą edycję zawartości aplikacji mobilnej w przeglądarce komputera.

Definiowanie logiki aplikacji mobilnej i funkcjonalności

Po ustaleniu bazowych wymagań i podjęciu decyzji o zewnętrznych integracjach, następnym krokiem jest zdefiniowanie logiki aplikacji – funkcjonalności, UX i UI (ang. User Experience i User Interface). W zależności od modelu współpracy, aspekt ten może być zdefiniowany przez usługobiorcę, bądź też może on wyłącznie określić cele biznesowe i ogólną koncepcję aplikacji, a dostawca zaprojektuje finalne funkcjonalności, UX i UI.

Typowe fazy projektowania aplikacji to:
1. Specyfikacja funkcjonalności – opisuje, co powinno znaleźć się w aplikacji, które funkcjonalności są kluczowe, a które opcjonalne. W tym kroku należy też zdefiniować grupę docelową oraz urządzenia, na których aplikacja powinna działać.
2. Interaktywny prototyp UI – w tej fazie powstaje prototyp, prezentujący UX oraz UI aplikacji. Projektant skupia się na tworzeniu ekranów, przejść pomiędzy nimi i ułożeniu elementów UI takich jak przyciski, obrazki, tekst itd. Na tym etapie nie tworzy się finalnego wyglądu, a wyłącznie układ elementów. Tak przygotowany prototyp można poglądowo „przeklikać”, by poznać działanie aplikacji, sposób prezentowania poszczególnych informacji oraz intuicyjność obsługi. Po wstępnym przetestowaniu zlecone zostają poprawki, a następnie ponownie przeprowadzona zostaje weryfikacja wdrożonych zmian. Na tym etapie są one znacznie mniej kosztowne niż ich wprowadzanie po skończeniu pierwszej wersji aplikacji, dlatego dopracowanie projektu przed rozpoczęciem wykonania jest kluczowe.
3. Grafika – kiedy prototyp został już zatwierdzony, ostatnim etapem jest stworzenie finalnej grafiki dla zaprojektowanego układu elementów.

Aplikacje-mobilne-etapy-projektu

Przygotowanie specyfikacji funkcjonalnej, prototypu UI oraz grafiki kończy fazę ustalania wymagań. Następnym krokiem jest zbudowanie zespołu specjalistów, którzy będą realizować projekt i nadzorować zarówno proces tworzenia oraz realizować strategię testowania. Temat Quality Assurance zostanie opisany w następnych artykułach z serii „Jak zbudować perfekcyjny zespół tworzący aplikacje mobilne”.

Przeczytaj drugą część tego artykułu: Jak skutecznie testować aplikacje mobilne

Autorem wpisu jest:
Paweł Smagała

Z branżą IT związany od 10 lat. Absolwent Wydziału Informatyki Uniwersytetu Śląskiego. Zarządzał projektami z różnych branż, od systemów alarmowych w chmurze do systemów autonomicznej jazdy. Ma duże doświadczenie w prowadzeniu analizy biznesowej, projektowaniu i implementacji aplikacji mobilnych oraz kierowaniu zespołami specjalistów.

Dodaj komentarz

Komentarze:

Skontaktuj się z nami

Chcesz dowiedzieć się więcej o naszych usługach? Napisz do nas – odpowiemy na każdą wiadomość.

Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach handlowych.
Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach marketingowych.
Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma w celach rekrutacyjnych.
Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma na potrzeby przyszłych rekrutacji.
W związku z obowiązującymi przepisami dotyczącymi ochrony danych osobowych tj. Ustawą o ochronie danych osobowych z dnia 10 maja 2018 roku, jak również treścią Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO), informujemy, że: 1. Administratorem danych osobowych jest JCommerce Sp. z o.o. z siedzibą w Katowicach, ul. Ściegiennego 3, 40-114 Katowice (KRS: 00007393418).
2. Powyższe dane osobowe przetwarzane będą przez JCommerce Sp. z o.o. – w zależności od udzielonych przez Panią/Pana zgód (podstawa prawna przetwarzania: art. 6 ust. 1 pkt a) RODO):
• w celach handlowych,
• w celach marketingowych.
3. Podanie powyższych danych osobowych nie jest wymogiem ustawowym, umownym lub warunkiem zawarcia umowy. Nie jest Pan/Pani zobowiązany/a do podania powyższych danych osobowych, jednak brak ich podania uniemożliwi realizacje ww. celu.
4. Posiada Pan/ Pani prawo dostępu do treści swoich danych, w tym otrzymania ich kopii i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo do sprzeciwu wobec przetwarzania, prawo do cofnięcia zgody w dowolnym momencie, jeśli została udzielona. Wycofanie zgody nie wpływa jednak na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem; oświadczenie o cofnięciu zgody na przetwarzanie danych osobowych należy złożyć w siedzibie JCommerce Sp. z o.o. lub przesłać na adres mailowy zgody@jcommerce.pl. Cofnięcie zgody na przetwarzanie danych osobowych skutkuje brakiem możliwości realizacji ww. celów przetwarzania;
5. Dane osobowe są udostępniane przez JCommerce Sp. z o.o. upoważnionym pracownikom i osobom współpracującym z JCommerce Sp. z o.o. na podstawie umów cywilnoprawnych, przez których realizowany jest cel przetwarzania;
6. Wszelkie pytania dotyczące ochrony danych osobowych oraz realizacje przysługujących praw, prosimy kierować na adres odo@jcommerce.pl;
7. W zależności od udzielonej zgody, dane osobowe będą przetwarzane przez czas niezbędny do realizacji ww. celów przetwarzania. W przypadku wniesienia sprzeciwu, JCommerce Sp. z o.o. przestanie przetwarzać Pani/Pana dane w ww. celu, chyba że będzie w stanie wykazać, że w stosunku do tych danych istnieją ważne prawnie uzasadnione podstawy, które są nadrzędne wobec Pana/Pani interesów, praw i wolności, lub niezbędne do ewentualnego ustalenia, dochodzenia lub obrony roszczeń;
8. Nie przekazujemy Pani/Pana danych poza teren Europejskiego Obszaru Gospodarczego oraz do organizacji międzynarodowych.
9. Pani/Pana dane osobowe nie podlegają zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu.
10. Ma Pani/Pan prawo wniesienia skargi do organu nadzorczego gdy uzna Pan/Pani, iż przetwarzanie ww. danych osobowych narusza przepisy ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r.