Replies: 53 comments
-
|
We had initial thought on adding a separate library that will act as a proxy in front of Appwrite and sync any changes and provide offline cache depending on the user network status. The main idea was to handle it in separate layers to avoid added complexity to the API and avoid coupling. |
Beta Was this translation helpful? Give feedback.
-
|
Since Appwrite is being billed as a Firebase replacement, I was hoping that it also includes database, which then means offline syncing like Firebase. |
Beta Was this translation helpful? Give feedback.
-
|
I'll leave this issue open, and we'll update when we make progress in this front. |
Beta Was this translation helpful? Give feedback.
-
|
I would love to see offline support for appwrite Lately, I have been looking into offline document databases and offline support in firestore and noticed a few things Firestore offline support works after an online-first paradigm.
I tried to implement a workaround for offline-first support for firestore with An offline-first paradigm document database would be a firebase-killer for some people, like me in a current flutter project. I think of a client SDK with an offline-first/client sync document database that automatically
The only document database ,I know, that currently works on this functionality is MongoDB with its product "MongoDB Realm Sync". They aquired Realm some time ago who developed on-device databases. Sadly they haven't released an flutter SDK yet, because they are currently working with the dart developers to develop some new features for dart. Also as far as I remember MongoDB provides offline first support only in connection with their own priced hosting "MongoDB Atlas". There is no option to self-host a MongoDB with offline-first support. |
Beta Was this translation helpful? Give feedback.
-
|
There are two competing Couchbase Lite Flutter implementations. They are
both offline-first. Although incomplete api's, they function pretty much ok.
https://pub.dev/packages?q=couchbase
…On Fri, Jul 2, 2021 at 5:21 PM Phyyyl ***@***.***> wrote:
I would love to see offline support for appwrite
Lately, I have been looking into offline document databases and offline
support in firestore and noticed a few things
Firestore offline support works after an *online-first* paradigm.
- Firestore allows you to specify a location to fetch from, either
server or cache or automatic (default) if you are online every
document is fetched from the database.
- Out-of-the-Box firestore allows to create/edit/delete objects when
the device is offline and this mechanism is very good and also well
explained on YouTube.
I tried to implement a workaround for offline-first support for firestore
with lastEdited timestamps, where it fetches "old" data from the cache
and "new" data from the server. This works with a major flaw: The client
won't detect if an object was deleted or query results changes that affects
the cached documents.
An *offline-first* paradigm document database would be a firebase-killer
for some people, like me in a current flutter project.
Users outdoor sometimes don't have an internet connection / mobile data
flat at all, or a bad one.
I think of a client SDK with an offline-first/client sync document
database that automatically
- cache fetched data,
- only pulls changed data
- and query results that affects data in cache
- There would also be a mechanism to tell the client which documents
were deleted
- There is a system to add/edit/delete locally and push changes later
when the device is online
- Run queries on the cache with indices
The only document database ,I know, that currently works on this
functionality is MongoDB with its product "MongoDB Realm Sync". They
aquired Realm some time ago who developed on-device databases. Sadly they
haven't released an flutter SDK yet, because they are currently working
with the dart developers to develop some new features for dart. Also as far
as I remember MongoDB provides offline first support only in connection
with their own priced hosting "MongoDB Atlas". There is no option to
self-host a MongoDB with offline-first support.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1168 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACDECK4JPFMJGUPHV3VZVYTTVYUVXANCNFSM45HSHKKQ>
.
|
Beta Was this translation helpful? Give feedback.
-
|
It would be great if the offline data could be encrypted at rest as well. |
Beta Was this translation helpful? Give feedback.
-
|
I think this is one major feature that lacking to compete with firebase or aws amplify to have offline first feature |
Beta Was this translation helpful? Give feedback.
-
I would suggest use something like SQLITE with JSON1 and Cipher APIs. It can act as a proxy, all data pull gets saved to sqlite too and any data pushed to server gets pushed to sqlite as well. That way even if network is not present or has poor performance, it can still work offline. Now that proxy will be the determining factor to either load from sqlite or use live data. |
Beta Was this translation helpful? Give feedback.
-
|
This would really be a nice feature. Is there any plan to implement it? |
Beta Was this translation helpful? Give feedback.
-
|
I agree that this would be a great feature. Is anything in the works to add it? |
Beta Was this translation helpful? Give feedback.
-
|
WatermelonDB and RxDB seems to be the best starting point.
I would like to propose the idea as well as taking note for myself. |
Beta Was this translation helpful? Give feedback.
-
Both of it Js only or react only solutions. Appwrite provides SDK in other languages like flutter, which would be hard to implement that mechanism, and maintain different solution may not the best option. It's easier to come up with a self made solution which can be adapted to all client SDKs. If they implement CRDT on the client sides, then it's not that hard and it requires a few field only, like hibrid logical clock. |
Beta Was this translation helpful? Give feedback.
-
|
@p4-k4 I too require that feature but I think it is a very complicate one. FOSS man power is limited so I think it could be a while before it ready. Currently, the most I can do for them is testing, propose ideas and report issues I came across as I use. For now, I think the team has good progress that now I can use appwrite for my own user, data, api key management and also serverless approach to some extent. Hopefully, this feature could come along with Apple's PWA support for push notification that might available next year. Once appwrite is solid enough, we'll all have the option to escape the big companies' jails. |
Beta Was this translation helpful? Give feedback.
-
I would also add AWS Amplify as another similar solution with offline support. But like you've said, absolute vendor lock in. |
Beta Was this translation helpful? Give feedback.
-
|
Is there any other solution for web and flutter working fine with appwrite before official offline support come out? |
Beta Was this translation helpful? Give feedback.
-
|
This would really be a nice feature. Is there any update? |
Beta Was this translation helpful? Give feedback.
-
|
I wrote a custom sync function for watermelondb and my app works offline in React native |
Beta Was this translation helpful? Give feedback.
-
|
Is there any update @stnguyen90 ? Also add offline feature for logged in users like we get logged in user data even after if device is offline like in firebase auth().currentuser. In react native |
Beta Was this translation helpful? Give feedback.
-
|
I am also looking for an update. Please give us at least an approximate date range and if this is even a priority. This is a crucial feature for any mobile app and without it, how can we switch from Firebase to AppWrite? Thank you. |
Beta Was this translation helpful? Give feedback.
-
|
@Sun3 You can use FlutterData or https://github.com/GetDutchie/brick |
Beta Was this translation helpful? Give feedback.
-
|
Hello, does anyone have an example of how to use Appwrite with brick? |
Beta Was this translation helpful? Give feedback.
-
|
I found this https://signaldb.js.org/examples/appwrite/ |
Beta Was this translation helpful? Give feedback.
-
|
Hey @eldadfux , |
Beta Was this translation helpful? Give feedback.
-
|
really needed this. |
Beta Was this translation helpful? Give feedback.
-
|
Some exciting news are coming soon. |
Beta Was this translation helpful? Give feedback.
-
|
Coming soon means we have to wait one year more. |
Beta Was this translation helpful? Give feedback.
-
|
Update: We have added offline sync, you can find more information in our docs here: https://appwrite.io/docs/products/databases/offline More goodies coming soon on this topic too :) Keep a lookout for our announcements in our Discord: https://appwrite.io/discord Thank you! |
Beta Was this translation helpful? Give feedback.
-
To start off, we have featured an integration with RxDB, a local-first, NoSQL database for JavaScript apps. We have also created a tutorial to demonstrate how Appwrite and RxDB can be integrated in a real-world application (in our case, an offline-first journal app): https://appwrite.io/blog/post/offline-first-journal We are also exploring other providers such as SignalDB, will share more updates here as they come. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks, waiting for flutter support;the most requested |
Beta Was this translation helpful? Give feedback.
-
Any plans for mobile? Swift support maybe? 🙏 Kotlin? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Does AW db support syncing devices? So devices can work offline, something like MongoDB Atlas, or [ahem] Firebase?
Beta Was this translation helpful? Give feedback.
All reactions