Skip to content

Latest commit

 

History

History
112 lines (95 loc) · 6.98 KB

lib-collab-common-examples-sync-remotestorage.md

File metadata and controls

112 lines (95 loc) · 6.98 KB
title tags created modified
lib-collab-common-examples-sync-remotestorage
data-sync
examples
indexeddb
remotestorage
synchronization
toc
2022-11-25 17:19:25 UTC
2023-01-18 17:04:25 UTC

lib-collab-common-examples-sync-remotestorage

guide

blogs

  • Local-first database: remoteStorage.js | Jared Forsyth.com_202005
    • Conflicts are not automatically handled – they must be dealt with (or not) by the client using bespoke conflict merging code.
    • If two clients change the same document, whichever client syncs to the server first wins, and the second one gets an “conflict event” when it tries to sync. A particularly clever client imeplementation could use a json-crdt to encode the data, and thereby automatically handle merge conflicts without developer or user intervention 🤔 but I haven’t seen anyone try that yet.
    • remoteStorage occupies an interesting place in my mind. On the one hand, it’s an 8 year old project that still receives active maintenance, which is a pretty big achievement in and of itself. On the other hand, its simplicity means that it’s lacking a lot of features that people have come to expect from modern web applications. Overall, given that it’s still actively being developed, it could very well gain some of those features and become a strong solution for building modern local-first apps in the future.

popular

  • remotestorage.js /2.2kStar/MIT/202311/ts

  • https://github.com/FrigadeHQ/remote-storage /186Star/MIT/202401/ts

    • https://remote.storage/
    • a simple library that combines the localStorage API with a remote server to persist data across browsers and devices.
    • Simple API (same as localStorage)
    • Open source server and client
    • How is remoteStorage different from localStorage?
      • localStorage is a browser API that allows you to store data in the browser. The data is stored locally on the user's device and is not shared across devices or browsers.
      • remoteStorage is a library that combines the localStorage API with a remote server to persist data across browsers and devices.
    • The server is built with Nest.js with a disk-persisted Redis Database. It can be deployed in a few minutes using Docker.
    • Show HN: RemoteStorage – sync localStorage across devices and browsers | Hacker News_202401
  • https://github.com/remotestorage/myfavoritedrinks

  • https://github.com/DougReeder/notes-together /202210/js

    • https://notestogether.hominidsoftware.com/
    • A web app for taking notes (or copied snippets of text or pictures) and recalling them by context: any words in them, or the date.
    • Data is backed-up and synced with other devices using the remoteStorage protocol, so you control where your data is stored.
  • https://github.com/silexlabs/unifile /202101/js/采用文件api

    • http://projects.silexlabs.org/unifile/
    • Unified access to cloud storage services through a simple web API.
    • Unifile use an API similar to the native fs module but with Bluebird Promises instead of callbacks.
    • Most of the service in Unifile uses OAuth 2 to connect the user into the service. This means Unifile doesn't have the user credential at any time.
    • 依赖bluebird
    • Currently supported services
      • FTP
      • SFTP
      • Dropbox
      • GitHub: use git as a cloud with repository and branches as folder
      • RemoteStorage
      • WebDAV
      • Local filesystem (might be useful to copy from your drive to your cloud)
  • https://github.com/sonnyp/remoteStorage

    • Playing around with remoteStorage, eventually releasing a lightweight library
  • https://github.com/anita-app/anita /ts/暂不支持同步

    • https://anita-app.com/
    • Anita is a private, no-server, powerful and fully customizable data management solution
    • Your data is stored on your computer in a JSON file and/or on a remote database of your choice: flexible, open & no lock-in. Stay independent from servers that will go away, sooner or later.
    • full support for CRUD operations on data stored
    • locally in the browser's IndexedDB (with Dexie.js)
    • locally in a JSON or SQLite file in the device FS

server

examples

more