Navigácia
Inovácie

Local-first softvér: webové aplikácie, ktoré fungujú aj bez internetu

18 októbra, 2026 techy.sk

Stačí, aby vypadlo Wi-Fi, a veľa webových aplikácií sa zmení na prázdnu stránku s točiacim sa kolieskom. Pracovná tabuľka sa nenačíta, kalendár neukáže stretnutia a poznámky sú nedostupné. Pritom dáta, s ktorými pracujete, často vytvárate práve vy na vlastnom zariadení. Prístup nazývaný local-first sa snaží tento vzťah otočiť: hlavná kópia dát zostáva u vás a server je až druhý v poradí.

Čo znamená local-first softvér

Pojem pochádza z eseje, ktorú v roku 2019 publikoval výskumný tím Ink & Switch (Kleppmann, Wiggins, van Hardenberg, McGranaghan). Autori v nej navrhli súbor princípov pre softvér, ktorý spája pohodlie cloudových aplikácií – spoluprácu a prístup z viacerých zariadení – s vlastníctvom dát, aké poznáme zo starších desktopových programov.

Jadro myšlienky je jednoduché: kópia dát na vašom notebooku, tablete či telefóne sa považuje za primárnu. Server, ak existuje, slúži najmä na synchronizáciu a zálohu. Medzi ideály patrí rýchla odozva bez čakania, fungovanie bez siete, spolupráca viacerých ľudí, ochrana súkromia a dlhodobá dostupnosť dát aj vtedy, keď služba zanikne.

Je dobré dodať, že ide o súbor ideálov, nie o hotový štandard. Väčšina aplikácií, ktoré sa dnes označujú ako local-first, spĺňa len niektoré z nich.

Ako web ukladá dáta priamo v zariadení

Webové aplikácie nemusia spoliehať len na malé úložisko typu „cookies“. Moderné prehliadače ponúkajú viacero mechanizmov na lokálne ukladanie dát a jedným z novších je tzv. súkromný súborový systém pôvodu (OPFS).

Čo je OPFS

OPFS je úložisko, ktoré patrí konkrétnej webovej stránke (presnejšie jej pôvodu) a nie je viditeľné v bežnom súborovom systéme používateľa. Ponúka nízkoúrovňový prístup k súborom a je optimalizované na výkon, takže sa hodí napríklad pre lokálne databázy. Podpora v hlavných prehliadačoch sa objavila v rokoch 2022 a 2023 a funkcia je dnes označená ako široko dostupná.

Čo OPFS nie je

Netreba ho zamieňať s voľným prístupom k vášmu disku. Stránka nevidí vaše súbory a vy nevidíte jej súbory ako bežné dokumenty. Úložisko podlieha kvótam prehliadača a pri vymazaní údajov stránok sa zmaže aj ono. Pre dôležité dáta preto nestačí spoliehať sa len na prehliadač – potrebná je záloha alebo export.

Offline načítanie aplikácie

Aby sa aplikácia otvorila aj bez siete, musí byť jej kód uložený lokálne. Na to slúžia service workery, malé skripty, ktoré dokážu zachytávať sieťové požiadavky a obsluhovať ich z lokálnej pamäte. Z takejto aplikácie sa dá urobiť inštalovateľná webová aplikácia (PWA).

Prečo to môže byť rýchlejšie

Ak sa čítanie, filtrovanie a úpravy dejú nad lokálnymi dátami, aplikácia nečaká na odpoveď servera pri každom kliknutí. Odozva je preto typicky veľmi nízka a nezávisí od kvality pripojenia. Autori pôvodnej eseje to opisujú ako ideál „bez čakania“: používateľ nemusí čakať na dokončenie požiadavky na server, pretože primárna kópia dát je pri ňom.

Nulová odozva však je zjednodušenie. Aj lokálne operácie stoja výpočtový výkon a veľké databázy môžu zaťažiť slabšie zariadenia.

Ako sa riešia konflikty pri synchronizácii

Najťažšia otázka znie: čo sa stane, ak upravíte ten istý dokument na mobile aj notebooku, každý z nich bol medzitým offline? Jedným zo sľubných riešení sú dátové štruktúry CRDT (Conflict-free Replicated Data Types).

Princíp CRDT

CRDT sú navrhnuté tak, aby ich bolo možné upravovať nezávisle na viacerých zariadeniach a potom automaticky zlúčiť do rovnakého výsledku, bez ohľadu na poradie, v akom zmeny dorazia. Zariadenie si teda zmeny pamätá a po pripojení ich odošle ostatným. Prenášať sa dajú len rozdiely, nie celé súbory.

Kde sú limity

Automatické zlúčenie zaručuje, že všetky zariadenia skončia v rovnakom stave, nie že výsledok bude zmysluplný pre človeka. Ak dvaja ľudia prepíšu tú istú vetu rozdielne, algoritmus vyberie určité riešenie, ktoré nemusí byť to, čo by zvolili vy. Autori eseje navyše priznávajú, že spolupráca na úrovni najlepších cloudových aplikácií patrí k najťažším cieľom celého konceptu.

Čo to znamená pre vývojárov a používateľov

Pre menších vývojárov môže lokálne spracovanie znížiť potrebu drahej serverovej infraštruktúry, pretože výpočty a väčšina dát zostanú na zariadení používateľa. To môže uľahčiť aj ponuku nástrojov za jednorazový poplatok alebo zadarmo. Nie je to však automatické: ak aplikácia potrebuje synchronizáciu alebo zdieľanie medzi ľuďmi, nejaký server či prenosová služba zvyčajne ostáva. Náklady sa tak skôr presúvajú a menia, než miznú.

Pre používateľov je hlavným prínosom väčšia kontrola: dáta môžu zostať na vašom zariadení, aplikácia funguje v lietadle či vo vlaku a pri zániku služby neprídete o všetko. Nevýhodou je väčšia zodpovednosť za zálohovanie, vyššie nároky na úložisko zariadenia a komplikovanejší vývoj.

Je to koniec cloudu?

Nie. Tvrdenia o masovom opúšťaní cloudových databáz ani o konci éry „hlúpeho okna do servera“ nemáme podložené nezávislými údajmi. Realistickejší obraz je, že local-first je rastúci prístup, ktorý sa osvedčuje najmä pri aplikáciách s osobnými dátami, poznámkami, úpravou dokumentov a offline prácou. Cloud zostáva potrebný pre zdieľanie, zálohovanie, výpočtovo náročné úlohy a služby, ktoré musia mať jednu centrálnu pravdu, napríklad platby.

Záver

Local-first softvér nie je kúzlo, ale zmena priorít: najprv zariadenie, potom sieť. Moderné prehliadače mu dávajú čoraz lepšie technické základy a CRDT riešia významnú časť problému synchronizácie. Zostáva však množstvo otvorených otázok – od zálohovania cez spoluprácu až po náklady na vývoj. Pre čitateľa je užitočné vedieť rozoznať, či aplikácia skutočne pracuje lokálne, alebo len vyzerá, že funguje offline, kým sa nenačíta posledná stránka.

Zdieľať článok

Mohlo by vás zaujímať