• Nebyly nalezeny žádné výsledky

6.3 Testování PWA požadavků

6.3.2 Manuální testování

Jak již bylo zmíněno, testování probíhá na různých zařízeních, operačních systémech a v různých webových prohlížečích. Následující tabulka popisuje výsledky testování.

Tabulka 9: Výsledky manuálního testování (zdroj: autor)

ID PWA požadavek Splněno?

CPWA5 Aplikace je funkční ve všech hlavních prohlížečích Částečně

CPWA7 Každá webová stránka má své URL Ano

OPWA1 Pouze hlavní stránka aplikace je indexovatelná vyhledavačem společnosti Google

Ano

OPWA4 Kanonické URL adresy jsou v případě potřeby k dispozici Ano

OPWA5 Stránky využívají History API Ano

OPWA6 Při načítání stránky je pozice obsahu nehybná Ano OPWA7 Vrácením se ze stránky se zachová scrollovací pozice předešlé

stránky

Ano

OPWA8 Textová pole, při jejich plnění, nejsou překryta klávesnicí Ano OPWA11 Aplikace uživateli nabídne aplikaci přidat na domovskou

stránku

Částečně

OPWA12 Výzvy k přidání aplikace na domovskou stránku nejsou zobrazovány nadměrně

Ano

OPWA14 Aplikace používá cache-first přístup Ano

OPWA15 Pokud není zařízení připojeno k internetu, aplikace uživatele vhodně informuje

Ano

OPWA16 Aplikace poskytuje uživateli informace o tom, jak budou notifikace použity

Ano

OPWA17 Oznámení povzbuzující uživatele k zapnutí push notifikací nesmí být příliš agresivní

Ano

OPWA18 Při zobrazení žádosti o povolení se jas obrazovky ztlumí Ano OPWA19 Push notifikace jsou včasná, přesná a relevantní Ano OPWA20 Aplikace poskytuje možnost push notifikace vypnout a

zapnout

Ano

Během manuálního testování bylo zjištěno, že na zařízeních s operačním systémem iOS nenabízí uživateli ani v jednom prohlížeči možnost instalace. Aplikace se však dá nainstalovat pomocí funkcionality Add to Home Screen, která se nachází v sekci sdílení v prohlížeči Safari. Při hledání řešení tohoto problému bylo zjištěno, že se nejedná o chybu implementace, nýbrž o chybu na straně operačního systému. Zařízení s operačním systémem iOS a iPadOS tuto funkcionalitu nenabízí nepodporují. Proto jsou v Tabulka 9 požadavky CPWA5 a OPWA11 označeny jako „částečně splněno“.

Obrázek 24: Report vygenerovaný nástrojem Lighthouse (Google, 2021)

6.4 Shrnutí

Výsledky funkčního a uživatelského testování a testování PWA požadavků potvrdily, že aplikace splňuje všechny definované požadavky (viz kapitola 2.3). Aplikace se proto dá označit jako PWA. Během testování byly zjištěny problémy se zařízeními s operačním systémem iOS. Problém je však na straně společnosti Apple a jejich negativního postoje k PWA.

7 Shrnutí vývoje PWA

Aby se webová aplikace mohla označit za progresivní, musí mít jisté charakteristiky. PWA musí být dohledatelné, odkazatelné, progresivní, responzivní, bezpečné, aktuální, alespoň částečně funkční i bez internetového připojení. Také musí působit jako nativní aplikace a umožnit uživateli aplikaci nainstalovat (viz kapitola 1.2). Pro kontrolu těchto charakteristik byly společností Google vytvořeny dva kontrolní seznamy – základní a optimální kontrolní seznam (viz kapitola 1.3). Každá PWA by měla splňovat všechna kritéria základního kontrolního seznamu. Kritéria, jako používání protokolu HTTPS, rychlost načítání či možnost instalace aplikace, je možné automatizovaně testovat pomocí analytického nástroje Lighthouse. Všechna kritéria optimálního kontrolního seznamu nemusí být splněna, jelikož se některá kritéria vztahují pouze k určitým funkcionalitám, které aplikace nemusí mít naimplementované.

Nedílnou součástí každé PWA je service worker, který umožňuje aplikaci ovládat síťové požadavky, tyto požadavky ukládat do cache a poskytovat přístup k obsahu i bez internetového připojení. Další důležitou komponentou je dokument Web App Manifest, pomocí kterého se definují základní informace o PWA. Web App Manifest se stará o správné zobrazení PWA na ploše zařízení a instalaci.

Progresivní webové aplikace lze v mnoha oblastech srovnat s nativními mobilními aplikacemi. V oblasti dostupnosti, publikace a implementace má dokonce výhody. Na druhou stranu v oblasti přístupu k hardwaru či funkcionalitám specifickým pro mobilní zařízení mají PWA značné nevýhody. K většině existuje API, přes které je webovým prohlížečům umožněno přistupovat k jednotlivým funkcionalitám či hardwaru. Některé API nejsou však v prohlížečích podporované či jsou pouze v experimentálním stádiu. Co se týče podpory API v prohlížečích na mobilních zařízeních, lze konstatovat, že webový prohlížeč Google Chrome na zařízeních s operačním systémem Android je na tom nejlépe.

Většina API, i ty v experimentálním stádiu, jsou v prohlížeči podporovány. Na druhou stranu prohlížeč Safari má velmi omezenou podporu i přesto, že iOS zařízení patří mezi nejpopulárnější zařízení.

Na závěr lze říci, že PWA mají v oblasti vývoje multiplatformních a nativních mobilních aplikací své místo. Nativní mobilní aplikace je v mnoha případech možné nahradit PWA.

Implementace PWA dává smysl v případech, kdy aplikace nemusí disponovat pokročilejšími funkcemi, či v případech, kdy výhody v oblasti publikace, dostupnosti a implementace převládají nad nedostatkem podpory API. V opačném případě, kde je třeba výkon, přístup k hardwaru nebo přístup k pokročilým funkcionalitám specifických pro dané zařízení, je vhodnější vývoj nativní aplikace.

Závěr

Výstupem této diplomové práce je funkční ukázková progresivní webová aplikace pro správu rezervací.

Hlavním cílem této diplomové práce je prozkoumání možností progresivních webových aplikací v oblasti vývoje multiplatformních aplikací, a za pomoci ukázkové aplikace tyto možnosti demonstrovat. Možnostmi se rozumí struktura, požadavky a omezení PWA a také funkcionality, které PWA nabízí ve srovnání s nativními mobilními aplikacemi.

Definice, jednotlivé požadavky a struktura progresivních webových aplikací v oblasti vývoje multiplatformních aplikací jsou popsány v první kapitole. K dosažení cíle byla provedena rešerše informačních zdrojů, které se vztahovali k problematice PWA. Dále byla popsána kritéria, která je třeba pro správné fungování naplnit. Součástí práce je také srovnání s nativními mobilní aplikace. V druhé kapitole byla provedena analýza požadavků. Bylo provedeno testování existujících rezervačních systémů a na základě výsledků testování byly definovány funkční požadavky. Výstupem této kapitoly je seznam požadavků, který slouží jako podnět k návrhu a výběru technologií. V implementaci je popsána serverová a klientská část aplikace, konfigurace service workeru a samotné nasazení aplikace na Heroku. Práce byla ukončena testováním, během kterého se identifikoval problém na zařízeních s operačním systémem iOS, který je však neřešitelný.

Aplikace je dostupná na adrese https://reservation-system-dp.herokuapp.com/ a zdrojový kód je dostupný na adrese https://github.com/ttungu/reservation_system/.

Cílem praktické části bylo navrhnout řešení a v návaznosti řešení implementovat.

Stanovené cíle v práci byly naplněny. PWA pro správu rezervací byla navržena a implementována. V PWA byly zajištěny základní funkce pro správu rezervací. Pokud by se autor rozhodl uvést aplikaci na trh, bylo by vhodné aplikaci rozšířit o další funkce a využít jiný webhosting.

Použitá literatura

Apple. Sending Notification Requests to APNs. 2021. [Online] [Citace: 11. 6 2021.]

Dostupné z: Dostupné z:

https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_no tification_server/sending_notification_requests_to_apns.

Archibald, Jake. Is service worker ready? 2021. [Online] [Citace: 14. 1 2021.] Dostupné z:

Dostupné z: https://jakearchibald.github.io/isserviceworkerready/.

Balasubramaniam, Saiharsha. 2020. Environment Variables in Node.js. 2021. [Online]

[Citace: 19. 11 2021.] Dostupné z: Dostupné z: https://www.section.io/engineering-education/nodejs-environment-variables/.

Bar, Adam. Advanced Camera Controls. 2021. [Online] [Citace: 16. 6 2021.] Dostupné z:

Dostupné z: https://whatwebcando.today/photos.html.

Bar, Adam. Audio & Video Capture. 2021. [Online] [Citace: 16. 6 2021.] Dostupné z:

Dostupné z: https://whatwebcando.today/camera-microphone.html.

Bar, Adam. Battery Status. 2021. [Online] [Citace: 16. 6 2021.] Dostupné z:

https://whatwebcando.today/battery-status.html.

Bar, Adam. Bluetooth. 2021. [Online] [Citace: 17. 6 2021.] Dostupné z:

https://whatwebcando.today/bluetooth.html.

Bar, Adam. Device Position. 2021. [Online] [Citace: 16. 6 2021.] Dostupné z:

https://whatwebcando.today/device-position.html.

Bar, Adam. File Access. 2021. [Online] [Citace: 16. 6 2021.] Dostupné z:

https://whatwebcando.today/files.html.

Bar, Adam. Geolocation. 2021. [Online] [Citace: 18. 6 2021.] Dostupné z:

https://whatwebcando.today/geolocation.html.

Bar, Adam. Network Type and Speed. 2021. [Online] [Citace: 16. 6 2021.] Dostupné z:

https://whatwebcando.today/network-type-speed.html.

Bar, Adam. NFC. 2021. [Online] [Citace: 16. 6 2021.] Dostupné z:

https://whatwebcando.today/nfc.html.

Bar, Adam. Offline Storage. 2021. [Online] [Citace: 16. 6 2021.] Dostupné z:

https://whatwebcando.today/storage.html.

Bar, Adam. Screen Orientation & Lock. 2021. [Online] [Citace: 17. 6 2021.] Dostupné z:

https://whatwebcando.today/screen-orientation.html.

Bar, Adam. Vibration. 2021. [Online] [Citace: 17. 6 2021.] Dostupné z:

https://whatwebcando.today/vibration.html.

Bar, Adam. What Web Can Do. 2021. [Online] [Citace: 16. 6 2021.] Dostupné z:

https://whatwebcando.today/.

Barron, Brenda. 2020’s Most Surprising WordPress Statistics. 2020. [Online] [Citace: 13.

1 2020.] Dostupné z: https://www.whoishostingthis.com/compare/wordpress/stats/.

Benharosh, Joseph. What is REST API? in plain English. 2018. [Online] [Citace: 11. 11 2021.] Dostupné z: https://phpenthusiast.com/blog/what-is-rest-api.

Brightscout. The Full Guide to Progressive Web Apps (PWA). 2018. [Online] [Citace: 16. 1 2021.] Dostupné z: https://www.brightscout.com/the-full-guide-to-progressive-web-apps-pwa/.

ChaiJS. Chai Assertion Library. 2021. [Online] [Citace: 20. 11 2021.] Dostupné z:

https://www.chaijs.com/.

CSS-TRICKS. Content Jumping (and How To Avoid It). 2016. [Online] [Citace: 11. 6 2021.] Dostupné z: https://css-tricks.com/content-jumping-avoid/.

Facebook. ReactDOMServer. 2021. [Online] [Citace: 12. 6 2021.] Dostupné z:

https://reactjs.org/docs/react-dom-server.html.

Facebook. What is the Virtual DOM? 2021. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://reactjs.org/docs/faq-internals.html#what-is-the-virtual-dom.

GDev. Service Workers: an Introduction. 2019. [Online] [Citace: 2. 10 2021.] Dostupné z:

https://developers.google.com/web/fundamentals/primers/service-workers?hl=cs.

GitHub. Front-end JavaScript frameworks. 2021. [Online] [Citace: 13. 1 2021.] Dostupné z: https://github.com/collections/front-end-javascript-frameworks.

Google. Caching Files with Service Worker. 2019. [Online] [Citace: 11. 6 2021.] Dostupné z: https://developers.google.com/web/ilt/pwa/caching-files-with-service-worker.

Google. Components. 2021. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://material.io/components.

Google. Consolidate duplicate URLs. 2021. [Online] [Citace: 13. 6 2021.] Dostupné z:

https://developers.google.com/search/docs/advanced/crawling/consolidate-duplicate-urls.

Google Developers. Service Workers: an Introduction . 2021. [Online] [Citace: 11. 6 2021.]

Dostupné z: https://developers.google.com/web/fundamentals/primers/service-workers#you_need_https.

Google. General structured data. 2021. [Online] [Citace: 12. 6 2021.] Dostupné z:

https://developers.google.com/search/docs/advanced/structured-data/sd-policies.

Google. Lighthouse. 2021. [Online] [Citace: 15. 1 2021.] Dostupné z:

https://github.com/GoogleChrome/lighthouse.

Google. Time to Interactive. 2019. [Online] [Citace: 16. 1 2021.] Dostupné z:

https://web.dev/interactive/.

Google. Understand the JavaScript SEO basics. 2021. [Online] [Citace: 12. 6 2021.]

Dostupné z: https://developers.google.com/search/docs/advanced/javascript/javascript-seo-basics.

Hanák, Drahomír. Stopařův průvodce REST API. 2018. [Online] [Citace: 11. 11 2021.]

Dostupné z: https://www.itnetwork.cz/programovani/nezarazene/stoparuv-pruvodce-rest-api.

Heroku. Deploying Node.js Apps on Heroku. 2021. [Online] [Citace: 20. 11 2021.]

Dostupné z: https://devcenter.heroku.com/articles/deploying-nodejs.

Heroku. The Heroku Elements Marketplace. 2021. [Online] [Citace: 12. 11 2021.]

Dostupné z: https://www.heroku.com/elements.

Janča, Marek. Webpack – moderní Web Development. 2017. [Online] [Citace: 11. 11 2021.] Dostupné z: https://www.ackee.cz/blog/moderni-web-development-webpack.

Koombea. Can You Put a PWA on the App Store? 2021. [Online] [Citace: 16. 6 2021.]

Dostupné z: https://www.koombea.com/blog/can-you-put-a-pwa-on-the-app-store/.

Kubica, Tomáš. NoSQL: vaše jednodušší, levnější a škálovatelnější databáze. [Online]

2015. [Citace: 11. 11 2021.] Dostupné z: https://www.cloudsvet.cz/?p=243.

MacWorld. How long does Apple support iPhones? 2021. [Online] [Citace: 04. 12 2021.]

Dostupné z: https://www.macworld.co.uk/news/how-long-apple-support-3795013/.

Medium. Google Play Store now open for Progressive Web Apps . 2019. [Online] [Citace:

16. 6 2021.] Dostupné z: https://medium.com/@firt/google-play-store-now-open-for-progressive-web-apps-ec6f3c6ff3cc.

Michálek, Martin. Webpack: Úplné základy a tutoriál k tomu. 2019. [Online] [Citace: 11. 11 2021.] Dostupné z: https://www.vzhurudolu.cz/prirucka/webpack.

Microsoft. A Universally Unique IDentifier (UUID) URN Namespace. [Online] 2005.

[Citace: 12. 11 2021.] Dostupné z: https://datatracker.ietf.org/doc/html/rfc4122.

Mochajs. Simple, flexible, fun. 2021. [Online] [Citace: 20. 11 2021.] Dostupné z:

https://mochajs.org/.

Morris, Richard. Stephen Curtis Johnson: Geek of the Week. [Online] 2009. [Citace: 11. 11 2021.] Dostupné z:

https://www.red-gate.com/simple-talk/opinion/geek-of-the-week/stephen-curtis-johnson-geek-of-the-week/.

Mozilla. Add to Home screen. 2021. [Online] [Citace: 11. 6 2021.] Dostupné z:

https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Add_to_home_screen.

Mozilla. Element.scrollIntoViewIfNeeded(). 2021. [Online] [Citace: 11. 6 2021.] Dostupné z: https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoViewIfNeeded.

Mozilla. History. 2021. [Online] [Citace: 14. 6 2021.] Dostupné z:

https://developer.mozilla.org/en-US/docs/Web/API/History.

Mozilla. History API. 2021. [Online] [Citace: 13. 6 2021.] Dostupné z:

https://developer.mozilla.org/en-US/docs/Web/API/History_API.

Mozilla. Javascript Performance. 2021. [Online] [Citace: 13. 6 2021.] Dostupné z:

https://developer.mozilla.org/en-US/docs/Learn/Performance/javascript_performance.

Mozilla. Multimedia: Images. 2021. [Online] [Citace: 11. 6 2021.] Dostupné z:

https://developer.mozilla.org/en-US/docs/Learn/Performance/Multimedia.

Mozilla. Push API. 2021. [Online] [Citace: 11. 6 2021.] Dostupné z:

https://developer.mozilla.org/en-US/docs/Web/API/Push_API.

Mozilla. Viewport. 2021. [Online] [Citace: 11. 6 2021.] Dostupné z:

https://developer.mozilla.org/en-US/docs/Glossary/Viewport.

Mozilla. Web APIs. 2021. [Online] [Citace: 11. 6 2021.] Dostupné z:

https://developer.mozilla.org/en-US/docs/Web/API.

Mozilla. Web App Manifest. 2021. [Online] [Citace: 11. 6 2021.] Dostupné z:

https://developer.mozilla.org/en-US/docs/Web/Manifest.

Mozilla. Web Notifications API. 2021. [Online] [Citace: 11. 6 2021.] Dostupné z:

https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API.

Mozilla. Web Performance. 2021. [Online] [Citace: 11. 6 2021.] Dostupné z:

https://developer.mozilla.org/en-US/docs/Learn/Performance.

Mozilla. What makes an app a PWA? 2020. [Online] [Citace: 14. 1 2021.] Dostupné z:

https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Introduction#discoverability.

MyFox. MyFox. 2021. [Online] [Citace: 13. 11 2021.] Dostupné z: https://www.myfox.cz/.

npm. Building amazing thingsq. 2021. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://www.npmjs.com/.

npm. lighthouse. 2021. [Online] [Citace: 01. 12 2021.] Dostupné z:

https://www.npmjs.com/package/lighthouse.

npm. package.json. 2021. [Online] [Citace: 19. 11 2021.] Dostupné z:

https://docs.npmjs.com/cli/v8/configuring-npm/package-json.

npm. webpack-pwa-manifest. 2021. [Online] [Citace: 20. 11 2021.] Dostupné z:

https://www.npmjs.com/package/webpack-pwa-manifest.

OGP. The Open Graph protocol. 2021. [Online] [Citace: 11. 6 2021.] Dostupné z:

https://ogp.me/.

OpenJS. About node.js. 2021. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://nodejs.org/en/about/.

OpenJS. Express. 2021. [Online] [Citace: 11. 11 2021.] Dostupné z: https://expressjs.com/.

OpenJS Foundation. Routing. 2021. [Online] [Citace: 19. 11 2021.] Dostupné z:

https://expressjs.com/en/guide/routing.html.

Oracle. What is a Relational Database (RDBMS)? 2021. [Online] [Citace: 11. 11 2021.]

Dostupné z: https://www.oracle.com/cz/database/what-is-a-relational-database/.

Osmani, Addy. The App Shell Model. 2020. [Online] [Citace: 14. 1 2021.] Dostupné z:

https://developers.google.com/web/fundamentals/architecture/app-shell.

PostgreSQL. What is PostgreSQL? 2021. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://www.postgresql.org/about/.

Postman. Build APIs together. 2021. [Online] [Citace: 20. 11 2021.] Dostupné z:

https://www.postman.com/.

React. A JavaScript library for building user interfaces. 2021. [Online] [Citace: 11. 11 2021.] Dostupné z: https://reactjs.org/.

Reenio. Český rezervační systém. 2021. [Online] [Citace: 4. 12 2021.] Dostupné z:

https://reenio.cz/.

Relevant. PWA vs. Native Apps: Which One Should You Choose? 2021. [Online] [Citace:

16. 6 2021.] Dostupné z: https://relevant.software/blog/pwa-vs-native-apps-which-one-should-you-choose/.

RESERVANTO. Unikátní rezervační systém. 2021. [Online] [Citace: 2. 12 2021.] Dostupné z: https://www.reservanto.cz/.

Rezervovač. rezervační systém. 2021. [Online] [Citace: 13. 11 2021.] Dostupné z:

https://rezervovac.cz/.

Russel, Alex. Progressive Web Apps: Escaping Tabs Without Losing Our Soul. [Online]

2015. [Citace: 13. 1 2021.] Dostupné z: https://medium.com/@slightlylate/progressive-apps-escaping-tabs-without-losing-our-soul-3b93a8561955.

Richard, Sam a LePage, Pete. What are Progressive Web Apps?, 2020 2020. [Online]

[Citace: 1. 15 2021.] Dostupné z: https://web.dev/what-are-pwas/.

Richard, Sam a LePage, Pete. 2020 Core Progressive Web App checklist. 2020. [Online]

[Citace: 13. 1 2021.] Dostupné z: https://web.dev/pwa-checklist/.

Sdiary. Online rezervační systém. 2021. [Online] [Citace: 13. 11 2021.] Dostupné z:

https://www.sdiary.cz/.

Section. How to Implement Material-UI in React. 2021. [Online] [Citace: 11. 11 2021.]

Dostupné z: https://www.section.io/engineering-education/how-to-implement-material-ui-in-react/.

Single Page Application using AngularJS. Madhuri A. Jadhav, Balkrishna R. Sawant, Anushree Deshmukh. International Journal of Computer Science and Information Technologies (IJCSIT), Sv. 6.

StackOverflow. Stack Overflow Trends. 2021. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://insights.stackoverflow.com/trends?tags=reactjs%2Cvue.js%2Cangular%2Cangula rjs%2Cjquery.

Statcounter. Mobile Browser Market Share Worldwide. 2021. [Online] [Citace: 22. 11 2021.] Dostupné z: https://gs.statcounter.com/browser-market-share/mobile/worldwide.

SuperSaaS. Rezervační systém pro každou situaci. 2021. [Online] [Citace: 4. 12 2021.]

Dostupné z: https://www.supersaas.cz/.

Ferit, Thomas. How linting and ESLint improve code quality. 2016. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://hackernoon.com/how-linting-and-eslint-improve-code-quality-fa83d2469efe.

The Adoption of JavaScript Linters in Practice: A Case Study on ESLint. Aniche, Mauricio.

2018. 2018, IEEE Transactions on Software Engineering, Sv. 1-1, str. 99.

W3C. Cascading Style Sheets. 2021. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://www.w3.org/Style/CSS/Overview.en.html.

W3Schools. ECMAScript Editions. 2021. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://www.w3schools.com/js/js_versions.asp.

Web.dev. Offline Cookbook. 2020. [Online] [Citace: 11. 6 2021.] Dostupné z:

https://web.dev/offline-cookbook/.

Web.dev. Storage for the web. 2019. [Online] [Citace: 11. 6 2021.] Dostupné z:

https://web.dev/storage-for-the-web/.

WhatIsMyBrowser. What is the latest version of my browser? 2021. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://www.whatismybrowser.com/guides/the-latest-version/?utm_source=whatismybrowsercom&utm_medium=internal&utm_campaign=b readcrumbs.

WHATWG. HTML Living Standard. 2021. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://html.spec.whatwg.org/multipage/.

Wikipedia. FURPS. 2021. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://cs.wikipedia.org/wiki/FURPS.

Wikipedia. Man in the middle. 2021. [Online] [Citace: 11. 6 2021.] Dostupné z:

https://cs.wikipedia.org/wiki/Man_in_the_middle.

Wikipedia. React. 2021. [Online] [Citace: 11. 11 2021.] Dostupné z:

https://cs.wikipedia.org/wiki/React_(webov%C3%BD_framework).

Wikipedia. Zásobník. 2021. [Online] [Citace: 13. 6 2021.] Dostupné z:

https://cs.wikipedia.org/wiki/Z%C3%A1sobn%C3%ADk_(datov%C3%A1_struktura).

Wireframe. Create better wireframes with an app. 2021. [Online] [Citace: 13. 11 2021.]

Dostupné z: https://wireframe.cc/.

I