Detail předmětu
Internetové aplikace
WAP Ak. rok 2021/2022 letní semestr 5 kreditů
Internetové standardy a protokoly. Značkovací jazyky a rodina HTML a XML. Technologie výstavby stránek v HTML včetně dynamických stránek a stránek se skripty JavaScript. Bezpečnost a zranitelnosti webových aplikací.
Garant předmětu
Koordinátor předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
- 13 hod. projekty
Bodové hodnocení
- 60 bodů závěrečná zkouška (písemná část)
- 40 bodů projekty
Zajišťuje ústav
Přednášející
Cvičící
Burget Radek, doc. Ing., Ph.D. (UIFS)
Koutenský Michal, Ing. (UIFS)
Polčák Libor, Ing., Ph.D. (UIFS)
Stránky předmětu
Získané dovednosti, znalosti a kompetence z předmětu
Znalost principů všech typů internetových aplikací. Pokročilejší znalost jejich vytváření. Pokročilé znalosti jazyka JavaScript a jeho uplatnění pro tvorbu frontendu i backendu.
Cíle předmětu
Získat znalosti umožňující používat a vytvářet internetové aplikace. Hlouběji se zabývat zejména jazykem JavaScript, ale i jinými skriptovacími a značkovacími jazyky, a jejich použitím pro tvorbu internetových stránek a také výměnu dat.
Proč je předmět vyučován
Internetové aplikace jsou většinou populace používané každý den. Předmět se snaží studenty seznámit s jejich fungováním. V rámci předmětu se dozvíte, jak funguje jazyk JavaScript, zpracování události a jazyk TypeScript. Internetové aplikace je stále častěji potřeba propojovat pomocí správného návrhu webových API. Ve světě mobilních zařízení s nestálou konektivitou je potřeba řešit efektivní přenosy. To vše a mnohem víc je náplní tohoto předmětu. Znalosti uplatní nejen zájemci o uplatnění ve firmách zabývajícími se webovými technologiemi, ale jazyk JavaScript nachází uplatnění v celé řadě dalších oborů zabývajících se vytvářením aplikací, např. s využitím electronjs.
Požadované prerekvizitní znalosti a dovednosti
počítačové sítě, Internet, síťové protokoly, základy jazyka HTML
Literatura studijní
- Ambler, T., Cloud, N.: JavaScript Frameworks for Modern Web Dev. Berkeley, CA: Apress, 2015.
- Alcorn, W., Frichot, C., Orru, M.: The Browser Hacker's Handbook. John Wiley & Sons, 2014. ISBN 978-1118662090.
- Kereki, F.: Mastering JavaScript Functional Programming: In-depth guide for writing robust and maintainable JavaScript code in ES8 and beyond, Packt Publishing, 2017. ISBN 978-1787287440.
- Rozentals, N.: Mastering TypeScript. Packt Publishing Ltd, 2017. ISBN 978-1786468710.
- Pasquali, S.: Mastering Node. js. Packt Publishing Ltd, 2nd edition, 2017. ISBN 978-1785888960.
- Casciaro, M., Luciano M.: Node. js Design Patterns. Packt Publishing Ltd, 2016. ISBN 978-1785885587.
- Tal, L.: Essential Node. js Security. 2017. ISBN 978-1365698552.
- Tidwell, D.: XSLT, O'Reilly Media; Second edition, 2008. ISBN 978-0596527211.
- Vlist, E.: RELAX NG A Simpler Schema Language for XML, O'Reilly Media, 2011. ISBN 978-0596004217.
- Meyer, E.A., Weil, E.: CSS: The Definitive Guide: Visual Presentation for the Web, O'Reilly Media; 4 edition, 2017. ISBN 978-1449393199.
- Myers, G.J., aj.: The art of software testing, John Wiley and Sons, New Jersey, U.S.A., 3th edition, 2012. ISBN 978-1-118-03196-4.
- Lombardi, A.: WebSocket: Lightweight Client-Server Communications, O'Reilly Media, Inc, 2015. ISBN 978-1449369279.
- Kurose, J.F., Ross, K.W.: Computer Networking - A top-Down Approach, Pearson Education Limited, 7th edition, 2017. ISBN 978-1-292-15359-9.
- Biehl, M.: RESTful API Design (API-University Series) (Volume 3). CreateSpace Independent Publishing Platform, 2016. ISBN 978-1514735169.
- Dostálek, L., Kabelová, A.: Velký průvodce protokoly TCP/IP a systémem DNS, Computer Press 1999 Praha, 418 s., ISBN 80-7226-193-2
- Stefanov, S.: JavaScript patterns, O'Reilly Media, 2010. ISBN 978-0-596-80675-0.
- Flanagan, D.: JavaScript: The Definitive Guide: Activate Your Web Pages (Definitive Guides), O'Reilly Media; 6th edition, 2011. ISBN 978-0596805524.
- Rauschmayer, A.: Speaking JavaScript: An In-Depth Guide for Programmers, OReilly Media, http://speakingjs.com/es5/index.html.
- Simpson, K.: Série You Don't Know JS, O'Reilly Media, 2014-2016. https://github.com/getify/You-Dont-Know-JS.
- Richardson, L., Amundsen, M.,Ruby, S.: RESTful Web APIs: Services for a Changing World, O'Reilly Media, Inc., 2013. ISBN 978-1514735169.
- Walmsley, P.: Definitive XML Schema, 2nd Edition, Prentice Hall, 2012. ISBN 978-0132886727.
- Grigorik, I: High-performance browser networking. Beijing: O'Reilly, 2013. ISBN 978-1-4493-4476-4.
- Pilgrim, M.: Ponořme se do HTML5, CZ.NIC, z. s. p. o., Praha 2014, 278 str., ISBN 978-80-905802-6-8.
Literatura referenční
- Rauschmayer, A.: Speaking JavaScript: An In-Depth Guide for Programmers, OReilly Media, http://speakingjs.com/es5/index.html.
- Simpson, K.: Série You Don't Know JS, O'Reilly Media, 2014-2016. https://github.com/getify/You-Dont-Know-JS.
- Stefanov, S.: JavaScript patterns, O'Reilly Media, 2010. ISBN 978-0-596-80675-0.
- Flanagan, D.: JavaScript: The Definitive Guide: Activate Your Web Pages (Definitive Guides), O'Reilly Media; 6th edition, 2011. ISBN 978-0596805524.
- Richardson, L., Amundsen, M.,Ruby, S.: RESTful Web APIs: Services for a Changing World, O'Reilly Media, Inc., 2013. ISBN 978-1514735169.
- Pilgrim, M.: Ponořme se do HTML5, CZ.NIC, z. s. p. o., Praha 2014, 278 str., ISBN 978-80-905802-6-8.
- Walmsley, P.: Definitive XML Schema, 2nd Edition, Prentice Hall, 2012. ISBN 978-0132886727.
- Grigorik, I: High-performance browser networking. Beijing: O'Reilly, 2013. ISBN 978-1-4493-4476-4.
Osnova přednášek
- Úvod do internetových aplikací.
- Úvod do jazyka JavaScript.
- Pokročilé programování v jazyce JavaScript a jazyk TypeScript.
- Značkovací jazyky a serializace dat.
- Internetové sítě a web, protokoly TCP/IP, DNS, URI, MIME, HTTP.
- Tvorba webového frontendu (HTML, DOM, CSS, klientský JavaScript, frameworky).
- Webová aplikační rozhraní a webové služby (XMLRPC, web services, REST).
- Tvorba webového backendu (server-side rendering, Node.js, Express).
- Webové aplikace typu single page (Ajax, client-side rendering, frameworky).
- Bezpečnost webových aplikací.
- Ochrana údajů v prostředí webových aplikací.
Osnova ostatní - projekty, práce
- Projekt 1 je zaměřený na jazyk JavaScript a základní konstrukce jazyka.
- V rámci projektu 2 si studenti vybrají konkrétní problém z oblasti tvorby webových stránek. Možné náměty na projekty jsou aktualizovány každý rok, avšak studentům je zanechán prostor řešit problém vlastní.
Průběžná kontrola studia
Vypracování projektů zaměřených na webové aplikace.
Kontrolovaná výuka
Projekt je nutné odevzdat včas. Zmeškaný termín se nenahrazuje.
Podmínky zápočtu
Nejméně polovina bodů, které lze získat za aktivity během semestru (projekty), tj. 20 bodů.
Zařazení předmětu ve studijních plánech
- Program IT-MGR-2, obor MBI, MMM, MSK, libovolný ročník, volitelný
- Program IT-MGR-2, obor MBS, MIS, libovolný ročník, povinně volitelný skupina N
- Program IT-MGR-2, obor MGM, libovolný ročník, povinně volitelný skupina I
- Program IT-MGR-2, obor MIN, libovolný ročník, povinně volitelný skupina S
- Program IT-MGR-2, obor MPV, libovolný ročník, povinně volitelný skupina D
- Program MITAI, obor NADE, NNET, libovolný ročník, povinný
- Program MITAI, obor NBIO, NCPS, NEMB, NGRI, NHPC, NIDE, NISD, NISY, NISY do 2020/21, NMAL, NMAT, NSEC, NSEN, NSPE, NVER, NVIZ, libovolný ročník, volitelný