Tworzenie oprogramowania dla urządzeń przenośnych
Definicja tworzenia aplikacji mobilnych może być szeroka, obejmująca wszystkie procesy związane z tworzeniem i wydawaniem aplikacji mobilnej, lub określonej aplikacji, odnoszące się do kodowania i wdrażania aplikacji. W tym artykule omówiono zarówno definicje tworzenia aplikacji mobilnych, jak i skoncentrowano się zwłaszcza na definiowaniu tworzenia aplikacji mobilnych dla osób podejmujących decyzje związane z tworzeniem samego oprogramowania lub odpowiedzialnego za nie.
Aby zdefiniować tworzenie aplikacji mobilnych, należy zacząć od zdefiniowania urządzeń przenośnych, które w tym przypadku odnoszą się do przenośnych urządzeń elektronicznych, takich jak smartfony, tablety, laptopy, inteligentne zegarki, czytniki elektroniczne i konsole do gier podręcznych. W przypadku aplikacji mamy na myśli nie tylko oprogramowanie natywne dla tych urządzeń, ale także typowe systemy operacyjne, platformy i języki obsługiwane przez te urządzenia. Jak się dowiesz, istnieje wiele różnych sposobów podejścia do tworzenia aplikacji mobilnych i wiele decyzji do podjęcia.
Proces tworzenia aplikacji mobilnych
Proces tworzenia i wydawania aplikacji mobilnych jest często rozumiany w serii kroków lub faz. Te fazy procesu tworzenia aplikacji mobilnych obejmują wiele różnych osób i dyscyplin w organizacji, w tym biznesowych, marketingowych, projektowych i inżynieryjnych. Etapy procesu tworzenia aplikacji mobilnych to:
- Strategia
- Planowanie
- Projektowanie
- Tworzenie oprogramowania
- Testowanie
- Wydawanie
Jak długo trwa tworzenie aplikacji mobilnej?
Organizacje poświęcają od trzech miesięcy do dziewięciu miesięcy, lub dłużej, gdy jest to wymagane, na tworzenie aplikacji mobilnych. Zakres i funkcje aplikacji mają wpływ na oś czasu procesu tworzenia aplikacji mobilnych.
Strategia
Proces tworzenia aplikacji mobilnych zaczyna się od zrozumienia, dlaczego aplikacja mobilna może być dobrym rozwiązaniem problemu lub podejścia do szansy sprzedaży, a następnie podjęcia decyzji o tym, co należy skompilować i jak to zrobić. W fazie strategii organizacje ustalą cele i miary sukcesu aplikacji, przeanalizują rynek i konkurencję, zbadają potrzeby swoich klientów oraz określą, którzy użytkownicy i przypadki użycia będą służyć aplikacji. W fazie strategii organizacje mogą również zacząć badać, które platformy deweloperskie aplikacji mobilnych będą działać najlepiej ze swoimi celami i wymaganiami. Na tym etapie organizacje również zaczynają rozważać marketing dotyczący wydania aplikacji.
Planowanie
W fazie planowania organizacje uzgadniają cztery kluczowe szczegóły procesu tworzenia aplikacji mobilnych: zespoły, narzędzia, technologie i osie czasu. Do tej pory mają pojęcie o tym, jakiego typu aplikację mobilną potrzebują utworzyć, kto będzie kompilować aplikację i których platform będą używać. W tej fazie organizacje opublikują plan produktu, określając, które funkcje będą wbudowane w jakiej kolejności i do kiedy, ustawią punkty kontrolne, oraz zaprojektują plan projektu, który umożliwi im dotrzymanie zamierzonej daty wydania. Wiedza o tym, jakie zasoby i wiedza specjalistyczna są dostępne, oraz zrozumienie sposobu implementacji technologii wybranej do tego procesu są niezbędne do określenia tej daty i dotrzymania daty wydania.
Projektowanie
Wygląd, cechy i funkcja aplikacji mobilnej zaczynają kształtować się w fazie projektowania. W tej fazie procesu tworzenia aplikacji mobilnych zespoły będą przedstawiać środowisko użytkownika i tworzyć interfejsy użytkownika oraz stany aplikacji w różnych wiernościach. Mogą one zaczynać się od makiety o niskiej wierności, aby zapewnić weryfikację koncepcji lub zebrać opinie klientów na wczesnym etapie. Deweloperzy i inżynierowie mogą pomóc w tworzeniu prototypów lub konsultacji dotyczących decyzji o środowisku użytkownika i interfejsu użytkownika na tej fazie, dzięki temu zespoły będą informowane o wymaganiach i specyfikacjach technicznych platform wybranych do użycia przez organizację. Dzięki temu organizacje, które przechodzą na ekrany o pełnej wierności, zaprojektowały aplikację, którą można naprawdę utworzyć.
Tworzenie oprogramowania
Programowanie słów w tym kontekście czasami odnosi się do pełnego cyklu życia tworzenia oprogramowania związanego z tworzeniem i wydawaniem aplikacji mobilnej. Jednak częściej programowanie oznacza tę fazę opracowywania oprogramowania w ramach tworzenia aplikacji mobilnych. Tę fazę zdefiniujemy bardziej szczegółowo w dalszej części artykułu. Na razie tę fazę najlepiej opisać jako krok, w którym zespoły ustanawiają architekturę techniczną i stos technologiczny, w tym fronton, zaplecze i interfejsy API, ustawiają kamienie milowe programowania, określają cykl życia programowania aplikacji i kodują aplikację.
Testowanie
Testowanie jest kluczową fazą procesu tworzenia aplikacji mobilnych. Bez testowania organizacje nie mogą mieć pewności, że ich aplikacja będzie bezpieczna, działać w sposób, w jaki użytkownicy jej potrzebują i czego oczekują, i działać tam, gdzie ją wdrażają. W tej fazie zespoły zapewniają gwarancję jakości, tworząc przypadki testowe w celu oceny użyteczności, wydajności, stabilności i zabezpieczeń aplikacji na wszystkich urządzeniach, na których aplikacja ma działać. Organizacje często testują aplikację w celu zapewnienia, że architektura aplikacji może być skalowana w celu zaspokojenia nagłego dużego zapotrzebowania.
Wydawanie
Ostatnią fazą procesu tworzenia aplikacji mobilnych jest wydanie. Po wdrożeniu aplikacji organizacja zapewnia pomoc techniczną klientom korzystającym z niej oraz ciągłe monitorowanie i konserwację, aby upewnić się, że aplikacja jest dostępna i działa zgodnie z oczekiwaniami. Kampanie marketingowe i ruchy zachęcające do wdrożenia aplikacji często pokrywają się z tą fazą. Jeśli organizacja zdecyduje się na wprowadzenie ulepszeń lub zmian w aplikacji, które wykraczają poza zakres zmian, które może obsłużyć ich cykl projektowania, może zdecydować się na rozpoczęcie procesu tworzenia aplikacji mobilnych na nowo.
Tworzenie oprogramowania w procesie tworzenia aplikacji mobilnych
Pierwszym zadaniem fazy programowania jest ustanowienie architektury technicznej aplikacji mobilnej. Często mylony ze stosem technicznym, który obejmuje architekturę techniczną frontonu, zaplecza i interfejsów API, to reguły i wzorce, które zarządzają tworzeniem aplikacji mobilnej.
Architektura techniczna
Architektura techniczna często występuje w trzech warstwach:
Warstwa prezentacji
Jest to warstwa aplikacji, którą klient widzi i z którą wchodzi w interakcje. Warstwa prezentacji obejmuje interfejs użytkownika i wszystkie elementy aplikacji, które składają się na środowisko użytkownika.
Warstwa biznesowa
Logika, która zarządza przepływami pracy, wymianą danych i operacjami, znajduje się w warstwie biznesowej. W tej warstwie są obsługiwane podstawowe aspekty aplikacji mobilnej, takie jak zabezpieczenia, buforowanie, rejestrowanie i obsługa wyjątków.
Warstwa danych
Warstwa danych spełnia wymagania samej aplikacji, udostępniając narzędzia danych, składniki dostępu do danych oraz pomocników lub agentów usług. Jest to również warstwa, która weryfikuje i utrzymuje dane oraz obsługuje transakcje danych.
Stos technologii
Podobnie stos technologiczny składa się również z trzech elementów, jak wspomniano. Jednak te elementy reprezentują konkretne opcje używane do kompilowania i obsługi aplikacji, a nie wskazówki dotyczące jej tworzenia.
Fronton
Zgodnie z warstwą prezentacji narzędzia i języki używane do kodowania frontonu aplikacji mobilnej w dużym stopniu zależą od urządzeń, na których aplikacja zostanie wdrożona. Istnieje wiele opcji, a większość urządzeń przenośnych ma określone języki, które są dla nich natywne.
Zaplecze
Zaplecze jest częścią aplikacji, która zawiera bazę danych i inne podobne obiekty, które znajdują się na serwerze i obsługują funkcje aplikacji mobilnej. Zespoły są mniej widoczne dla urządzeń, jeśli chodzi o wybieranie technologii zaplecza dla urządzeń przenośnych i często mogą znajdować wstępnie utworzone rozwiązania zaplecza.
API
Aplikacja komunikuje się między zapleczem a frontonem za pośrednictwem interfejsu API, co umożliwia również aplikacji integrację i interakcję z innymi aplikacjami i usługami.
Jednak zanim zespoły będą mogły wybrać stos techniczny, a nawet ustanowić architekturę techniczną, najpierw muszą zdecydować, jakiego typu aplikacje mobilne tworzą.
Typy aplikacji mobilnych
Jeśli chodzi o tworzenie aplikacji dla urządzeń przenośnych, organizacje mają kilka różnych typów aplikacji mobilnych do wyboru. W takim przypadku typ aplikacji mobilnej nie odnosi się do tego, na co aplikacja będzie zezwalać swoim użytkownikom, ale do sposobu kompilowania aplikacji.
Aplikacje natywne
Aplikacje specyficzne dla określonego urządzenia lub platformy, takie jak Android lub iOS, są nazywane aplikacjami natywnymi. Te aplikacje działają bezpośrednio w systemie operacyjnym urządzenia, używają języków i struktur udostępnianych przez platformę i są wdrażane za pośrednictwem sklepu lub platformy handlowej specyficznej dla systemu operacyjnego. Aplikacje natywne zwykle mają pełny dostęp do wszystkich funkcji i sprzętu urządzeń, na których działają.
Aplikacje międzyplatformowe
Zespoły mogą kodować w aplikacji w wybranych językach i strukturach, a następnie kompilować kod dla każdego systemu operacyjnego, na których aplikacja jest przeznaczona do uruchamiania przy użyciu platform, takich jak Xamarin. Aplikacje międzyplatformowe, jak są one nazywane, umożliwiają zespołom uruchamianie na wielu różnych urządzeniach i ponowne używanie dużej części kodu, chociaż mostkowanie kodu wymaga więcej pracy niż tworzenie tylko dla jednej platformy.
Progresywne aplikacje internetowe
Podobnie jak aplikacje internetowe, progresywne aplikacje internetowe działają w przeglądarkach mobilnych i są zwykle tworzone przy użyciu języków JavaScript, CSS i HTML5. To, co sprawia, że aplikacje internetowe są progresywne, to możliwość dostarczania powiadomień push, lepszych gestów dotykowych i interakcji sprzętowych przy użyciu zaawansowanych możliwości przeglądarki. Brak zestawów SDK ułatwiających tworzenie progresywnych aplikacji internetowych, ale można je wdrożyć bez przechodzenia przez platformę handlową.
Aplikacje hybrydowe
Aplikacje hybrydowe, będące połączeniem aplikacji natywnych i progresywnych aplikacji internetowych, to zasadniczo natywnie kodowane kontenery, które uruchamiają aplikacje internetowe. Ta kombinacja umożliwia aplikacji większy dostęp do funkcji i sprzętu urządzeń oraz uruchamianie na większej liczbie typów urządzeń przy zachowaniu pojedynczej bazy kodu. Mimo wszystkich swoich zalet aplikacje hybrydowe zwykle nie osiągają wydajności innych typów aplikacji mobilnych.
Jakiego typu aplikację mobilną utworzyć
Typ aplikacji mobilnej, którą organizacja zdecyduje się utworzyć, ma duży wpływ na narzędzia, platformy, struktury, języki dostępne dla jej zespołów, dystrybucję aplikacji, liczbę baz kodu do konserwacji, urządzenia, na których aplikacja będzie działać, a nawet to, co aplikacja może zrobić.
Podczas wybierania typu aplikacji mobilnej do skompilowania warto rozważyć, kim będą użytkownicy i czego potrzebują od aplikacji. Jeśli na przykład używają one głównie jednego typu urządzenia lub systemu operacyjnego, najlepszym rozwiązaniem może być aplikacja natywna. Aplikacje, które nie korzystają z czujników sprzętu lub GPS, mogą być odpowiednie jako progresywne aplikacje internetowe lub aplikacje hybrydowe, ale być może nie, jeśli użytkownicy nie mają dobrej łączności. Jeśli użytkownicy są członkamibiznesowymi lub organizacyjnymi, warto rozważyć różne strategie mobilne. Oczywiście wszystko to wiąże się z wiedzą, którą masz w swojej organizacji lub za pośrednictwem partnera.
Ten wykres przedstawia więcej różnic i podobieństw między różnymi typami aplikacji mobilnych, które ułatwiają rozważenie, jakiego typu aplikację należy opracować.
Porównywanie typów aplikacji mobilnych
Aplikacje natywne | Aplikacje międzyplatformowe | Progresywne aplikacje internetowe | Aplikacje hybrydowe | |
---|---|---|---|---|
Liczba baz kodu | Jeden na platformę | Jeden, ale skompilowany dla każdej platformy | Suma jednego | Jeden dla aplikacji, drugi dla kontenera |
Języki i struktury | Tylko kod natywny | Wybór zespołu | Tylko sieć Web | Sieć Web i natywna |
Dostęp do zestawów SDK i interfejsów API | Tak | Tak | Nie | Ograniczone |
Wydajność | Najwyższa | Wysoka | Najniższa | Niska |
Dostęp do sprzętu urządzenia | Zakończ | Najbardziej | Bardzo mało | Niektóre |
Czas odpowiedzi na dane wejściowe użytkownika | Dobra | Dobra | Najgorsza | Kiepska |
Interaktywność | Wysoka | Wysoka | Najniższa | Niska |
Użycie zasobu urządzenia | Wysoka | Wysoka | Niska | Średnia |
Wymaga łączności | Nie | Nie | Tak | Tak |
Koszt tworzenia i konserwacji | Najwyższa | Wysoka | Najniższa | Niższa |
Miejsce przechowywania aplikacji | Urządzenie | Urządzenie | Serwer | Urządzenie i serwer |
Wdrożone za pośrednictwem | Platforma handlowa | Platforma handlowa | Przeglądarka | Platforma handlowa |
Wymaga zatwierdzenia zewnętrznego | Tak | Tak | Nie | Tak |
Platformy i oprogramowanie do tworzenia aplikacji mobilnych
Po podjęciu decyzji o typie aplikacji mobilnej, którą zamierzasz skompilować, lub być może podczas rozważania typu, należy ocenić platformy deweloperskie aplikacji mobilnych. Są to platformy deweloperskie aplikacji, których będziesz używać do tworzenia, kompilowania, testowania, debugowania, zarządzania, a w niektórych przypadkach nawet wdrażania aplikacji mobilnych w całym cyklu życia. Większość oprogramowania do tworzenia aplikacji zawiera narzędzia frontonu do tworzenia interfejsu, narzędzi zaplecza do obsługi danych, narzędzi interfejsu API, narzędzi do testowania i narzędzi do współpracy i analizy kodu.
Większość platform aplikacji mobilnych ma na celu zapewnienie wszystkiego, czego deweloper potrzebuje do utworzenia aplikacji mobilnej. Dzięki temu deweloperzy mogą uniknąć problemów z przenoszeniem się między różnymi elementami oprogramowania aplikacji mobilnych i rozwiązywaniem problemów, które występują między nimi, takich jak integralność kodu, niezgodność i utrata danych. Platformy do tworzenia aplikacji mobilnych zmniejszają również koszty, czas, zasoby i wiedzę wymaganą przez organizację do utworzenia aplikacji mobilnej. Podczas gdy kilka organizacji decyduje się na utworzenie własnych platform, wiele innych decyduje się na jedną z wielu dostępnych alternatyw tworzenia aplikacji.
Najlepsze alternatywy tworzenia aplikacji mobilnych dla organizacji różnią się w zależności od tego, jakie typy aplikacji mobilnych mają zostać utworzone, w jakich językach mogą kodować i jakie urządzenia chcą obsługiwać. Oto kilka alternatywnych rozwiązań do tworzenia aplikacji mobilnych:
- Międzyplatformowe narzędzia, takie jak Xamarin , które umożliwiają deweloperom tworzenie aplikacji dla systemów Android i iOS przy użyciu platform .NET i C#.
- Visual Studio Tools for XamarinVisual Studio Tools for Xamarin, która korzysta z pojedynczej udostępnionej bazy kodu dla aplikacji mobilnych z systemami Android, iOS i Windows.
- Narzędzia z niewielką ilością kodu lub bez kodu, takie jak Power Apps. Niski poziom kodu to prosty sposób na tworzenie profesjonalnych aplikacji bez szkoleń technicznych i specjalistycznej wiedzy. Dowiedz się więcej.
Zasoby dotyczące tworzenia aplikacji mobilnych
Poznaj dokumentację platformy Azure dla deweloperów urządzeń przenośnych
Znajdź informacje potrzebne do tworzenia aplikacji mobilnych na platformie Azure. Dowiedz się więcej o powiadomieniach push, uwierzytelnianiu, analizie i zestawach SDK.
Spróbuj teraz utworzyć aplikację mobilną
Skonfiguruj potok ciągłej integracji i dostarczania dla aplikacji systemu Android. Nawiąż połączenie z dowolnym repozytorium Git, aby Twój zespół działał w ciągu kilku minut.
Często zadawane pytania dotyczące tworzenia aplikacji mobilnych
-
Definicja tworzenia aplikacji mobilnych może być szeroka, obejmująca wszystkie procesy związane z tworzeniem i wydawaniem aplikacji mobilnej, lub określonej aplikacji, odnoszące się do kodowania i wdrażania aplikacji.
Dowiedz się więcej -
Fazy procesu tworzenia aplikacji mobilnych to strategia, planowanie, projektowanie, opracowywanie, testowanie i wydawanie.
Dowiedz się więcej -
Podczas wybierania typu aplikacji mobilnej do skompilowania warto rozważyć, kim będą użytkownicy i czego potrzebują od aplikacji.
Dowiedz się więcej -
Najlepsze alternatywy tworzenia aplikacji mobilnych dla organizacji różnią się w zależności od tego, jakie typy aplikacji mobilnych mają zostać utworzone, w jakich językach mogą kodować i jakie urządzenia chcą obsługiwać.
Dowiedz się więcej -
Organizacje poświęcają od trzech miesięcy do dziewięciu miesięcy, lub dłużej, gdy jest to wymagane, na tworzenie aplikacji mobilnych.
Dowiedz się więcej -
Chociaż pełne opracowanie aplikacji mobilnej może potrwać kilka miesięcy, oto pięć porad firmy Microsoft dotyczących rozpoczynania pracy z tworzeniem aplikacji mobilnych.
Poznaj pięć porad dotyczących tworzenia aplikacji mobilnych -
Termin DevOps łączy wyraz "development" (programowanie) i słowo "operations" (operacje) i jest zdefiniowany jako związek ludzi, procesów i technologii, aby umożliwić ciągłe dostarczanie wartości klientom. Kultura, narzędzia i praktyki metodyki DevOps mogą pomóc w tworzeniu lepszych i bardziej niezawodnych aplikacji mobilnych, takich jak programowanie, operacje IT, inżynieria jakości i zabezpieczenia. Metodyka DevOps pomaga zespołom programistycznym szybciej reagować na potrzeby klientów, zwiększać zaufanie do opracowywanych aplikacji i szybciej osiągać cele biznesowe zespołu.
Dowiedz się więcej o metodyce DevOps -
Deweloperzy zwykle koncentrują się na możliwościach technicznych i procesach dostawcy chmury, takich jak łatwość wdrażania, zarządzania i uaktualniania, czy korzysta on ze standardowych interfejsów API, czy ma formalny system zarządzania zdarzeniami zintegrowany z systemem monitorowania/zarządzania, czy ma dobrze udokumentowane procesy zarządzania zmianami i czy są obsługiwane możliwości hybrydowe.
Dowiedz się więcej o wybieraniu dostawcy usług w chmurze