Vývoj mobilních aplikací

vývoj

Vývoj mobilních aplikací je proces označující vývoj aplikace pro mobilní zařízení. Tyto aplikace mohou být na zařízení předinstalovány, nebo jsou dodávány ve formě webových aplikací pomocí tzv. server-side nebo client-side processingu (např. prostřednictvím JavaScriptu). Vývojáři aplikací při vývoji musejí brát v potaz různé velikosti obrazovky, odlišné hardwarové specifikace a konfigurace. Vývoj mobilních aplikací je stabilně rostoucím a výnosným odvětvím, které zajišťuje řadu pracovních míst. Analytická zpráva z roku 2013 ukazuje, že se k vývoji aplikací v celé EU váže až 529 tisíc pracovních míst.

V procesu vývoje mobilních aplikací je zásadní design uživatelského rozhraní (UI). Mobilní UI je pro výsledný design důležité proto, že zkoumá různé překážky, kontexty, obrazovku, vstup a celkovou mobilitu aplikace. Rozhraní v sobě zahrnuje prvky hardwaru i softwaru. Důraz je kladen na uživatele a jeho interakci s mobilním zařízením. Uživatelský vstup umožňuje ovládat systém a výstup zařízení zase umožňuje systému určit účinky uživatelského použití. Překážkami v designu UI rozhraní je omezená pozornost uživatele a faktory spojené s tvarem, například velikost obrazovky mobilního zařízení pro ruku uživatele atd. Hlavním cílem UI je srozumitelné a uživatelsky přívětivé rozhraní. UI mobilních aplikací by mělo zohlednit omezenou pozornost uživatele, minimalizovat počet kliknutí a orientovat se na jednoduchost a funkčnost.

Mobilní UI, neboli nebo front-end, se opírá o back-end. Mobilní back-end má na starosti směrování dat, zabezpečení, ověřování, autorizaci, off-line práci a plánování služeb. Tato funkcionalita je podporována kombinací middleware komponent jako je server mobilní aplikace, mobilní backend jako služba (MBaaS) a architektury orientované na služby (SOA).

Proces vývoje mobilních aplikacíEditovat

Proces vývoje mobilních aplikací probíhá v několika krocích. Ty se odvíjí také od zvolené metodiky vývoje softwaru. V případě využití agilních metodik vývoje bývá první verzí aplikace tzv. MVP – minimum viable product. Ve fázi MVP je mobilní aplikace vyvíjena s co nejmenším úsilím, zároveň ale už s plánovanými funkcemi. Vzniká tak produkt s nejmenší možnou funkcionalitou, který lze otestovat na skutečných uživatelích. V následujících vývojových fázích se MVP dále rozvíjí. V tomto procesu tvorby mobilní aplikace postupují vývojáři následujícím způsobem:

  1. Analýza požadavků
  2. Návrh UX – tzv. uživatelské rozhraní
  3. Grafický návrh aplikace
  4. Vývoj aplikace v IDE
  5. Testování na podporovaných zařízeních

Platformy pro vývoj aplikacíEditovat

Systém platforem potřebných k vývoji, nasazení a správě mobilních aplikací se skládá z mnoha komponent a nástrojů, které umožňují vývojáři psát, testovat a nasazovat aplikace do prostředí cílové platformy.

Mezi často používané technologie pro vývoj aplikací se řadí:

  • Java/Kotlin Jedná se o programovací jazyky určené pro nativní vývoj pro Android. Java je obecně známá pro svoji robustnost a širokou míru použití. Kotlin je mladý jazyk, běžící v Java Virtual Machine, nicméně je oproti Javě lehčí a lze se ho rychle naučit.
  • Objective-C/Swift Jedná se o programovací jazyky pro nativní vývoj pro iOS. Swift je přímo produktem Apple, byl vyvinut, aby programátorům ulehčil práci, kvůli menší možnosti chyb.
  • Flutter Jedná se o SDK, které umožňuje multiplatformní vývoj. Výsledná aplikace lze bez změn zkompilovat do nativního kódu pro Android i iOS. Jedná se o mladou technologii, kterou vyvíjí přímo Google, používá programovací jazyk Dart 2.
  • React native Jedná se o hybridní framework od Facebooku. Lze v něm psát aplikace pro Android i iOS. Vlastní logika aplikace se programuje pomocí JavaScriptu/TypeScriptu. Zobrazení aplikace vychází z nativních komponent.
  • Apache Cordova Jedná se o hybridní framework vyvíjený softwarovou nadací Apache. Pro zobrazení používá kompletně webové technologie. Aplikace následně běží díky integraci WebView v jádru frameworku, který aplikaci pouští jako rychlou webovou aplikaci.

Vývojové nástroje front-endEditovat

Vývojové nástroje front-endu jsou zaměřeny na uživatelské rozhraní a uživatelské prostředí (UI-UX) a poskytují:

  • Nástroje pro návrh uživatelského rozhraní
  • SDK pro přístup k funkcím zařízení
  • Víceúčelová podpora

Servery typu back-endEditovat

Back-end nástroje navazují na front-end a poskytují sadu opakovaně použitelných služeb, které jsou centrálně řízené a kontrolované a poskytují následující:

  • Integrace se systémy back-end
  • Autentifikace uživatelů – oprávnění
  • Datová služba
  • Opětovné použití obchodní logiky

Kritéria pro výběr vývojové platformy obvykle obsahují cílové mobilní platformy, stávající infrastrukturu a vývojové dovednosti. Při cílení na více než jednu platformu s vývojem mezi platformami je také důležité zvážit dopad nástroje na UX (User Experience). Výkonnost je dalším důležitým kritériem, jelikož výzkum v oblasti mobilních aplikacích ukazuje silnou korelaci mezi výkonem aplikace a spokojeností uživatelů. Spolu s výkonem a dalšími kritérii může dostupnost technologie a požadavek projektu povzbudit vývoj mezi prostředím nativním a multiplatformním. Pro snazší volbu mezi prostředím nativním a multiplatformním byly zveřejněny některé pokyny a srovnávací body. Multiplatformová prostředí jsou zpravidla opakovaně použitelná na různých platformách, přičemž využívají nativní kontejnery při používání HTML, CSS a JavaScript pro uživatelské rozhraní. Na rozdíl od toho nativní prostředí jsou zaměřena vždy na jednu platformu pro každé z těchto prostředí. Například vývoj pro systém Android se vyskytuje v prostředí Eclipse IDE pomocí pluginů pro vývojáře Android Developer Tools (ADT), vývoj aplikací Apple iOS se provádí pomocí IDC Xcode s objektivem C a / nebo Swift, Windows a BlackBerry mají svá vlastní vývojová prostředí.