Local-first: proč aplikace funguje i bez internetu

Aktualizováno 22. 9. 2026

Běžná webová aplikace je okno do databáze, která běží někde jinde. Každé kliknutí je dotaz přes internet. Když spadne připojení nebo server, aplikace přestane fungovat.

Local-first to obrací. Databáze běží ve vašem zařízení a aplikace pracuje přímo s ní. Server slouží jen k tomu, aby si vaše zařízení mezi sebou předala změny. Když není dostupný, nic se neděje, jen se synchronizace odloží.

Co z toho plyne

  • Je to rychlé. Úkol se otevře okamžitě, protože se nikam nechodí. Žádné čekání na odpověď serveru.
  • Offline není zvláštní režim. Vlak, letadlo, sklep. Aplikace neví, že se něco změnilo.
  • Výpadek nás nezastaví vás. Když nám spadne server, vy pracujete dál a data se doženou později.
  • Data zůstanou vaše. Kdyby služba skončila, kopie leží ve vašem prohlížeči a dá se vyexportovat.

Jak se to nepohádá samo se sebou

Když dva lidé změní stejnou věc, každý na svém zařízení, musí se z toho dostat jeden výsledek. Ten se nedá vybrat podle toho, kdo se připojil dřív, protože pořadí připojení nic neříká o pořadí změn.

Používáme knihovnu Evolu, postavenou na datových strukturách typu CRDT. Zjednodušeně: každá změna nese dost informací na to, aby se dala sloučit s ostatními bez ohledu na pořadí, ve kterém dorazí. Výsledek je pak u všech stejný.

Prakticky to znamená, že můžete týden pracovat offline na notebooku, kolega mezitím na svém, a po připojení se to slije bez dotazů typu „kterou verzi si přejete zachovat".

Co to stojí

  • Data zabírají místo v prohlížeči. Proto jsou přílohy malé.
  • Vyčištění dat prohlížeče smaže lokální kopii. Bez zálohovací fráze se pak nedá obnovit.
  • První načtení na novém zařízení chvíli trvá, protože se stahuje a dešifruje celá historie.

Export

Data jdou kdykoliv vyexportovat a naimportovat zpět. Není to ústupek, je to důsledek: když databáze leží u vás, není co zamykat.

Zkuste si to offline

Otevřete aplikaci, vypněte wi-fi a pracujte dál. Až se připojíte, změny se dosynchronizují samy.

Otevřít aplikaci