3 ms·
> This can be either done with complex caching strategies, or by using an offline first database (like RxDB) that stores the data inside of IndexedDb and replic
by tdeck 5y ago
> This can be either done with complex caching strategies, or by using an offline first database (like RxDB) that stores the data inside of IndexedDb and replicates it from and to the backend in the background.
This skips completely over the simpler options of not having a server at all. I guess because this is an ad for RxDB.
Edit: to be clear, I'm sure this paradigm is useful in many applications. But it strikes me as odd that something called "offline first" doesn't seem to include the possibility of software that runs entirely on one's own computer.
- blondin 5y agono, i am with you. i couldn't tell if they are being serious or not. they probably are, which is kinda depressing. "offline-first is a software paradigm where the software must work as well offline as it does online."
- aidos 5y agoThat’s one type of software, but a lot of software these says is collaborative, with the need to share that data around. Even software for personal use is expected to be able to sync your content between the multitude of devices people now use.
- supermatt 5y agoIt doesnt have to replicate. Thats optional. Can work 100% offline. The RX here means it is reactive - i.e. you can subscribe to state and react to it. This is how it updates the display across independent tabs when the data changes, for example. THATS the main point of RxDB, the sync is just another feature (which you dont have to use and isnt even a default). EDIT: Im nothing to do with RxDB, and dont use it - but i have investigated it previously.
- xg15 5y agoI agree it sounds weird, but isn't "offline first" a term specific to web apps? It's practically impossible to make one of those without a server.
- deleted 5y ago[deleted]
- tdeck 5y agoI'm not sure, this article is my first introduction to the term and it doesn't say the term is specific to web apps.
- dspillett 5y agoNot specific to web apps, but usually only used with respect to them. “Traditional” applications on desktops/laptops/similar where offline-only, some later getting online sync as optional features, so offline-first doesn't need to be stated as it is the assumed default when something isn't offline-only. Web based applications started out online-only, only later in their evolution sometimes getting the ability to work properly offline. Offline-first is still an unusual property, and may forever be, so gets mentioned where it is relevant. Many are simply “works offline” where offline operation is bolted on as an afterthought and may not be at all optimal (for instance in the case of two edits to the same object the last to sync automatically wins, clobbering the other with no attempt to merge or branch and no notice that this has happened or is about to happen, and no care given to the consistency of compound entities when this happens). Apps for phone & tables fall between, so the matter is more vague. I have heard offline-first in reference to them but usually they are either online-only or “works offline” (offering little or nothing more than buffering changes until a connection is available). Some, particularly games, are like traditional apps (offline only or offline with some sort of online sync/backup).