tinybase
clientdb
tinybase | clientdb | |
---|---|---|
8 | 3 | |
2,958 | 639 | |
2.8% | 0.0% | |
9.8 | 0.0 | |
4 days ago | about 1 year ago | |
TypeScript | TypeScript | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tinybase
- TinyBase can now persist data to IndexedDB
-
Show HN: Doculite – Use SQLite Like Firestore
- https://dgl.cx/2020/06/sqlite-json-support (An article about SQLite as a document database, using the relatively new 'genrated columns' feature of sqlite 3.31.0, which you seem to be using)
- https://www.npmjs.com/package/best.db (easy and quick storage)
- https://tinybase.org (This project seems to be an even more similar idea to Doculite) https://github.com/tinyplex/tinybase (The reactive data store for local-first apps.)
Good luck with your project!
-
To`class` or not to `class`?
And was recently looking through this codebase https://github.com/tinyplex/tinybase and realized there is not a single class keyword used.
-
TinyBase v2.0: “the reactive data store for local-first apps”
Cool! Please take a look and see if it works out. I should point out that the ui-react library (that provides React bindings) does _not_ depend on ReactDOM, so you can use it just as easily in React Native.
At least, once I got the bundler to be happy about the export format! Please see https://github.com/tinyplex/tinybase/issues/17#issuecomment-...
-
[AskJS] Need Feedback:: Tabular Data Representation and Manipulation Library for NodeJS
It looks good. You could expand more on the motivation and use cases. In the meantime take a look to tinybase. It’s a new library as well, very similar to what you are trying to do.
-
TinyBase: A JavaScript library for structured state
I think they were probably referring to https://github.com/tinyplex/tinybase/blob/main/src/common/ar... and the like for wrapper array.map and array.forEach and array.sort.
I don't think there's dozens, but there's a fair few. Most of the stuff in the common directory seems to be standard patterns they use, so it's doing more than just wrapping a function.
clientdb
-
The Future of the Web Is on the Edge
Replicache (https://replicache.dev/) and clientdb (https://clientdb.dev/) are the only productized versions of this architecture I'm aware of (please do let me know if anyone is aware of others!).
But the architecture itself has been used successfully in a bunch of apps, most notable of which is probably Linear (https://linear.app/docs/offline-mode, I remember watching an early video of their founder explaining the architecture in more detail but I can't seem to find it anymore).
Basically the way authorization works is you define specific mutations that are supported and allowed, with a client-side and server-side implementation. The client side gets applied optimistically and then sync'ed and ran on the server, which applies authorization rules and detects and handles conflicts, which can result in client state getting rolled back. Replicache has a good writeup here: https://doc.replicache.dev/how-it-works#the-big-picture
-
TinyBase v2.0: “the reactive data store for local-first apps”
This looks really cool, love seeing more innovation in this space!
At first glance this seems to be mostly targeted towards single-user apps where each user would have their own database that can be sync'ed to a remote server, but still isolated from data for other users, similar to the CouchDB+PouchDB model?
At least it looks that way since I couldn't see anything around authorization and conflict resolution. Not that there's anything wrong with focusing on this use case, a lot of apps can function perfectly fine this way.
A few other interesting new players:
https://replicache.dev/
https://clientdb.dev/
- ClientDB
What are some alternatives?
zustand - 🐻 Bear necessities for state management in React
RxDB - A fast, local first, reactive Database for JavaScript Applications https://rxdb.info/
tinyx - Tiny state manager
json-api - A specification for building JSON APIs
pc-part-dataset - A dataset of PC parts scraped from PCPartPicker
sql.js - A javascript library to run SQLite on the web.
lovefield - Lovefield is a relational database for web apps. Written in JavaScript, works cross-browser. Provides SQL-like APIs that are fast, safe, and easy to use.
LucidMQ - Simple Ops Event Streaming. Alternative to Kafka and RabbitMQ
datsync - Datomic <-> DataScript syncing/replication utilities
baobab - JavaScript & TypeScript persistent and optionally immutable data tree with cursors.
fp-ts - Functional programming in TypeScript
pocketbase - Open Source realtime backend in 1 file