Detail předmětu

Internetové aplikace

FIT-WAPAk. rok: 2019/2020

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í.

Jazyk výuky

čeština

Počet kreditů

5

Výsledky učení 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.

Prerekvizity

počítačové sítě, Internet, síťové protokoly, základy jazyka HTML

Způsob a kritéria hodnocení

Test v polovině semestru. Vypracování projektu zaměřeného na webové aplikace.
Podmínky zápočtu:
Nejméně polovina bodů, které lze získat za aktivity během semestru (test a projekt), tj. 25 bodů.

Učební cíle

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.

Doporučená literatura

Alcorn, W., Frichot, C., Orru, M.: The Browser Hacker's Handbook. John Wiley & Sons, 2014. ISBN 978-1118662090.
Ambler, T., Cloud, N.: JavaScript Frameworks for Modern Web Dev. Berkeley, CA: Apress, 2015.
Biehl, M.: RESTful API Design (API-University Series) (Volume 3). CreateSpace Independent Publishing Platform, 2016. ISBN 978-1514735169.
Casciaro, M., Luciano M.: Node. js Design Patterns. Packt Publishing Ltd, 2016. ISBN 978-1785885587.
Flanagan, D.: JavaScript: The Definitive Guide: Activate Your Web Pages (Definitive Guides), O'Reilly Media; 6th edition, 2011. ISBN 978-0596805524.
Grigorik, I: High-performance browser networking. Beijing: O'Reilly, 2013. ISBN 978-1-4493-4476-4.
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.
Kurose, J.F., Ross, K.W.: Computer Networking - A top-Down Approach, Pearson Education Limited, 7th edition, 2017. ISBN 978-1-292-15359-9.
Lombardi, A.: WebSocket: Lightweight Client-Server Communications, O'Reilly Media, Inc, 2015. ISBN 978-1449369279.
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.
Pasquali, S.: Mastering Node. js. Packt Publishing Ltd, 2nd edition, 2017. ISBN 978-1785888960.
Pilgrim, M.: HTML5: Up and Running: Dive into the Future of Web Development, O'Reilly Media, 2010. ISBN 978-0596806026.
Rauschmayer, A.: Speaking JavaScript: An In-Depth Guide for Programmers, OReilly Media, http://speakingjs.com/es5/index.html.
Richardson, L., Amundsen, M.,Ruby, S.: RESTful Web APIs: Services for a Changing World, O'Reilly Media, Inc., 2013. ISBN 978-1514735169.
Rozentals, N.: Mastering TypeScript. Packt Publishing Ltd, 2017. ISBN 978-1786468710.
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.
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.
Walmsley, P.: Definitive XML Schema, 2nd Edition, Prentice Hall, 2012. ISBN 978-0132886727.

Zařazení předmětu ve studijních plánech

  • Program IT-MGR-2 magisterský navazující

    obor MMI , 0 ročník, letní semestr, povinně volitelný
    obor MBI , 0 ročník, letní semestr, volitelný
    obor MSK , 0 ročník, letní semestr, volitelný
    obor MMM , 0 ročník, letní semestr, volitelný
    obor MBS , 0 ročník, letní semestr, povinně volitelný
    obor MPV , 0 ročník, letní semestr, povinně volitelný
    obor MIS , 0 ročník, letní semestr, povinně volitelný
    obor MIN , 0 ročník, letní semestr, povinně volitelný
    obor MGM , 0 ročník, letní semestr, povinně volitelný

  • Program MITAI magisterský navazující

    specializace NNET , 0 ročník, letní semestr, povinný
    specializace NADE , 0 ročník, letní semestr, povinný
    specializace NBIO , 0 ročník, letní semestr, volitelný
    specializace NSEN , 0 ročník, letní semestr, volitelný
    specializace NVIZ , 0 ročník, letní semestr, volitelný
    specializace NGRI , 0 ročník, letní semestr, volitelný
    specializace NISD , 0 ročník, letní semestr, volitelný
    specializace NSEC , 0 ročník, letní semestr, volitelný
    specializace NCPS , 0 ročník, letní semestr, volitelný
    specializace NHPC , 0 ročník, letní semestr, volitelný
    specializace NMAL , 0 ročník, letní semestr, volitelný
    specializace NVER , 0 ročník, letní semestr, volitelný
    specializace NIDE , 0 ročník, letní semestr, volitelný
    specializace NEMB , 0 ročník, letní semestr, volitelný
    specializace NSPE , 0 ročník, letní semestr, volitelný
    specializace NMAT , 0 ročník, letní semestr, volitelný
    specializace NISY , 0 ročník, letní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

39 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Úvod do internetových aplikací.
  2. Úvod do jazyka JavaScript.
  3. Pokročilé programování v jazyce JavaScript a jazyk TypeScript.
  4. Značkovací jazyky a serializace dat.
  5. Internetové sítě a web, protokoly TCP/IP, DNS, URI, MIME, HTTP.
  6. Tvorba webového frontendu (HTML, DOM, CSS, klientský JavaScript, frameworky).
  7. Webová aplikační rozhraní a webové služby (XMLRPC, web services, REST).
  8. Tvorba webového backendu (server-side rendering, Node.js, Express).
  9. Webové aplikace typu single page (Ajax, client-side rendering, frameworky).
  10. Zpracování XML (XPath, XSLT).
  11. Bezpečnost webových aplikací.

Projekt

13 hod., povinná

Vyučující / Lektor

Osnova

Vybrat si nějaký 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í.