460-2019/03 – Tvorba aplikací pro mobilní zařízení I (TAMZ I)

Garantující katedraKatedra informatikyKredity4
Garant předmětuIng. Pavel Moravec, Ph.D.Garant verze předmětuIng. Pavel Moravec, Ph.D.
Úroveň studiapregraduální nebo graduálníPovinnostvolitelný odborný
Ročník2Semestrletní
Jazyk výukyčeština
Rok zavedení2019/2020Rok zrušení
Určeno pro fakultyFEIUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
FUS032 Ing. Radovan Fusek, Ph.D.
MOR03 Ing. Pavel Moravec, Ph.D.
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Zápočet a zkouška 2+2
kombinovaná Zápočet a zkouška 18+0

Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi

Seznámit studenty se základy tvorby aplikací pro mobilní zařízení. Po absolvování předmětu bude student schopen: - posoudit vhodnost použité platformy pro zamýšlenou aplikaci - analyzovat, navrhnout a implementovat aplikaci - srovnat efektivitu aplikace s aplikací napsanou pro stolní počítač - pochopit význam typických rozšiřujících API a jejich použití - rozhodnout, jakým způsobem danou aplikaci distribuovat na cílové zařízení a rozlišit, zda musí být aplikace digitálně podepsána.

Vyučovací metody

Přednášky
Cvičení (v učebně)
Experimentální práce v laboratoři
Projekt
Ostatní aktivity

Anotace

Aplikace spustitelné na nejrůznějších mobilních zařízeních jsou v dnešní době stále běžnější. V současnosti jde většinou o aplikace určené pro mobilní telefony a tablety. Nejvýznamnější skupiny technologií, které umožňují tvorbu takovýchto aplikací, jsou založena na programovacím jazyce Java nebo na kombinaci HTML, CSS a JavaScriptu. Vzhledem k tomu, že mobilní zařízení jsou charakteristická omezenou funkčností, omezeným výpočetním výkonem a omezeným přístupem k síti, nejedná se většinou o vývoj v plné verzi programovacího jazyka, určeného pro stolní počítače, ale o jeho podmnožinu, doplněnou o specifické balíky, obsahující třídy s nižšími nároky a omezenou, či naopak novou, pro mobilní zařízení specifickou, funkcionalitou.

Povinná literatura:

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.

Doporučená literatura:

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.

Forma způsobu ověření studijních výsledků a další požadavky na studenta

Podmínky udělení zápočtu: Realizace a obhajoba projektu - implementace aplikace (aplikací) Volitelná prezentace technologií z oblasti rozšiřujících API, dalších platforem a vývojových prostředí, souvisejících technologií, resp. specifik vývoje aplikací pro mobilní zařízení Programování jednoduchých aplikací na počítačových laboratořích

LMS

E-learning

Další požadavky na studenta

Základní znalost programovacího jazyka Java, C#, C/C++ nebo JavaScript Základní znalost jazyka HTML

Prerekvizity

Předmět nemá žádné prerekvizity.

Korekvizity

Předmět nemá žádné korekvizity.

Osnova předmětu

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. * Bezpečnostní model aplikací: Bezpečnost na úrovni virtuálního stroje, bezpečnost zpracovávaných dat zejména pomocí protokolů SSL, TLS a dalších technik vycházejících ze standardu X.509. * 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.

Podmínky absolvování předmětu

Kombinovaná forma (platnost od: 2019/2020 zimní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodů
Zápočet a zkouška Zápočet a zkouška 100 (100) 51
        Zápočet Zápočet 45 (45) 22
                Projekt Projekt 30  15
                Volitelná prezentace Jiný typ úlohy 15  7
        Zkouška Zkouška 55  20
Rozsah povinné účasti: Účast na tutoriálech tak, aby byly splněny podmínky zápočtu dané povinnými úlohami.

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2021/2022 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0613A140014) Informatika K čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0714A060016) Biomedicínská technika K čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0714A060016) Biomedicínská technika P čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0714A060018) Biomedicínské asistivní technologie P čeština Ostrava 2 povinně volitelný typu B stu. plán
2021/2022 (B0714A060018) Biomedicínské asistivní technologie K čeština Ostrava 2 povinně volitelný typu B stu. plán
2021/2022 (B0714A060010) Telekomunikační technika P čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0714A060010) Telekomunikační technika K čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0714A060008) Mobilní technologie MOT K čeština Ostrava 2 povinný stu. plán
2021/2022 (B0714A060008) Mobilní technologie MOT P čeština Ostrava 2 povinný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P čeština Ostrava 2 povinně volitelný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K čeština Ostrava 2 povinně volitelný stu. plán
2021/2022 (B2660) Počítačové systémy pro průmysl 21. století P čeština Ostrava 2 povinný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B0714A060016) Biomedicínská technika K čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B0714A060016) Biomedicínská technika P čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B0714A060018) Biomedicínské asistivní technologie K čeština Ostrava 2 povinně volitelný typu B stu. plán
2020/2021 (B0714A060018) Biomedicínské asistivní technologie P čeština Ostrava 2 povinně volitelný typu B stu. plán
2020/2021 (B0613A140014) Informatika K čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P čeština Ostrava 2 povinně volitelný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K čeština Ostrava 2 povinně volitelný stu. plán
2020/2021 (B0714A060008) Mobilní technologie MOT P čeština Ostrava 2 povinný stu. plán
2020/2021 (B0714A060008) Mobilní technologie MOT K čeština Ostrava 2 povinný stu. plán
2020/2021 (B0714A060010) Telekomunikační technika P čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B0714A060010) Telekomunikační technika K čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0714A060010) Telekomunikační technika P čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0714A060008) Mobilní technologie MOT P čeština Ostrava 2 povinný stu. plán
2019/2020 (B0714A060010) Telekomunikační technika K čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0714A060008) Mobilní technologie MOT K čeština Ostrava 2 povinný stu. plán
2019/2020 (B0613A140014) Informatika P čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0613A140014) Informatika K čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0714A060016) Biomedicínská technika P čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0714A060016) Biomedicínská technika K čeština Ostrava 2 volitelný odborný stu. plán

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku