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

Garantující katedraKatedra informatikyKredity6
Garant předmětuIng. Pavel Moravec, Ph.D.Garant verze předmětuIng. Pavel Moravec, Ph.D.
Úroveň studiapregraduální nebo graduální
Jazyk výukyangličtina
Rok zavedení2015/2016Rok zrušení2020/2021
Určeno pro fakultyFEIUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
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 10+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

E-learning

Další požadavky na studenta

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. * Prinicipy, 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 - XML-RPC, Webové služby, JSON, AJAX. * Technologie, použité pro tvorbu aplikací, založených na kombinaci HTML a JavaScriptu - HTML5, CSS3, ... * Vícevláknový přístup a problémy s ním spojené. * 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í 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 - NetBeans nebo Eclipse, instalace pluginů, potřebných pro vývoj pro mobilní platformy. Spouštění aplikací v emulá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 a websokety. * Práce s (Application) Properties a styly, 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, geolokace). * Práce se soubory. * Komunikace se serverem prostřednictvím webových služeb a JSON. 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

Podmínky absolvování jsou definovány pouze pro konkrétní verzi předmětu a formu studia

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2020/2021 (B2660) Počítačové systémy pro průmysl 21. století P angličtina Ostrava 2 povinný stu. plán
2019/2020 (B2660) Počítačové systémy pro průmysl 21. století P angličtina Ostrava 2 povinný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P angličtina Ostrava 2 volitelný odborný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P angličtina Ostrava 2 volitelný odborný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P angličtina Ostrava 2 povinně volitelný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K angličtina Ostrava 2 volitelný odborný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K angličtina Ostrava 2 volitelný odborný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K angličtina Ostrava 2 volitelný odborný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K angličtina Ostrava 2 povinně volitelný stu. plán
2019/2020 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2018/2019 (B2660) Počítačové systémy pro průmysl 21. století P angličtina Ostrava 2 povinný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P angličtina Ostrava 2 volitelný odborný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P angličtina Ostrava 2 volitelný odborný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P angličtina Ostrava 2 povinně volitelný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K angličtina Ostrava 2 volitelný odborný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K angličtina Ostrava 2 volitelný odborný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K angličtina Ostrava 2 volitelný odborný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K angličtina Ostrava 2 povinně volitelný stu. plán
2018/2019 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K angličtina Ostrava 2 volitelný odborný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P angličtina Ostrava 2 povinně volitelný stu. plán
2017/2018 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K angličtina Ostrava 2 povinně volitelný stu. plán
2017/2018 (B2660) Počítačové systémy pro průmysl 21. století P angličtina Ostrava 2 povinný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P angličtina Ostrava 2 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K angličtina Ostrava 2 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P angličtina Ostrava 2 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K angličtina Ostrava 2 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K angličtina Ostrava 2 volitelný odborný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P angličtina Ostrava 2 povinně volitelný stu. plán
2016/2017 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K angličtina Ostrava 2 povinně volitelný stu. plán
2016/2017 (B2660) Počítačové systémy pro průmysl 21. století P angličtina Ostrava 2 povinný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P angličtina Ostrava 2 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K angličtina Ostrava 2 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P angličtina Ostrava 2 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K angličtina Ostrava 2 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P angličtina Ostrava 2 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K angličtina Ostrava 2 volitelný odborný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P angličtina Ostrava 2 povinně volitelný stu. plán
2015/2016 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K angličtina Ostrava 2 povinně volitelný stu. plán

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

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku
V - ECTS - bc. 2019/2020 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok
V - ECTS - bc. 2018/2019 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok
V - ECTS - bc. 2017/2018 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok
V - ECTS - bc. 2016/2017 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok
V - ECTS - bc. 2015/2016 prezenční angličtina volitelný odborný 401 - Studijní oddělení FEI stu. blok

Hodnocení Výuky



2015/2016 letní