Jak to fungujeHow it works

Offline-first Nextcloud klient: jak funguje synchronizace a šifrovaná cache Offline-first Nextcloud client: how sync and the encrypted cache work

„Offline-first" zní jako marketingové heslo, ale je to konkrétní architektonické rozhodnutí s velkým dopadem na to, jak se appka chová v reálu. Pojďme si vysvětlit, co to znamená, jak funguje synchronizace s Nextcloud serverem a proč je lokální cache šifrovaná — bez zbytečného žargonu. "Offline-first" sounds like a marketing slogan, but it's a concrete architectural decision with a big impact on how an app behaves in the real world. Let's explain what it means, how synchronization with a Nextcloud server works, and why the local cache is encrypted — without unnecessary jargon.

Online appka vs. offline-firstOnline app vs. offline-first

Běžná „online" aplikace si data stahuje ze serveru pokaždé, když je potřebujete. Bez signálu vidíte prázdnou obrazovku nebo věčné načítání. Offline-first to obrací: data má appka uložená lokálně a pracuje primárně s nimi. Server slouží k synchronizaci, ne jako podmínka pro to, abyste vůbec něco viděli. A typical "online" app downloads data from the server every time you need it. Without signal you see a blank screen or an endless spinner. Offline-first flips this: the app keeps data stored locally and works primarily with it. The server is for synchronization, not a precondition for seeing anything at all.

Jak vypadá synchronizaceWhat synchronization looks like

Zjednodušeně ve třech krocích: Simplified, in three steps:

Co se stane při konfliktuWhat happens on a conflict

Když dva lidé změní tutéž věc offline, vznikne konflikt. Dobrý klient ho nevyřeší tiše přepsáním — buď použije jasné pravidlo (např. poslední zápis vyhrává u drobných změn), nebo u důležitých dat konflikt označí a nechá rozhodnout člověka. Cílem je nikdy tiše neztratit data. When two people change the same thing offline, a conflict arises. A good client doesn't resolve it by silently overwriting — it either uses a clear rule (e.g. last write wins for minor changes) or, for important data, flags the conflict and lets a human decide. The goal is to never silently lose data.

Proč je lokální cache šifrovanáWhy the local cache is encrypted

Offline-first znamená, že firemní data fyzicky leží na telefonu. To je pohodlné, ale i riziko — ztracený nebo odcizený telefon. Proto seriózní klient neukládá data v čitelné podobě, ale do šifrované databáze. NextHub používá SQLCipher s AES-256: celá lokální databáze je zašifrovaná a bez odemčení zařízení a appky jsou data nečitelná i pro toho, kdo telefon fyzicky drží. Offline-first means company data physically sits on the phone. That's convenient, but also a risk — a lost or stolen phone. That's why a serious client doesn't store data in readable form, but in an encrypted database. NextHub uses SQLCipher with AES-256: the entire local database is encrypted, and without unlocking the device and the app, the data is unreadable even to someone physically holding the phone.

AES-256
šifrování lokální databáze (SQLCipher). K tomu volitelně end-to-end šifrování citlivých poznámek a zámek přes Face ID / biometriku. encryption of the local database (SQLCipher). Plus optional end-to-end encryption for sensitive notes and a Face ID / biometric lock.

Reálné scénáře, kde to rozhodujeReal scenarios where it matters

ZávěrThe takeaway

Offline-first není buzzword, ale rozdíl mezi appkou, která funguje jen u Wi-Fi, a nástrojem, na který se dá spolehnout kdekoliv. Ve firemním nasazení k tomu neodmyslitelně patří šifrovaná lokální cache — jinak by pohodlí offline přístupu bylo vykoupené bezpečnostním rizikem. Offline-first isn't a buzzword, but the difference between an app that only works on Wi-Fi and a tool you can rely on anywhere. In a business deployment, an encrypted local cache is an inseparable part of it — otherwise the convenience of offline access would come at the price of a security risk.

Offline-first a šifrované — bez kompromisuOffline-first and encrypted — no compromise

Každá obrazovka NextHubu se vykreslí bez sítě, lokální data jsou šifrovaná (SQLCipher / AES-256) a synchronizace proběhne, jakmile jste zpět online. Every NextHub screen renders without a network, local data is encrypted (SQLCipher / AES-256), and sync happens as soon as you're back online.

Prohlédnout NextHub → Explore NextHub →