background design element dropbackground design element dropbackground design element drop

Co je jednostránková aplikace (SPA) a kdy ji využít?


Vít Uličný
Aktualizováno:11.08.2020· 4 min. čtení
Počet zobrazení:11481
Facebook iconTwitter iconLinkedIn icon
Obsah článku
Facebook iconTwitter iconLinkedIn icon
Single-page application (SPA), česky jednostránková aplikace, patří mezi nejmodernější přístupy k vývoji softwaru. Díky technologii JavaScriptu nabízejí oproti klasickým aplikacím uživatelsky přívětivější prostředí a rychlejší načítání stránek. Pojďme se nyní podívat na to, co vlastně pojem jednostránková aplikace znamená a při jakých projektech je vhodné její využití.

Přívětivé uživatelské rozhraní a okamžitá odezva

Odpovědí na otázku, co pojem jednostránková aplikace označuje je už její samotný název. Jedná se tedy o aplikaci, jejíž veškerý obsah je tvořen jedinou stránkou. To umožňuje rychlejší manipulaci, snadnou orientaci a přináší okamžitou reakci na uživatelské pokyny. Jakmile uživatel načte danou aplikaci, dojde ke stažení veškerého obsahu na stranu klienta. Data jsou tedy ukládána lokálně a dochází k dynamickému načítání jedné stránky. To tvoří zásadní rozdíl mezi SPA a klasickými aplikacemi, kdy jsou při každé aktivitě ze serveru stahovány další stránky. Obecně bývají single-page aplikace nazývány aplikacemi nové generace. Kombinují v sobě totiž to nejlepší z desktopového softwaru (jednoduchost, jednota a spolehlivost) a webu (dostupnost).
 
Své využití single-page aplikace nacházejí zejména u formulářů, jako je například evidence osob.
 
Mezi nejznámější řešení, které využívají tuto formu pak patří produkty společnosti Google – Google Maps, Gmail nebo Facebook.
 
O technickou stránku SPA se starají JavaScript frameworky, jako například:
 
  • React,
  • Angular,
  • Vue.js,
  • Knockout.js
  • nebo Ember.js
  • a Ajax s využitím populárních knihoven jQuery.

Právě Ajax umožňuje synchronizaci v reálném čase, případně okamžitou reakci na interakci klienta s aplikací. Komunikace se serverem pak funguje s využitím Web API.

Výhody single-page aplikací

Předchozí odstavce již nastínily výhody, které single-page aplikace nabízí, pojďme si je pro přehlednost nyní stručně shrnout.
 
  • Přívětivější uživatelské prostředí. Grafické rozhraní se při načtení aplikace stáhne na stranu klienta. To dává prostor pro vytvoření elegantního a přehledného vzhledu, který je navíc jednotný, jelikož jsou všechny funkce součástí jedné stránky. Jednotlivé prvky jsou tak uživateli již dobře známé a nemusí si zvykat na nové prostředí.
  • Okamžitá reakce. Stažení kompletního obsahu již při prvním načtení stránky eliminuje zdržení v podobě čekání na odpověď serveru. Jednostránková aplikace je proto schopna na požadavky reagovat v reálném čase.
  • Funkčnost i bez připojení k internetu. Data jsou ukládána lokálně. Funkčnost aplikace tak nemusí být nutně závislá na připojení k internetu. Off-line přístup tak nabízí využití i v případech, kdy vyrážíme na cesty a nemáme zrovna dostupná data nebo při výpadku sítě.
  • Univerzálnost. Pro dnešní dobu je typické vykonávání úkolů na nejrůznějších typech zařízení. Jednostránkové aplikace jsou multiplatformní, nezáleží proto, zda k přístupu využijete laptop, mobil nebo tablet.

SPA a SEO

Využívání SPA má kromě výše zmíněných výhod také několik nevýhod. Jednou z nich je samotné použití JavaScriptu, což klade větší nároky na vývojáře. Problém může nastat také u SEO optimalizace, jinými slovy v případech, kdy je naším cílem, aby se aplikace zobrazovala na vyšších pozicích ve vyhledávačích. Vyhledávače si prozatím neumějí se single-page aplikacemi dostatečně poradit a často je proto nezařazují do svých žebříčků.
 
Z tohoto důvodu by měly být jednostránkové aplikace využívány pouze v případech, kdy není jejich úspěch postavený na SEO nebo alespoň zapnout server-side rendering (SSR), který toto částečně řeší.
 
Server side rendering - SPA a SEO
Server side rendering - SPA a SEO

 

 

Potřebujete poradit?