Přeskočit na hlavní obsah
Přeskočit hlavičku

Tvorba aplikací pro mobilní zařízení I

Typ studia bakalářské
Jazyk výuky čeština
Kód 460-2019/03
Zkratka TAMZ I
Název předmětu česky Tvorba aplikací pro mobilní zařízení I
Název předmětu anglicky Design of Applications for Mobile Devices I
Kreditů 4
Garantující katedra Katedra informatiky
Garant předmětu Ing. Pavel Moravec, Ph.D.

Subject syllabus

Náplň přednášek:
* Úvod do problematiky tvorby aplikací pro mobilní zařízení, přehled používaných technologií a jejich rozšířenosti na mobilních zařízeních, vývojová prostředí. Návrh architektury mobilní platformy, cílová zařízení, vztah k dalším technologiím.
* Principy, použité při návrhu mobilní platformy. Životní cyklus mobilní aplikace.
* Architektura Over-the-Air Provisioning (OTA). Umístění, aktualizace a konfigurace aplikace na serveru. Její následné vyhledání, získání, instalace a spuštění na mobilním zařízení.
* Univerzální frameworky, zaměřené na multiplatformní vývoj aplikací, nezávislé na mobilním operačním systému.
* Platformně nezávislá komunikace mezi aplikacemi - Webové služby, AJAX, CORS.
* Technologie, použité pro tvorbu aplikací, založených na kombinaci HTML5 a JavaScriptu - HTML5, CSS3, ...
* Vícevláknový přístup a problémy s ním spojené, omezení vícevláknového přístupu.
* Práce s formuláři, grafikou a zvukem.
* Rozšiřující API rozhraní: zjištění přítomnosti API nebo jeho verze. Příklady API - práce se zprávami, multimédii, určování polohy, příklady některých dalších rozšiřujících API.
* Práce se soubory, zpracování JSON a XML.
* Komunikace s dalšími zařízeními - síťová komunikace, komunikace prostřednictvím Bluetooth.
* Principy podepisování aplikací a povolení zvolených citlivých částí API u různých technologií. Omezení, vyplývající z použití nepodepsaných aplikací v závislosti na platformě.
* Ladění aplikací, optimalizace jejich kódu a (částečná) ochrana kódu proti dekompilaci. Automatické spouštění aplikací v reakci na externí událost, časovač či při startu mobilního OS.

Cvičení jsou zaměřena na získání praktických zkušeností s tvorbou aplikací pro mobilní systémy. Studenti v rámci cvičení implementují jednoduché aplikace, které navazují na látku, probranou na přednáškách.

Náplň počítačových cvičení:
* Základy práce s vývojovým prostředím, instalace pluginů, potřebných pro vývoj pro mobilní platformy. Spouštění aplikací v emulátoru/simulátoru nebo přímo na mobilním zařízení.
* Práce se záznamy, serializace do binárního (resp. řetězcového) formátu, vnitřní úložiště a jeho použití pro uložení konfigurace pro příští spuštění.
* Práce se základními prvky GUI (high-level).
* Práce s HTTP, websokety a push zprávami.
* Nastavení parametrů aplikace, práce se styly a změna aplikace jejich prostřednictvím.
* Práce s plátnem (Canvas), reakce na stisky kláves a dotyky.
* Tvorba jednoduché 2D hry.
* Práce s multimédii a zvukem.
* Funkce, specifické pro mobilní platformy (práce s integrovaným fotoaparátem, orientace zařízení, geolokace).
* Práce se soubory.
* Komunikace se serverem prostřednictvím REST API.

Náplň projektu:
Studenti v průběhu semestru dostanou zadán rozsáhlejší projekt, který následně zpracují. Časová náročnost projektu je cca 21 hodin. Náplní projektu je implementace mobilní aplikace nebo hry (vybrané z doporučených témat nebo navržené studentem - takové téma musí být schváleno vyučujícím). Výsledná implementace musí splňovat formální požadavky a využívat alespoň 3 pokročilé technologie předvedené na přednáškách a cvičeních.

E-learning

Materiály jsou dostupné v https://lms.vsb.cz/.

Literature

A. Kosmaczewski: Mobile JavaScript Application Development, O'Reilly Media, 2012, ISBN: 978-1-4493-2785-9 
J. Reid: JQuery Mobile, O'Reilly Media, Inc., 2011, 9781449306687.
P. Retting: Professional HTML5 Mobile Game Development, John Wiley & Sons (14 Sep 2012), ISBN: 978-1118301326 
D. Harkey, S. Appajodu, M., Wireless Java Programming for Enterprise Applications: Mobile Devices Go Corporate, John Wiley & Sons, ISBN 0471218782.

Advised literature

J. M. Wargo: PhoneGap Essentials: Building Cross-platform Mobile Apps, Addison-Wesley Professional, 2012, ISBN 9780321814296 .
J. Munro: 20 Recipes for Programming PhoneGap, O'Reilly Media, ISBN: 978-1-4493-1954-0 
A. Kosmaczewski: Sencha Touch 2 Up and Running, O'Reilly Media; 1 edition (27 Feb 2013), ISBN: 978-1449339388 .