background design element dropbackground design element dropbackground design element drop

Jednostránkové a vícestránkové aplikace: využití, výhody a nevýhody


Webové aplikace, ať už jednostránkové či vícestránkové, jsou dnes stále častěji využívány jako náhrada za klasický desktopový software. Důvodem pro tuto změnu je jejich snadná aktualizace, která už z podstaty probíhá bez nutnosti asistence uživatele a nezávislost na platformě i typu zařízení. Ke konkrétnímu řešení lze pak přistupovat na základě dvou modelů SPA a MPA. Jaké jsou jejich výhody a který z nich je vhodnější pro váš projekt? Na tyto a další otázky se pokusí odpovědět následující odstavce.

Web SPA vs MPA aplikace
Web SPA vs MPA aplikace

Aplikace nové generace: SPA

SPA (single-page application) neboli jednostránková aplikace schraňuje veškerý obsah na jediné stránce. Celý princip fungování se dá zjednodušeně popsat následovně:

  • uživatel načte aplikaci,

  • veškerý obsah se stáhne ze serveru na stranu klienta,

  • uživatel dále pracuje s lokálně uloženými daty.

Nedochází tak k opětovnému načítání stránek, jak je tomu u klasických vícestránkových aplikací. Díky tomu je aplikace schopna okamžitě reagovat na uživatelské požadavky. Další výhodou je jednoduchost webu a snadná orientace v jeho prvcích, což zajišťuje příjemný uživatelský zážitek. Technické řešení spočívá ve využití JavaScriptu, konkrétně frameworků jako je AngularJS, Ember.js nebo Knockout.js. S příklady tohoto řešení jsme se již pravděpodobně všichni setkali. Single-page aplikací je například GitHub, Facebook, Gmail nebo Trello.

Výhody a nevýhody jednostránkové aplikace

Každá mince má dvě strany, jinak tomu není ani v případě jednotlivých modelů webových aplikací. Zásadní výhoda SPA již byla zmíněna v předchozích odstavcích. Veškerý obsah (HTML, CSS a skripty) se načítají najednou. Aplikace funguje na straně klienta a dokáže v reálném čase reagovat na požadavky uživatele. Druhou výhodou je, že lze kód ladit přímo v prostředí internetového prohlížeče Google Chrome. Chrome umožňuje monitorování síťových operací, stejně jako sledování statusu jednotlivých prvků. Díky tomu jsou jednostránkové aplikace platformě nezávislé nejen na produkčním webu, ale již při svém vývoji. Další obrovskou výhodou SPA jsou nezávislost na platformě a responzivita. Dokáží proto lépe reagovat na stále se zvyšující množství uživatelů (v roce 2018 přes 80 %) připojujících se k internetu z dotykového zařízení.

Klasické desktopové aplikace, ve většině případů, vypadají jinak než jejich mobilní provedení, což může vést ke zhoršení orientace v prvcích a obsahu. Responzivní design jednostránkové aplikace tento problém zcela odstraňuje, neboť je pro mobilní i desktopovou verzi na straně frontendu (vzhled) použit stejný kód. Mimo to SPA přinášejí efektivnější využití mezipaměti. Ve chvíli, kdy aplikace odešle požadavek (načtení webu), dojde k přijetí dat a jejich uložení na lokální úložiště. Nedochází tak ke zbytečnému zabírání cache prohlížeče, která se typicky používá pro aktuálně nepotřebná data. Mimo to lze s aplikací pracovat offline, což je obrovským plusem v situaci, kdy dojde k výpadku sítě.

Mezi nevýhody single-page apps patří složitá SEO optimalizace čili optimalizace pro vyhledávače. Tento model je proto nevhodný pro užití v situacích, kdy je pro úspěch projektu zapotřebí výskyt na vysokých místech ve výsledcích vyhledávání. Další nevýhodou může být doba trvání prvního načtení. Ta je ovšem mnohonásobně kompenzována tím, že již typicky nedochází ke stahování dalšího obsahu. Problémy může přinést také samotné technické řešení, kdy nemusí být jednostránková aplikace plně funkční z důvodu vypnuté podpory JavaScriptu v prohlížeči uživatele. Povaha SPA dále značí horší možnosti zabezpečení, než které umožňují vícestránkové aplikace. Uživatelský zážitek může být narušen také tím, že v rámci používání jednostránkových aplikací nelze využívat historii prohlížeče.

Respektive se nelze vrátit o krok zpět. Pokud tedy například odešlete data z formuláře, nebo stisknutím tlačítka přejdete k dalšímu kroku, nelze se za pomoci historie k předešlému kroku vrátit. Kliknutí na šipku zpět v prohlížeči by vás přesměrovalo na předešlou webovou stránku (například domovskou). Kromě toho může dojít ke zpomalení funkce aplikace v důsledku alokace paměti. SPA si pro sebe v tomto případě zabere paměť, kterou ovšem nedokáže uvolnit ani potom, co ji už nevyužívá. Nemůže ji tak využít ani jiná aplikace nebo stránka a dojde k plýtvání prostředků (jejich neefektivní správě).

Klasické vícestránkové aplikace

Vícestránkové aplikace (MPA) jsou postaveny na tradičním způsobu fungování. Veškerá zobrazovaná a odesílaná data musí projít přes server. Důsledkem toho je uživatel nucen po zadání příkazu čekat, než přijde odpověď a aplikace nereaguje v reálném čase. Tato nevýhoda však dnes bývá částečně kompenzována tím, že se obnovují pouze určité části obsahu, čímž se snižuje vytíženost serveru a tím i rychlost odpovědi. MPA se skládají z více stránek, mají proto větší datový objem a více úrovní uživatelského rozhraní. Hodí se tedy pro obsah rozvětvený do více kategorií. Vícestránkové aplikace jsou typicky obtížnější na vývoj. Je totiž důležité klást důraz nejen na stranu klienta, ale i serveru.

Výhodou je zde větší vizuálnost. Ta je zapříčiněna nejen typickým principem fungování, kdy uživatelé dostávají přesně to, na co jsou zvyklí z webu, ale i přehlednými rozcestníky a kategoriemi. Víceúrovňové stránkování nabízí nelimitované možnosti pro obsah. MPA jsou proto vhodné pro propagaci více druhů produktů. Oproti jednostránkovým aplikacím lze celkem snadno zařídit kvalitní SEO optimalizaci a reportovat využití jednotlivých prvků v Google Analytics. Mezi nevýhody lze bezpochyby řadit složitější vývoj backendu a frontendu, stejně jako mobilních aplikací. Vývoj i údržba aplikace je proto v tomto případě mnohem náročnější.

SPA vs. MPA, kterou si vybrat?

V rámci výběru modelu webových aplikací je vhodné zvážení jejího konkrétního cíle. Zásadní je rozmyšlení toho, zda pro účely postačí pouze jedna stránka. Tato volba není vhodná pro aplikace s více kategoriemi, jako je například e-shop. Pokud se ovšem chystáte tvořit obsah, jenž má sloužit jako prezentace jediného produktu, jednostránková aplikace bohatě postačí. Pojďme si na závěr shrnout obsah a účel, který se hodí k jednotlivým řešením.

  •  Jednostránkové aplikace:

    • dynamické aplikace s nízkým objemem dat,

    • odvětví s perspektivou mobilních aplikací,

    • tvorba sociální sítě, komunity, členské stránky,

    • prezentace jednoho produktu, služby,

    •  snaha o vyčnívání nad konkurencí.

  • Vícestránkové aplikace:

    • statické informace – text a obrázky,

    •  rozcestníky a odkazy na další stránky,

    • katalogy a e-shopy.

Uvedená využití obou modelů jsou brána v obecné rovině a mohou se u každého projektu lišit. Před tím, než se pustíte do vývoje je proto dobré svou vizi softwaru zkonzultovat s odborníkem, který vám může pomoci nejen s rozhodnutím, ale i se samotným vývojem.



Průměrné hodnocení:
Vaše hodnocení:




TVORBA WEBŮ, ESHOPŮ A MOBILNÍCH APLIKACÍ

Od designu až po finální vytvoření webu, eshopu nebo aplikace