-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
Copy pathindex.html
41 lines (39 loc) · 66.1 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!doctype html>
<html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.7.0">
<title data-rh="true">RxDB - JavaScript Database | RxDB - JavaScript Database</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://rxdb.info/img/rxdb_social_card.png"><meta data-rh="true" name="twitter:image" content="https://rxdb.info/img/rxdb_social_card.png"><meta data-rh="true" property="og:url" content="https://rxdb.info/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="RxDB - JavaScript Database | RxDB - JavaScript Database"><meta data-rh="true" name="description" content="RxDB is a fast, local-first NoSQL-database for JavaScript Applications like Websites, hybrid Apps, Electron-Apps, Progressive Web Apps and Node.js"><meta data-rh="true" property="og:description" content="RxDB is a fast, local-first NoSQL-database for JavaScript Applications like Websites, hybrid Apps, Electron-Apps, Progressive Web Apps and Node.js"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="alternate" href="https://rxdb.info/" hreflang="en"><link data-rh="true" rel="alternate" href="https://rxdb.info/" hreflang="x-default"><link data-rh="true" rel="canonical" href="https://rxdb.info/"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/</span> (default value)</p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",(function(){void 0===window.docusaurus&&insertBanner()}))</script><link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-62D63SY3S0"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-62D63SY3S0",{})</script>
<link rel="preconnect" href="https://www.googletagmanager.com">
<script>window.dataLayer=window.dataLayer||[]</script>
<script>!function(e,t,a,n){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var g=t.getElementsByTagName(a)[0],m=t.createElement(a);m.async=!0,m.src="https://www.googletagmanager.com/gtm.js?id=GTM-PL63TR5",g.parentNode.insertBefore(m,g)}(window,document,"script","dataLayer")</script><link rel="stylesheet" href="/assets/css/styles.210c10cd.css">
<script src="/assets/js/runtime~main.efec5df0.js" defer="defer"></script>
<script src="/assets/js/main.bd539013.js" defer="defer"></script>
</head>
<body class="homepage">
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PL63TR5" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/files/logo/logo.svg" alt="RxDB Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/files/logo/logo.svg" alt="RxDB Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">RxDB</b></a></div><div class="navbar__items navbar__items--right"><a href="/chat/" class="navbar__item navbar__link navbar-icon navbar-icon-discord" target="_blank"> </a><a href="/code/" class="navbar__item navbar__link navbar-icon navbar-icon-github" target="_blank"> </a><a class="navbar__item navbar__link" href="/consulting/">Support</a><a class="navbar__item navbar__link" href="/premium/">Premium</a><a class="navbar__item navbar__link" href="/overview.html">Docs</a><div class="navbarSearchContainer_Bca1"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div style="position:fixed;display:block;z-index:10;height:1.5px;background-color:var(--color-top);top:62.5px;border-top-right-radius:2px;border-bottom-right-radius:2px;width:0%"></div><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><main><div class="block first hero centered dark"><div class="content"><h1 style="text-align:center;padding-bottom:40px">The easiest way to <b class="underline">store</b> and <b class="underline">sync</b> Data inside of your App</h1><div class="inner"><div class="half left"><ul class="checked"><li>Build apps that work <b class="underline">Offline</b></li><li>Sync with <b class="underline">any Backend</b></li><li>Observable <b class="underline">Realtime Queries</b></li><li>All JavaScript <b class="underline">Runtimes</b> Supported</li></ul><br><br><div class="hero-action"><div class="button button-empty">How others use it</div></div><div class="hero-action"><a class="button" href="/quickstart.html" target="_blank">Get Started For Free ➤<br></a><a href="/premium/" target="_blank"><div class="buy-option-action">(Get Premium)</div></a></div><div class="clear"></div><br></div><div class="half right" style="display:flex;align-items:center;justify-content:center;align-self:start;padding-left:6%;margin-top:40px;padding-right:2%"><div class="content-canvas"><div class="device tablet" style="margin-left:481px;margin-top:117px"><div class="beating-color"><img src="/files/logo/logo.svg" class="beating logo" alt="RxDB"></div></div><div class="device desktop" style="margin-top:0%"><div class="beating-color"><img src="/files/logo/logo_text.svg" class="beating logo" alt="RxDB"></div></div><div class="device server" style="margin-left:0;margin-top:168px"><div class="beating-color one"></div><div class="beating-color two"></div><div class="beating-color three"></div></div></div></div><div class="clear"></div></div></div><br><br><br><br></div><div class="block reviews" id="videos" style="padding-top:50px;padding-bottom:0"><div class="content centered"><div class="inner"><div class="slick-slider slick-initialized" dir="ltr"><div class="slick-list" style="padding:0px 180px"><div class="slick-track" style="width:466.6666666666667%;left:-100.00000000000001%"><div data-index="-4" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/qHWrooWyCYg/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">3:45</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">This solved a problem I've had in Angular for years</span></div></div></div></div></div><div data-index="-3" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/6t6IansQ7xo/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">14:23</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">Say goodbye to REST APIs with RxDB</span></div></div></div></div></div><div data-index="-2" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/m3T0gMuitbI/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">0:52</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">Build REAL TIME Applications easily 👩💻</span></div></div></div></div></div><div data-index="-1" tabindex="-1" class="slick-slide slick-active slick-cloned" aria-hidden="false" style="width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/qRKWD1T5CD4/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">34:17</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">Nuxt Nation 2024: Ben Hong - Embracing Local-First Apps with Nuxt</span></div></div></div></div></div><div data-index="0" class="slick-slide slick-active slick-center slick-current" tabindex="-1" aria-hidden="false" style="outline:none;width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/tDWmfenF2AM/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">4:28</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">The Easiest Way to Store Data</span></div></div></div></div></div><div data-index="1" class="slick-slide slick-active" tabindex="-1" aria-hidden="false" style="outline:none;width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/qHWrooWyCYg/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">3:45</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">This solved a problem I've had in Angular for years</span></div></div></div></div></div><div data-index="2" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/6t6IansQ7xo/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">14:23</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">Say goodbye to REST APIs with RxDB</span></div></div></div></div></div><div data-index="3" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/m3T0gMuitbI/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">0:52</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">Build REAL TIME Applications easily 👩💻</span></div></div></div></div></div><div data-index="4" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/qRKWD1T5CD4/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">34:17</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">Nuxt Nation 2024: Ben Hong - Embracing Local-First Apps with Nuxt</span></div></div></div></div></div><div data-index="5" tabindex="-1" class="slick-slide slick-center slick-cloned" aria-hidden="true" style="width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/tDWmfenF2AM/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">4:28</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">The Easiest Way to Store Data</span></div></div></div></div></div><div data-index="6" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/qHWrooWyCYg/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">3:45</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">This solved a problem I've had in Angular for years</span></div></div></div></div></div><div data-index="7" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/6t6IansQ7xo/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">14:23</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">Say goodbye to REST APIs with RxDB</span></div></div></div></div></div><div data-index="8" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/m3T0gMuitbI/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">0:52</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">Build REAL TIME Applications easily 👩💻</span></div></div></div></div></div><div data-index="9" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:7.142857142857143%"><div><div style="width:100%;display:inline-block" tabindex="-1"><div style="width:260px;border-radius:16px;border-style:solid;border-width:0;border-color:black;background-color:black;overflow:hidden;cursor:pointer;box-shadow:0 6px 12px rgba(0, 0, 0, 0.25)"><div style="position:relative;width:100%;height:146px;background-image:url(http://img.youtube.com/vi/qRKWD1T5CD4/0.jpg);background-size:cover;background-position:center"><div style="position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center"><svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" style="opacity:0.7;transition:opacity 0.1s ease" viewBox="0 0 24 24" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="white" fill="rgba(255,20,147,0.8)"></circle><polygon points="10 8 16 12 10 16" fill="white"></polygon></svg></div><span style="position:absolute;bottom:8px;right:8px;background-color:rgba(0, 0, 0, 0.8);color:white;font-size:12px;padding:4px 6px;border-radius:4px;z-index:2">34:17</span></div><div style="padding:0px"><span style="font-size:14px;font-weight:bold;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;background-color:white;padding:8px;padding-top:4px;height:55px">Nuxt Nation 2024: Ben Hong - Embracing Local-First Apps with Nuxt</span></div></div></div></div></div></div></div><ul style="display:block" class="slick-dots"><li class="slick-active"><button>1</button></li><li class=""><button>2</button></li><li class=""><button>3</button></li><li class=""><button>4</button></li><li class=""><button>5</button></li></ul></div></div></div></div><div class="block second dark" id="realtime"><div class="content"><h2>Realtime Applications <b class="underline">made easy</b></h2><p>In RxDB, everything is observable. <b>Query Results</b>, <b>Documents</b>, <b>Document Fields</b>, <b>Events</b>.</p><ul class="checked"><li>Whenever data changes, the UI updates.</li><li>Realtime events across components, browser tabs and user devices</li></ul><div class="inner"><div class="code half"><div class="ant-tabs ant-tabs-top observe-code-example-tabs css-cdzvx5" style="min-height:650px"><div role="tablist" aria-orientation="horizontal" class="ant-tabs-nav"><div class="ant-tabs-nav-wrap"><div class="ant-tabs-nav-list" style="transform:translate(0px, 0px)"><div data-node-key="RxJS" class="ant-tabs-tab ant-tabs-tab-active"><div role="tab" aria-selected="true" class="ant-tabs-tab-btn" tabindex="0"><span class="ant-tabs-tab-icon"><img src="/files/icons/rxjs.svg" loading="lazy" alt="rxjs observable"></span><span>RxJS</span></div></div><div data-node-key="Angular" class="ant-tabs-tab"><div role="tab" aria-selected="false" class="ant-tabs-tab-btn" tabindex="-1"><span class="ant-tabs-tab-icon"><img src="/files/icons/angular.svg" loading="lazy" alt="Angular async pipe"></span><span>Angular</span></div></div><div data-node-key="React" class="ant-tabs-tab"><div role="tab" aria-selected="false" class="ant-tabs-tab-btn" tabindex="-1"><span class="ant-tabs-tab-icon"><img src="/files/icons/react.svg" loading="lazy" alt="React signals"></span><span>React</span></div></div><div data-node-key="Vue.js" class="ant-tabs-tab"><div role="tab" aria-selected="false" class="ant-tabs-tab-btn" tabindex="-1"><span class="ant-tabs-tab-icon"><img src="/files/icons/vuejs.svg" loading="lazy" alt="Vue Refs"></span><span>Vue.js</span></div></div><div data-node-key="Svelte" class="ant-tabs-tab"><div role="tab" aria-selected="false" class="ant-tabs-tab-btn" tabindex="-1"><span class="ant-tabs-tab-icon"><img src="/files/icons/svelte.svg" loading="lazy" alt="Svelte Store"></span><span>Svelte</span></div></div><div class="ant-tabs-ink-bar ant-tabs-ink-bar-animated"></div></div></div><div class="ant-tabs-nav-operations ant-tabs-nav-operations-hidden"><button type="button" class="ant-tabs-nav-more" style="visibility:hidden;order:1" aria-haspopup="listbox" aria-controls="null-more-popup" id="null-more" aria-expanded="false"><span role="img" aria-label="ellipsis" class="anticon anticon-ellipsis"><svg viewBox="64 64 896 896" focusable="false" data-icon="ellipsis" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"></path></svg></span></button></div></div><div class="ant-tabs-content-holder"><div class="ant-tabs-content ant-tabs-content-top"><div role="tabpanel" tabindex="0" aria-hidden="false" class="ant-tabs-tabpane ant-tabs-tabpane-active"><fieldset class="samp-wrapper" style="background-color:var(--bg-color)"><legend>Write</legend><samp><span class="cm-keyword">await </span><span class="cm-variable">collection</span>.<span class="cm-method">upsert</span>(<!-- -->{<br><span class="cm-property"> id</span>: <span class="cm-string">'foobar'</span>,<br><span class="cm-property"> color</span>: <span class="cm-string">'<span class="beating-color-string beating-color">#e6008d</span>'</span><br>}<!-- -->);</samp></fieldset><br><br><fieldset class="samp-wrapper" style="background-color:var(--bg-color)"><legend>Observe with <!-- -->RxJS Observable</legend><samp style="background-color:var(--bg-color)"><span class="cm-keyword">await </span><span class="cm-variable">collection</span>.<span class="cm-method">findOne(<span class="cm-string">'foobar'</span>)</span><br> .<span class="cm-property">$</span><span class="cm-comment"> // get observable</span><br> .<span class="cm-method">subscribe</span>(<span class="cm-def">d</span><span class="cm-operator"> =></span> <!-- -->{<br><span class="cm-variable"> screen</span>.<span class="cm-property">backgroundColor</span><span class="cm-operator"> = </span><span class="cm-variable">d</span>.<span class="cm-property beating-color">color</span>;<br> <!-- -->}<!-- -->);</samp></fieldset></div></div></div></div></div><div class="canvas half"><div class="content-canvas"><div class="device tablet" style="margin-left:481px;margin-top:117px"><div class="beating-color"><img src="/files/logo/logo.svg" class="beating logo" alt="RxDB"></div></div><div class="device desktop" style="margin-top:0%"><div class="beating-color"><img src="/files/logo/logo_text.svg" class="beating logo" alt="RxDB"></div></div><div class="device server" style="margin-left:0;margin-top:168px"><div class="beating-color one"></div><div class="beating-color two"></div><div class="beating-color three"></div></div></div></div></div></div></div><div class="block replication" id="replication"><div class="content"><div class="half left"><br><br><br><br><h2>Sync with <b class="underline">any Backend</b></h2><p>RxDB's simple and high-performance <a href="/replication.html" target="_blank">Sync Engine</a> powers real-time synchronization between <!-- --> clients and servers. Either use one of our prebuild replication plugins...</p><p><a href="/replication-server.html" target="_blank"><span style="display:inline-flex;align-items:center;background-color:var(--bg-color);height:30px;padding:0 8px;border-radius:50vh;text-align:center;width:auto;margin-right:10px;margin-bottom:10px;font-size:100%" class="neumorphism-circle-s"><img src="/files/logo/logo.svg" loading="lazy" alt="" style="height:60%;margin-right:6px">RxServer</span></a><a href="/replication-graphql.html" target="_blank"><span style="display:inline-flex;align-items:center;background-color:var(--bg-color);height:30px;padding:0 8px;border-radius:50vh;text-align:center;width:auto;margin-right:10px;margin-bottom:10px;font-size:100%" class="neumorphism-circle-s"><img src="/files/icons/graphql.svg" loading="lazy" alt="" style="height:60%;margin-right:6px">GraphQL</span></a><a href="/replication-firestore.html" target="_blank"><span style="display:inline-flex;align-items:center;background-color:var(--bg-color);height:30px;padding:0 8px;border-radius:50vh;text-align:center;width:auto;margin-right:10px;margin-bottom:10px;font-size:100%" class="neumorphism-circle-s"><img src="/files/icons/firebase.svg" loading="lazy" alt="" style="height:60%;margin-right:6px">Firebase</span></a><a href="https://github.com/pubkey/rxdb/tree/master/examples/supabase" target="_blank"><span style="display:inline-flex;align-items:center;background-color:var(--bg-color);height:30px;padding:0 8px;border-radius:50vh;text-align:center;width:auto;margin-right:10px;margin-bottom:10px;font-size:100%" class="neumorphism-circle-s"><img src="/files/icons/supabase.svg" loading="lazy" alt="" style="height:60%;margin-right:6px">Supabase</span></a><a href="/replication-nats.html" target="_blank"><span style="display:inline-flex;align-items:center;background-color:var(--bg-color);height:30px;padding:0 8px;border-radius:50vh;text-align:center;width:auto;margin-right:10px;margin-bottom:10px;font-size:100%" class="neumorphism-circle-s"><img src="/files/icons/nats.svg" loading="lazy" alt="" style="height:60%;margin-right:6px">NATS</span></a><a href="/replication-http.html" target="_blank"><span style="display:inline-flex;align-items:center;background-color:var(--bg-color);height:30px;padding:0 8px;border-radius:50vh;text-align:center;width:auto;margin-right:10px;margin-bottom:10px;font-size:100%" class="neumorphism-circle-s"><img src="/files/icons/http.svg" loading="lazy" alt="" style="height:60%;margin-right:6px">HTTP</span></a><a href="/replication-couchdb.html" target="_blank"><span style="display:inline-flex;align-items:center;background-color:var(--bg-color);height:30px;padding:0 8px;border-radius:50vh;text-align:center;width:auto;margin-right:10px;margin-bottom:10px;font-size:100%" class="neumorphism-circle-s"><img src="/files/icons/couchdb.svg" loading="lazy" alt="" style="height:60%;margin-right:6px">CouchDB</span></a><a href="/replication-webrtc.html" target="_blank"><span style="display:inline-flex;align-items:center;background-color:var(--bg-color);height:30px;padding:0 8px;border-radius:50vh;text-align:center;width:auto;margin-right:10px;margin-bottom:10px;font-size:100%" class="neumorphism-circle-s"><img src="/files/icons/webrtc.svg" loading="lazy" alt="" style="height:60%;margin-right:6px">WebRTC (P2P)</span></a><a href="/replication-appwrite.html" target="_blank"><span style="display:inline-flex;align-items:center;background-color:var(--bg-color);height:30px;padding:0 8px;border-radius:50vh;text-align:center;width:auto;margin-right:10px;margin-bottom:10px;font-size:100%" class="neumorphism-circle-s"><img src="/files/icons/appwrite-small.svg" loading="lazy" alt="" style="height:60%;margin-right:6px">appwrite</span></a></p><p style="font-size:300%">OR...</p><p>...sync with your <b>custom server</b> by implementing <a href="/replication-http.html" target="_blank">three simple endpoints</a>.</p></div><div class="half right"><div style="width:100%;aspect-ratio:1;overflow:hidden"></div></div><div class="clear"></div></div></div><div class="block offline-first dark" id="offline"><div class="offline-image-wrapper"><img src="/files/icons/wifi/wifi_1a202c.svg" class="offline-image beating-second" loading="lazy" alt="offline"></div><div class="content"><h2>Online <b class="underline">is Optional</b></h2><div class="full-width"><div class="half left"><p>RxDB adopts an <a href="/offline-first.html" target="_blank">offline-first</a> approach, keeping your app fully functional even without a connection. Data is stored locally on the <!-- --> client and seamlessly <b>replicated in the background</b>, and you can even skip the backend entirely if you choose.</p></div><div class="half right"><ul class="checked"><li>Keep your <!-- --> app running <b>offline</b></li><li>Run local queries with <a href="https://rxdb.info/articles/zero-latency-local-first.html" target="_blank"><b>zero latency</b></a></li><li>Simplify and <b>speed up development</b></li><li>Reduces backend load and <b>scales better</b></li></ul></div></div></div></div><div class="block frameworks" id="runtimes"><div class="content"><a href="https://github.com/pubkey/rxdb/tree/master/examples/angular" target="_blank"><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:-10%;left:10%"><img loading="lazy" src="/files/icons/angular.svg" alt="angular database">Angular</div></a><a href="https://rxdb.info/capacitor-database.html#rxdb" target="_blank"><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:10%;left:58%"><img loading="lazy" src="/files/icons/capacitor.svg" alt="capacitor database">Capacitor</div></a><a href="https://rxdb.info/rx-storage-denokv.html" target="_blank"><div class="neumorphism-circle-s circle centered enlarge-on-mouse" style="top:-4%;left:44%"><img loading="lazy" src="/files/icons/deno.svg" alt="deno database">Deno</div></a><a href="https://github.com/pubkey/rxdb/tree/master/examples/node" target="_blank"><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:-5%;left:85%"><img loading="lazy" src="/files/icons/nodejs.svg" alt="Node.js database">Node.js</div></a><a href="https://github.com/pubkey/rxdb/tree/master/examples/react" target="_blank"><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:4%;left:26%"><img loading="lazy" src="/files/icons/react.svg" alt="React database">React</div></a><a href="https://github.com/pubkey/rxdb/tree/master/examples/svelte" target="_blank"><div class="neumorphism-circle-s circle centered enlarge-on-mouse" style="top:15%;left:90%;margin-left:-35px"><img loading="lazy" src="/files/icons/svelte.svg" alt="Svelte database">Svelte</div></a><br><br><br><br><br><h2>Runs in <b class="underline">Any JavaScript Runtime</b></h2><p>RxDB's modular storage architecture adapts to any JavaScript runtime — <a href="/rx-storage-indexeddb.html" target="_blank">Browsers</a>, <a href="/rx-storage-sqlite.html" target="_blank">React Native</a>, <a href="/rx-storage-filesystem-node.html" target="_blank">Node.js</a>, <a href="/electron.html" target="_blank">Electron</a>, and beyond. Simply switch the storage plugin to reuse the same database and replication logic across all your <!-- --> apps, saving time and ensuring consistency.</p><div class="below-text"><a href="/electron-database.html#rxdb" target="_blank"><div class="neumorphism-circle-s circle centered enlarge-on-mouse" style="top:2%;left:18%"><img loading="lazy" src="/files/icons/electron.svg" alt="electron database">Electron</div></a><a href="/articles/vue-database.html" target="_blank"><div class="neumorphism-circle-s circle centered enlarge-on-mouse" style="top:3%;left:45%"><img loading="lazy" src="/files/icons/vuejs.svg" alt="Vue.js database">Vue.js</div></a><a href="/articles/ionic-storage.html" target="_blank"><div class="neumorphism-circle-s circle centered enlarge-on-mouse" style="top:2%;left:71%"><img loading="lazy" src="/files/icons/ionic.svg" alt="ionic database">Ionic</div></a><a href="https://github.com/herefishyfish/rxdb-nativescript" target="_blank"><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:46%;left:11%"><img loading="lazy" src="/files/icons/nativescript.svg" alt="NativeScript database">NativeScript</div></a><a href="/react-native-database.html#rxdb" target="_blank"><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:45%;left:35%"><img loading="lazy" src="/files/icons/react.svg" alt="React Native database">React Native</div></a><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:45%;left:62%"><img loading="lazy" src="/files/icons/nextjs.svg" alt="Next.js database">Next.js</div><a href="https://github.com/pubkey/rxdb/tree/master/examples/flutter" target="_blank"><div class="neumorphism-circle-s circle centered enlarge-on-mouse" style="top:40%;left:86%"><img loading="lazy" src="/files/icons/flutter.svg" alt="Flutter database">Flutter</div></a></div></div></div><div class="block features dark"><div class="content"><h2>All the <b class="underline">Features</b> You'll Ever Need</h2><p>Since its creation in 2018, RxDB has evolved into a powerhouse of features and plugins, offering an all-inclusive, future-proof solution for any type of <!-- --> application. Whatever you need now or might need down the road, is already built in. Giving you the confidence to create robust, scalable apps with ease.</p><div style="margin-top:65px;margin-bottom:5px;width:100%;max-width:1200px;padding:10px"><div class="tag-cloud"></div></div></div></div><div class="block reviews" id="reviews"><div class="content centered"><div class="inner"><h2>Used by <b class="underline">Thousands Worldwide</b></h2><p>RxDB is a proven, battle-tested solution used by countless developers across the globe. With its flexibility, RxDB is used in a vast spectrum of <!-- --> apps and services — from real-time collaboration tools to mission-critical enterprise systems:</p><br><br></div></div><div class="slick-slider slick-initialized" dir="ltr"><div class="slick-list" style="padding:0px 180px"><div class="slick-track" style="width:733.3333333333334%;left:-100.00000000000004%"><div data-index="-4" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB to create applications capable of being
used in the most remote areas where Internet access is
really a challenge.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/altgras.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">ALTGRAS, Guinea</p><span class="company-link">altgras.com</span></div></div></div></div></div><div data-index="-3" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB to provide an offline first, cross platform
point of sale system. With RxDB we could create a web-, desktop- and mobile app using the same code base.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/woopos.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">WooCommerce POS, Australia</p><span class="company-link">wcpos.com</span></div></div></div></div></div><div data-index="-2" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>RxDB is a main component in building offline-ready
multichannel apps. It has become our default stack for
this kind of apps.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/atroo.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">atroo GmbH, Germany</p><span class="company-link">atroo.de</span></div></div></div></div></div><div data-index="-1" tabindex="-1" class="slick-slide slick-active slick-cloned" aria-hidden="false" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>With RxDB we have built an offline capable Progressive Web Application that is used by our borer operators to report on conditions at the mineface.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/nutrien.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">Nutrien, Canada</p><span class="company-link">nutrien.com</span></div></div></div></div></div><div data-index="0" class="slick-slide slick-active slick-center slick-current" tabindex="-1" aria-hidden="false" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB because it works across multiple platforms and we need to store of a great deal of data, some users have tens of thousands of documents! RxDB was the only cross-platform, offline-first solution with good enough performance to meet our needs.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/readwise.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">Readwise, USA</p><span class="company-link">readwise.io</span></div></div></div></div></div><div data-index="1" class="slick-slide slick-active" tabindex="-1" aria-hidden="false" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB for our offline-first inspection software. It ensures accurate data even under poor connectivity, while its single interface for multiple databases streamlines development. RxDB's flexibility also supports easy expansion to more platforms and environments.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/safeex.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">SafeEx, Denmark</p><span class="company-link">safeex.com</span></div></div></div></div></div><div data-index="2" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB in our global offline-first app for technicians. Its robust features and total control ensure reliable performance, even with poor connectivity, resulting in a seamless maintenance solution.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/webware.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">WebWare, Italy</p><span class="company-link">webware.dev</span></div></div></div></div></div><div data-index="3" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We rely on RxDB to manage all our data in one place. Our custom store became unwieldy, so we switched to RxDB for schema migrations, real-time replication, conflict resolution, and reactive programming. Its push and pull handlers also integrate smoothly with our existing APIs.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/myagro.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">myAgro, Africa</p><span class="company-link">myagro.org</span></div></div></div></div></div><div data-index="4" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We provide a mobile app that is used by people in the
field to fill in valuable information like inspections,
surveys and audits. Our users don't always have access to the internet, building from an Offline-first approach with RxDB allows us to have the data integrity we need without being online.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/moreapp.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">MoreApp, Germany</p><span class="company-link">moreapp.com</span></div></div></div></div></div><div data-index="5" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB to create applications capable of being
used in the most remote areas where Internet access is
really a challenge.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/altgras.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">ALTGRAS, Guinea</p><span class="company-link">altgras.com</span></div></div></div></div></div><div data-index="6" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB to provide an offline first, cross platform
point of sale system. With RxDB we could create a web-, desktop- and mobile app using the same code base.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/woopos.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">WooCommerce POS, Australia</p><span class="company-link">wcpos.com</span></div></div></div></div></div><div data-index="7" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>RxDB is a main component in building offline-ready
multichannel apps. It has become our default stack for
this kind of apps.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/atroo.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">atroo GmbH, Germany</p><span class="company-link">atroo.de</span></div></div></div></div></div><div data-index="8" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>With RxDB we have built an offline capable Progressive Web Application that is used by our borer operators to report on conditions at the mineface.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/nutrien.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">Nutrien, Canada</p><span class="company-link">nutrien.com</span></div></div></div></div></div><div data-index="9" tabindex="-1" class="slick-slide slick-center slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB because it works across multiple platforms and we need to store of a great deal of data, some users have tens of thousands of documents! RxDB was the only cross-platform, offline-first solution with good enough performance to meet our needs.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/readwise.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">Readwise, USA</p><span class="company-link">readwise.io</span></div></div></div></div></div><div data-index="10" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB for our offline-first inspection software. It ensures accurate data even under poor connectivity, while its single interface for multiple databases streamlines development. RxDB's flexibility also supports easy expansion to more platforms and environments.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/safeex.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">SafeEx, Denmark</p><span class="company-link">safeex.com</span></div></div></div></div></div><div data-index="11" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB in our global offline-first app for technicians. Its robust features and total control ensure reliable performance, even with poor connectivity, resulting in a seamless maintenance solution.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/webware.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">WebWare, Italy</p><span class="company-link">webware.dev</span></div></div></div></div></div><div data-index="12" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We rely on RxDB to manage all our data in one place. Our custom store became unwieldy, so we switched to RxDB for schema migrations, real-time replication, conflict resolution, and reactive programming. Its push and pull handlers also integrate smoothly with our existing APIs.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/myagro.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">myAgro, Africa</p><span class="company-link">myagro.org</span></div></div></div></div></div><div data-index="13" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We provide a mobile app that is used by people in the
field to fill in valuable information like inspections,
surveys and audits. Our users don't always have access to the internet, building from an Offline-first approach with RxDB allows us to have the data integrity we need without being online.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/moreapp.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">MoreApp, Germany</p><span class="company-link">moreapp.com</span></div></div></div></div></div><div data-index="14" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB to create applications capable of being
used in the most remote areas where Internet access is
really a challenge.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/altgras.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">ALTGRAS, Guinea</p><span class="company-link">altgras.com</span></div></div></div></div></div><div data-index="15" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB to provide an offline first, cross platform
point of sale system. With RxDB we could create a web-, desktop- and mobile app using the same code base.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/woopos.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">WooCommerce POS, Australia</p><span class="company-link">wcpos.com</span></div></div></div></div></div><div data-index="16" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>RxDB is a main component in building offline-ready
multichannel apps. It has become our default stack for
this kind of apps.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/atroo.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">atroo GmbH, Germany</p><span class="company-link">atroo.de</span></div></div></div></div></div><div data-index="17" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>With RxDB we have built an offline capable Progressive Web Application that is used by our borer operators to report on conditions at the mineface.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/nutrien.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">Nutrien, Canada</p><span class="company-link">nutrien.com</span></div></div></div></div></div></div></div><ul style="display:block" class="slick-dots"><li class="slick-active"><button>1</button></li><li class=""><button>2</button></li><li class=""><button>3</button></li><li class=""><button>4</button></li><li class=""><button>5</button></li><li class=""><button>6</button></li><li class=""><button>7</button></li><li class=""><button>8</button></li><li class=""><button>9</button></li></ul></div></div><div class="block dark sixth"><div class="content"><h2>Free <b class="underline">Open Core</b> Model</h2><br><div class="inner"><div class="buy-options"><div class="buy-option bg-gradient-left-top"><div class="buy-option-inner"><div class="buy-option-title"><h2>Open Source Core</h2><div class="price">for Hobbyists and Prototypes</div></div><div class="buy-option-features"><p>The RxDB Open Core provides a robust and reliable database engine that's freely accessible to everyone.<br>This core includes all the essential features you need to develop efficient, real-time <!-- --> applications like storages, replication and other plugins.<br><br>Our open-core approach encourages a vibrant community of developers, fostering collaboration and innovation.</p><br></div><a href="/code/" target="_blank" rel="noopener"><div class="buy-option-action bg-top hover-shadow-top">Get the Code</div></a></div></div><div class="buy-option bg-gradient-right-top"><div class="buy-option-inner"><div class="buy-option-title"><h2>Premium Plugins</h2><div class="price">for professional Developers</div></div><div class="buy-option-features"><p>Our Premium Plugins are essential for professionals using RxDB. They boost the basic features of RxDB with significant performance improvements and reduced bundle size.</p><ul><li><b>Enhanced Storage Plugins</b> to speed up data processing significantly.</li><li><b>Robust Encryption</b> secures your data with state-of-the-art encryption methods.</li><li><b>Advanced Metrics Logging</b> provides detailed insights for performance monitoring.</li></ul><br></div><a href="/premium/"><div class="buy-option-action bg-middle hover-shadow-middle">Get Premium</div></a></div></div><div class="buy-option bg-gradient-left-top"><div class="buy-option-inner"><div class="buy-option-title"><h2>Consulting</h2><div class="price">Get Professional Support</div></div><div class="buy-option-features"><p>Using new technologies can be hard. If you lack the capacity or skill to build your application, we are here to help.<br><br>From quick <b>one-time support sessions</b> to <b>full project</b> development and <b>custom feature</b> implementation, we're here to ensure your project's success. Let's build something incredible together.<br><br></p></div><a href="/consulting/"><div class="buy-option-action bg-bottom hover-shadow-bottom">Get in Contact</div></a></div></div></div></div></div></div><div class="block last"><div class="content"><h2>Start using <b class="underline">RxDB</b> today</h2><div class="buttons full-width"><a href="/quickstart.html" rel="noopener" target="_blank"><div class="button get-premium" style="left:50%;top:20%;margin-left:-122px">Quickstart</div></a><a href="/newsletter" rel="noopener" target="_blank"><div class="button" style="left:25%;margin-left:-90px">Get the Newsletter</div></a><a href="/chat/" rel="noopener" target="_blank"><div class="button" style="left:77%;top:6%;margin-left:-70.5px">Join the Chat</div></a><a href="/premium/"><div class="button" style="top:40%;left:20%;margin-left:-70.5px">Get Premium</div></a><a href="https://twitter.com/intent/user?screen_name=rxdbjs" rel="noopener" target="_blank"><div class="button" style="top:44%;left:73%;margin-left:-85px">Follow on Twitter</div></a><a href="/code/" rel="noopener" target="_blank"><div class="button" style="top:54%;left:32%;margin-left:-70px">Get the Code</div></a></div></div></div></main></div><div class="block footer"><div class="footer-block"><div class="footer-links"><span><a variant="text" href="/" class="footer-logo-button"><img src="/files/logo/logo.svg" alt="RxDB" loading="lazy"><div>RxDB</div></a><div class="footer-community-links"><a variant="text" href="/chat/" target="_blank"><img src="/img/community-links/discord-logo.svg" alt="RxDB Discord" loading="lazy"></a><a variant="text" href="/code/" target="_blank"><img src="/img/community-links/github-logo.svg" alt="RxDB Github" loading="lazy"></a><a variant="text" href="https://twitter.com/intent/user?screen_name=rxdbjs" target="_blank"><img src="/img/community-links/x-logo.svg" alt="RxDB Twitter" loading="lazy"></a><a variant="text" href="https://www.linkedin.com/company/rxdb" target="_blank"><img src="/img/community-links/linkedin-logo.svg" alt="RxDB LinkedIn" loading="lazy"></a><a variant="text" href="https://stackoverflow.com/questions/tagged/rxdb" target="_blank"><img src="/img/community-links/stack-overflow-logo.svg" alt="RxDB Stack Overflow" loading="lazy"></a></div></span><div class="footer-nav-links"><a variant="text" href="/premium/" target="">Premium</a><a variant="text" href="/consulting/" target="">Support</a><a variant="text" href="/overview.html" target="">Documentation</a><a variant="text" href="/chat/" target="_blank">Discord</a><a variant="text" href="/code/" target="_blank">Github</a><a variant="text" href="https://twitter.com/intent/user?screen_name=rxdbjs" target="_blank">Twitter</a><a variant="text" href="https://www.linkedin.com/company/rxdb" target="_blank">LinkedIn</a></div></div><div class="footer-policy"><div><a variant="text" href="/legal-notice/" target="_blank">Legal Notice</a></div><span class="footer-rights">© 2025 RxDB. All rights reserved.</span></div><img class="footer-img desktop-img" src="/img/footer-column.svg" alt="columns" loading="lazy"></div></div><div class="call-to-action-popup"><div class="close"><div class="text">✕</div></div></div></div>
</body>
</html>