Detail předmětu

Internetové aplikace

WAP Ak. rok 2021/2022 letní semestr 5 kreditů

Aktuální akademický rok

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

česky

Zakončení

zápočet+zkouška (písemná)

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í

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

  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. Bezpečnost webových aplikací.
  11. 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

Nahoru