Detail předmětu

Internetové aplikace

FIT-WAPAk. rok: 2024/2025

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

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.

Jazyk výuky

čeština

Počet kreditů

5

Vstupní znalosti

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

Pravidla hodnocení a ukončení předmětu

  • Vypracování projektů zaměřených na webové aplikace. Projekt je nutné odevzdat včas. Zmeškaný termín se nenahrazuje.
  • Zápočet bude udělen po zisku nejméně poloviny bodů, které lze získat za aktivity během semestru (projekty), tj. 20 bodů.
  • Závěrečná zkouška, minimum 24 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.
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.

Základní literatura

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. (CS)

Doporučená literatura

Alcorn, W., Frichot, C., Orru, M.: The Browser Hacker's Handbook. John Wiley & Sons, 2014. ISBN 978-1118662090.
Casciaro, M., Luciano M.: Node. js Design Patterns. Packt Publishing Ltd, 2016. ISBN 978-1785885587.
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
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.
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.: Ponořme se do HTML5, CZ.NIC, z. s. p. o., Praha 2014, 278 str., ISBN 978-80-905802-6-8.
Rauschmayer, A.: Speaking JavaScript: An In-Depth Guide for Programmers, OReilly Media, http://speakingjs.com/es5/index.html.
Rozentals, N.: Mastering TypeScript. Packt Publishing Ltd, 2017. ISBN 978-1786468710.

Walmsley, P.: Definitive XML Schema, 2nd Edition, Prentice Hall, 2012. ISBN 978-0132886727.

Elearning

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

  • Program MITAI magisterský navazující

    specializace NGRI , 0 ročník, letní semestr, volitelný
    specializace NADE , 0 ročník, letní semestr, povinný
    specializace NISD , 0 ročník, letní semestr, volitelný
    specializace NMAT , 0 ročník, letní semestr, volitelný
    specializace NSEC , 0 ročník, letní semestr, volitelný
    specializace NISY do 2020/21 , 0 ročník, letní semestr, volitelný
    specializace NNET , 0 ročník, letní semestr, povinný
    specializace NMAL , 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 NVER , 0 ročník, letní semestr, volitelný
    specializace NIDE , 0 ročník, letní semestr, volitelný
    specializace NISY , 0 ročník, letní semestr, volitelný
    specializace NEMB do 2023/24 , 0 ročník, letní semestr, volitelný
    specializace NSPE , 0 ročník, letní semestr, volitelný
    specializace NEMB , 0 ročník, letní semestr, volitelný
    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ý

  • Program MPC-KAM magisterský navazující 0 ročník, letní semestr, volitelný
  • Program MPC-TIT magisterský navazující 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. Bezpečnost webových aplikací.
  11. Ochrana údajů v prostředí webových aplikací.

Projekt

13 hod., povinná

Vyučující / Lektor

Osnova

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

Elearning