Skip to content

Commit 1941c1a

Browse files
docs: publish from 0d145d5
1 parent 6ac901f commit 1941c1a

279 files changed

Lines changed: 1395 additions & 504 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/404.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
<link rel="preconnect" href="https://www.redditstatic.com/">
2525
<link rel="preconnect" href="https://pixel-config.reddit.com/">
2626
<script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"RxDB","applicationCategory":"DeveloperApplication","operatingSystem":"Any","description":"A fast, local-first, reactive NoSQL database for JavaScript applications. Supports offline-first sync, real-time replication, and works across browsers, Node.js, Electron, React Native, and Flutter.","url":"https://rxdb.info","offers":{"@type":"Offer","price":"0","priceCurrency":"USD"},"author":{"@type":"Organization","name":"RxDB","url":"https://rxdb.info","logo":"https://rxdb.info/files/logo/logo.svg","sameAs":["https://github.com/pubkey/rxdb","https://twitter.com/rxdbjs","https://www.linkedin.com/company/rxdb"]}}</script><link rel="stylesheet" href="/assets/css/styles.bc8de9f0.css">
27-
<script src="/assets/js/runtime~main.7d9b225a.js" defer="defer"></script>
28-
<script src="/assets/js/main.33790a4b.js" defer="defer"></script>
27+
<script src="/assets/js/runtime~main.bbe5e75f.js" defer="defer"></script>
28+
<script src="/assets/js/main.c9d51e97.js" defer="defer"></script>
2929
</head>
3030
<body class="navigation-with-keyboard">
3131
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PL63TR5" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

docs/adapters.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
<link rel="preconnect" href="https://www.redditstatic.com/">
2525
<link rel="preconnect" href="https://pixel-config.reddit.com/">
2626
<script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"RxDB","applicationCategory":"DeveloperApplication","operatingSystem":"Any","description":"A fast, local-first, reactive NoSQL database for JavaScript applications. Supports offline-first sync, real-time replication, and works across browsers, Node.js, Electron, React Native, and Flutter.","url":"https://rxdb.info","offers":{"@type":"Offer","price":"0","priceCurrency":"USD"},"author":{"@type":"Organization","name":"RxDB","url":"https://rxdb.info","logo":"https://rxdb.info/files/logo/logo.svg","sameAs":["https://github.com/pubkey/rxdb","https://twitter.com/rxdbjs","https://www.linkedin.com/company/rxdb"]}}</script><link rel="stylesheet" href="/assets/css/styles.bc8de9f0.css">
27-
<script src="/assets/js/runtime~main.7d9b225a.js" defer="defer"></script>
28-
<script src="/assets/js/main.33790a4b.js" defer="defer"></script>
27+
<script src="/assets/js/runtime~main.bbe5e75f.js" defer="defer"></script>
28+
<script src="/assets/js/main.c9d51e97.js" defer="defer"></script>
2929
</head>
3030
<body class="navigation-with-keyboard">
3131
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PL63TR5" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

docs/alternatives.html

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
<link rel="preconnect" href="https://www.redditstatic.com/">
2525
<link rel="preconnect" href="https://pixel-config.reddit.com/">
2626
<script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"RxDB","applicationCategory":"DeveloperApplication","operatingSystem":"Any","description":"A fast, local-first, reactive NoSQL database for JavaScript applications. Supports offline-first sync, real-time replication, and works across browsers, Node.js, Electron, React Native, and Flutter.","url":"https://rxdb.info","offers":{"@type":"Offer","price":"0","priceCurrency":"USD"},"author":{"@type":"Organization","name":"RxDB","url":"https://rxdb.info","logo":"https://rxdb.info/files/logo/logo.svg","sameAs":["https://github.com/pubkey/rxdb","https://twitter.com/rxdbjs","https://www.linkedin.com/company/rxdb"]}}</script><link rel="stylesheet" href="/assets/css/styles.bc8de9f0.css">
27-
<script src="/assets/js/runtime~main.7d9b225a.js" defer="defer"></script>
28-
<script src="/assets/js/main.33790a4b.js" defer="defer"></script>
27+
<script src="/assets/js/runtime~main.bbe5e75f.js" defer="defer"></script>
28+
<script src="/assets/js/main.c9d51e97.js" defer="defer"></script>
2929
</head>
3030
<body class="navigation-with-keyboard">
3131
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PL63TR5" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
@@ -62,16 +62,16 @@ <h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="meteor">Meteor<a href="#met
6262
Because of how it works, it has proven to be hard to integrate it with other modern JavaScript frameworks like <a href="https://github.com/urigo/angular-meteor" target="_blank" rel="noopener noreferrer" class="">angular</a>, <a class="" href="/articles/vue-database.html">vue.js</a> or svelte.</p>
6363
<p>Meteor uses MongoDB in the backend and can replicate with a Minimongo database in the frontend.
6464
While testing, it has proven to be impossible to make a meteor app <strong>offline first</strong> capable. There are <a href="https://github.com/frozeman/meteor-persistent-minimongo2" target="_blank" rel="noopener noreferrer" class="">some projects</a> that might do this, but all are unmaintained.</p>
65-
<p><a class="" href="/articles/alternatives/alternatives/meteor-alternative.html">Read more about why RxDB is a good alternative to Meteor</a>.</p>
65+
<p><a class="" href="/articles/alternatives/meteor-alternative.html">Read more about why RxDB is a good alternative to Meteor</a>.</p>
6666
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minimongo">Minimongo<a href="#minimongo" class="hash-link" aria-label="Direct link to Minimongo" title="Direct link to Minimongo" translate="no"></a></h3>
6767
<p>Forked in Jan 2014 from meteorJSs&#x27; minimongo package, Minimongo is a client-side, in-memory, JavaScript version of MongoDB with backend replication over HTTP. Similar to MongoDB, it stores data in documents inside of <a class="" href="/rx-collection.html">collections</a> and also has the same query syntax. Minimongo has different storage adapters for IndexedDB, WebSQL, <a class="" href="/articles/localstorage.html">LocalStorage</a> and SQLite.
6868
Compared to RxDB, Minimongo has no concept of revisions or conflict handling, which might lead to undefined behavior when used with replication or in multiple browser tabs. Minimongo has no observable queries or changestream.</p>
69-
<p><a class="" href="/articles/alternatives/alternatives/minimongo-alternative.html">Read more about why RxDB is a good alternative to Minimongo</a>.</p>
69+
<p><a class="" href="/articles/alternatives/minimongo-alternative.html">Read more about why RxDB is a good alternative to Minimongo</a>.</p>
7070
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="watermelondb">WatermelonDB<a href="#watermelondb" class="hash-link" aria-label="Direct link to WatermelonDB" title="Direct link to WatermelonDB" translate="no"></a></h3>
7171
<p align="center"><img src="./files/alternatives/watermelondb.png" alt="WatermelonDB alternative" height="60"></p>
7272
<p>WatermelonDB is a reactive &amp; asynchronous JavaScript database. While originally made for <a class="" href="/articles/react-database.html">React</a> and <a class="" href="/react-native-database.html">React Native</a>, it can also be used with other JavaScript frameworks. The main goal of WatermelonDB is <strong>performance</strong> within an application with lots of data.
7373
In React Native, WatermelonDB uses the provided SQLite database. Also there is an Expo plugin for WatermelonDB. In a browser, WatermelonDB uses the LokiJS in-memory database to store and query data. WatermelonDB is one of the rare projects that support both Flow and Typescript at the same time.</p>
74-
<p><a class="" href="/articles/alternatives/alternatives/watermelondb-alternative.html">Read more about why RxDB is a good alternative to WatermelonDB</a>.</p>
74+
<p><a class="" href="/articles/alternatives/watermelondb-alternative.html">Read more about why RxDB is a good alternative to WatermelonDB</a>.</p>
7575
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="aws-amplify">AWS Amplify<a href="#aws-amplify" class="hash-link" aria-label="Direct link to AWS Amplify" title="Direct link to AWS Amplify" translate="no"></a></h3>
7676
<p align="center"><img src="./files/alternatives/aws-amplify.svg" alt="AWS Amplify alternative" height="60" class="img-padding"></p>
7777
<p>AWS Amplify is a collection of tools and libraries to develop web- and mobile frontend applications. Similar to firebase, it provides everything needed like authentication, analytics, a REST API, storage and so on. Everything hosted in the AWS Cloud, even when they state that <em>&quot;AWS Amplify is designed to be open and pluggable for any custom backend or service&quot;</em>. For realtime replication, AWS Amplify can connect to an AWS App-Sync GraphQL endpoint.</p>
@@ -90,34 +90,34 @@ <h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="aws-datastore">AWS Datastor
9090
<span data-line=""><span style="color:var(--shiki-token-function)"> sort</span><span style="color:var(--shiki-token-keyword)">:</span><span style="color:var(--shiki-foreground)"> s </span><span style="color:var(--shiki-token-keyword)">=&gt;</span><span style="color:var(--shiki-token-constant)"> s</span><span style="color:var(--shiki-token-function)">.rating</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-constant)">SortDirection</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">ASCENDING</span><span style="color:var(--shiki-foreground)">)</span><span style="color:var(--shiki-token-function)">.title</span><span style="color:var(--shiki-foreground)">(</span><span style="color:var(--shiki-token-constant)">SortDirection</span><span style="color:var(--shiki-foreground)">.</span><span style="color:var(--shiki-token-constant)">DESCENDING</span><span style="color:var(--shiki-foreground)">)</span></span>
9191
<span data-line=""><span style="color:var(--shiki-foreground)">});</span></span></code></pre><div class="buttonGroup_M5ko"><span><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_IEyt" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_TrPX"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_cVMy"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></span></div></div></figure>
9292
<p>The biggest difference to RxDB is that you have to use the AWS cloud backends. This might not be a problem if your data is at AWS anyway.</p>
93-
<p><a class="" href="/articles/alternatives/alternatives/aws-amplify-datastore-alternative.html">Read more about why RxDB is a good alternative to AWS Amplify DataStore</a>.</p>
93+
<p><a class="" href="/articles/alternatives/aws-amplify-datastore-alternative.html">Read more about why RxDB is a good alternative to AWS Amplify DataStore</a>.</p>
9494
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rethinkdb">RethinkDB<a href="#rethinkdb" class="hash-link" aria-label="Direct link to RethinkDB" title="Direct link to RethinkDB" translate="no"></a></h3>
9595
<p align="center"><img src="./files/alternatives/rethinkdb.svg" alt="RethinkDB alternative" height="60" class="img-padding"></p>
9696
<p>RethinkDB is a backend database that pushed dynamic JSON data to the client in realtime. It was founded in 2009 and the company shut down in 2016.
9797
RethinkDB is not a client side database, it streams data from the backend to the client which of course does not work while offline.</p>
98-
<p><a class="" href="/articles/alternatives/alternatives/rethinkdb-alternative.html">Read more about why RxDB is a good alternative to RethinkDB</a>.</p>
98+
<p><a class="" href="/articles/alternatives/rethinkdb-alternative.html">Read more about why RxDB is a good alternative to RethinkDB</a>.</p>
9999
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="horizon">Horizon<a href="#horizon" class="hash-link" aria-label="Direct link to Horizon" title="Direct link to Horizon" translate="no"></a></h3>
100100
<p>Horizon is the client side library for RethinkDB which provides useful functions like authentication, permission management and subscription to a RethinkDB backend. Offline support <a href="https://github.com/rethinkdb/horizon/issues/58" target="_blank" rel="noopener noreferrer" class="">never made</a> it to horizon.</p>
101-
<p><a class="" href="/articles/alternatives/alternatives/horizon-alternative.html">Read more about why RxDB is a good alternative to Horizon</a>.</p>
101+
<p><a class="" href="/articles/alternatives/horizon-alternative.html">Read more about why RxDB is a good alternative to Horizon</a>.</p>
102102
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="supabase">Supabase<a href="#supabase" class="hash-link" aria-label="Direct link to Supabase" title="Direct link to Supabase" translate="no"></a></h3>
103103
<p align="center"><img src="./files/icons/supabase.svg" alt="Supabase alternative" height="60" class="img-padding"></p>
104104
<p>Supabase labels itself as &quot;<em>an open source Firebase alternative</em>&quot;. It is a collection of open source tools that together mimic many Firebase features, most of them by providing a wrapper around a PostgreSQL database. While it has realtime queries that run over the wire, like with RethinkDB, Supabase has no client-side storage or replication feature and therefore is not offline first.</p>
105-
<p><a class="" href="/articles/alternatives/alternatives/supabase-alternative.html">Read more about why RxDB is a good alternative to Supabase</a>.</p>
105+
<p><a class="" href="/articles/alternatives/supabase-alternative.html">Read more about why RxDB is a good alternative to Supabase</a>.</p>
106106
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="couchdb">CouchDB<a href="#couchdb" class="hash-link" aria-label="Direct link to CouchDB" title="Direct link to CouchDB" translate="no"></a></h3>
107107
<p align="center"><img src="./files/icons/couchdb-text.svg" alt="CouchDB alternative" height="60" class="img-padding"></p>
108108
<p>Apache CouchDB is a server-side, document-oriented database that is mostly known for its multi-master replication feature. Instead of having a master-slave replication, with CouchDB you can run replication in any constellation without having a master server as bottleneck where the server even can go off- and online at any time. This comes with the drawback of having a slow replication with much network overhead.
109109
CouchDB has a changestream and a query syntax similar to MongoDB.</p>
110-
<p><a class="" href="/articles/alternatives/alternatives/couchdb-alternative.html">Read more about why RxDB is a good alternative to CouchDB</a>.</p>
110+
<p><a class="" href="/articles/alternatives/couchdb-alternative.html">Read more about why RxDB is a good alternative to CouchDB</a>.</p>
111111
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="pouchdb">PouchDB<a href="#pouchdb" class="hash-link" aria-label="Direct link to PouchDB" title="Direct link to PouchDB" translate="no"></a></h3>
112112
<p align="center"><img src="./files/alternatives/pouchdb.svg" alt="PouchDB alternative" height="60" class="img-padding"></p>
113113
<p>PouchDB is a JavaScript database that is compatible with most of the CouchDB API. It has an adapter system that allows you to switch out the underlying storage layer. There are many adapters like for <a class="" href="/rx-storage-indexeddb.html">IndexedDB</a>, <a class="" href="/rx-storage-sqlite.html">SQLite</a>, the Filesystem and so on. The main benefit is to be able to replicate data with any CouchDB compatible endpoint.
114114
Because of the CouchDB compatibility, PouchDB has to do a lot of overhead in handling the revision tree of documents, which is why it can show bad performance for bigger datasets.
115115
RxDB was originally build around PouchDB until the storage layer was abstracted out in version <a class="" href="/releases/10.0.0.html">10.0.0</a> so it now allows to use different <code>RxStorage</code> implementations. PouchDB has some performance issues because of how it has to store the document revision tree to stay compatible with the CouchDB API.</p>
116-
<p><a class="" href="/articles/alternatives/alternatives/pouchdb-alternative.html">Read more about why RxDB is a good alternative to PouchDB</a>.</p>
116+
<p><a class="" href="/articles/alternatives/pouchdb-alternative.html">Read more about why RxDB is a good alternative to PouchDB</a>.</p>
117117
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="couchbase">Couchbase<a href="#couchbase" class="hash-link" aria-label="Direct link to Couchbase" title="Direct link to Couchbase" translate="no"></a></h3>
118118
<p>Couchbase (originally known as Membase) is another NoSQL document database made for realtime applications.
119119
It uses the N1QL query language which is more SQL like compared to other NoSQL query languages. In theory you can achieve replication of a Couchbase with a PouchDB database, but this has shown to be not <a href="https://github.com/pouchdb/pouchdb/issues/7793#issuecomment-501624297" target="_blank" rel="noopener noreferrer" class="">that easy</a>.</p>
120-
<p><a class="" href="/articles/alternatives/alternatives/couchbase-alternative.html">Read more about why RxDB is a good alternative to Couchbase</a>.</p>
120+
<p><a class="" href="/articles/alternatives/couchbase-alternative.html">Read more about why RxDB is a good alternative to Couchbase</a>.</p>
121121
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="cloudant">Cloudant<a href="#cloudant" class="hash-link" aria-label="Direct link to Cloudant" title="Direct link to Cloudant" translate="no"></a></h3>
122122
<p>Cloudant is a cloud-based service that is based on <a class="" href="/replication-couchdb.html">CouchDB</a> and has mostly the same features.
123123
It was originally designed for cloud computing where data can automatically be distributed between servers. But it can also be used to replicate with frontend PouchDB instances to create scalable web applications.

docs/articles/alternatives/absurd-sql-alternative.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
<link rel="preconnect" href="https://www.redditstatic.com/">
2525
<link rel="preconnect" href="https://pixel-config.reddit.com/">
2626
<script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"RxDB","applicationCategory":"DeveloperApplication","operatingSystem":"Any","description":"A fast, local-first, reactive NoSQL database for JavaScript applications. Supports offline-first sync, real-time replication, and works across browsers, Node.js, Electron, React Native, and Flutter.","url":"https://rxdb.info","offers":{"@type":"Offer","price":"0","priceCurrency":"USD"},"author":{"@type":"Organization","name":"RxDB","url":"https://rxdb.info","logo":"https://rxdb.info/files/logo/logo.svg","sameAs":["https://github.com/pubkey/rxdb","https://twitter.com/rxdbjs","https://www.linkedin.com/company/rxdb"]}}</script><link rel="stylesheet" href="/assets/css/styles.bc8de9f0.css">
27-
<script src="/assets/js/runtime~main.7d9b225a.js" defer="defer"></script>
28-
<script src="/assets/js/main.33790a4b.js" defer="defer"></script>
27+
<script src="/assets/js/runtime~main.bbe5e75f.js" defer="defer"></script>
28+
<script src="/assets/js/main.c9d51e97.js" defer="defer"></script>
2929
</head>
3030
<body class="navigation-with-keyboard">
3131
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PL63TR5" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

0 commit comments

Comments
 (0)