RxDB
react-query
RxDB | react-query | |
---|---|---|
46 | 190 | |
20,747 | 27,869 | |
- | - | |
9.9 | 9.1 | |
1 day ago | almost 2 years ago | |
TypeScript | TypeScript, JS | |
Apache License 2.0 | MIT License |
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.
RxDB
-
Ask HN: How Can I Make My Front End React to Database Changes in Real-Time?
I'm interested in this problem also!
I think there is a large overlap with projects that market/focus on offline-first experiences.
AFAIK this problem can be solved by:
1) Considering a client-side copy of the database that gets synced with the remote DB. This is an approach [PowerSync](https://www.powersync.com/) and [ElectricSql](https://electric-sql.com/) and [rxdb](https://rxdb.info/) take!
-
You can't leak users' data if you don't hold it
Hey, after I posted that, I went and gave a second look online to see if I could find something that would allow me to develop a local-first app with offline persistence and syncing capabilities.
I ended up finding some possibilities out there that could potentially help me build stuff. One of them is RxDB [1], which offers WebRTC syncing - you'd still need a signaling server, I suppose, but all sensitive information could be synced E2E-encrypted via WebRTC.
Then there's CRDT's [2], which is a universe that turned out to have multiple possibilities that match (at least partially) my needs. In particular, the next thing I want to take a look at is cr-sqlite [3], which might be just thing I needed to kick-off some side-projects.
I'm posting here cause I just found some hope of not needing to build a traditional client-server app and having to deal with all the hassle involved in securing a server (and with fear that my efforts could be not good enough), and I thought someone else could benefit from getting to know these things.
[1] https://rxdb.info/
-
SignalDB: Bringing Meteor-Like Reactivity to the Modern Age
About a year ago, I discovered a cool offline-first framework called RxDB. Initially, I thought that on the frontend side, this was exactly what I had been searching for over the past years. After tinkering around and even using it in production for some time, I realized that it wasn't well-suited for my intended use. RxDB was initially created as an RxJS layer for PouchDB with a server replication interface. Over time, other storage types besides PouchDB were introduced (e.g., IndexedDB, SQLite) and the replication interface became more sophisticated. The replication interface is really cool and exactly what I wanted. The biggest problem I have with RxDB is that it is so tightly coupled with RxJS. While RxJS is technically very powerful, it offers a dreadful developer experience. It's really hard to understand at first and integrating it into an existing codebase, which isn't using RxJS, is tedious.
-
Show HN: ElectricSQL, Postgres to SQLite active-active sync for local-first apps
Congrats to the team. Once I’ve tried https://rxdb.info/ and it wasn’t funny at all to do the remote replication (PG) and to deal with conflicts. I do need to check this out!
-
What is the best DB for offline-first?
RxDB (Open Source but paid plugins)
-
RxDB VS signaldb - a user suggested alternative
2 projects | 1 Aug 2023
- RxDB: The Local Database for JavaScript Applications
- RxDB - The local Database for JavaScript Applications
- Best offline&local database to use with electron?
- Offline First
react-query
-
20 Essential Parts Of Any Large Scale React App
react-query
-
Some Very Cool (Underrated maybe) React Libraries
React Query: This library makes it easy to manage data in your React applications, from fetching to caching and updating data. It offers a simple, powerful, and flexible API for handling data and keeping your UI in sync with your data. https://github.com/tannerlinsley/react-query
-
Do I need a fetching library in React?
useQuery (react-query) (+) all from above (+) even more features (-) more complex, even the examples are complex, has more aggressive defaults (re-fetching every 2s)
-
Is there any redux-saga equivalent for zustand?
see here Overview
-
React Query Codegen from OpenAPI
Rapini is a new tool that can generate custom React Query hooks using OpenAPI (Swagger) files.
-
React hooks for 28 RxJS operators
React Query is the gold standard for using async data declaratively with hooks. I ended up needing to modify even my simple useTimer hook to work more like useQuery to take multiple keys in order to work as an inner observable for other operators.
-
Goodbye, useEffect - Reactathon 2022
For most situations, I would recommend using a library like React Query. It handles a lot of common data-fetching boiler plate and already accounts for this useEffect() issue. Also, it supports Suspense if you want to use that.
-
Managing application cache with react-query, and code generation.
At this point, I want to move on to the react-query cache management library. Give a brief overview and see how you can improve your developer experience with cache using this library.
-
When to use a hook, and when to use a service?
There isn't the "service" concept in React. If you need to send off data you can just do so with fetch. If you need to load data and cache it so it can be used across components and unmounts, then something like react-query is what I'd recommend. But it's basically a combination of React Context, useEffect, and useState to manage the cache and lifecycle of a request.
-
What would you consider to be a must for a modern 2022 dev stack?
react-query is pretty neat too. I default to that for most projects unless it's something unusual
What are some alternatives?
WatermelonDB - 🍉 Reactive & asynchronous database for powerful React and React Native apps ⚡️
SWR - React Hooks for Data Fetching
TypeORM - ORM for TypeScript and JavaScript. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.
axios - Promise based HTTP client for the browser and node.js
PouchDB - :koala: - PouchDB is a pocket-sized database.
redux-saga - An alternative side effect model for Redux apps
Prisma - Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
rtk-query - Data fetching and caching addon for Redux Toolkit
ObjectBox Java (Kotlin, Android) - Java and Android Database - fast and lightweight without any ORM
zustand - 🐻 Bear necessities for state management in React
Sequelize - Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB (v6), DB2 and DB2 for IBM i.
Recoil - Recoil is an experimental state management library for React apps. It provides several capabilities that are difficult to achieve with React alone, while being compatible with the newest features of React.