Feathers: Sinkronisasi database untuk aplikasi offline-first

Dibuat pada 16 Mar 2016  ·  20Komentar  ·  Sumber: feathersjs/feathers

FeathersJS sepertinya mimpi yang jadi kenyataan. Tetapi bagi saya itu kehilangan satu bagian yang sangat penting dari fungsionalitas untuk membangun aplikasi yang mengutamakan offline, yaitu kemampuan untuk menyinkronkan database jarak jauh dan lokal.

Berikut adalah daftar menurut kinto yang menunjukkan semua solusi yang menawarkan fungsionalitas sinkronisasi semacam ini. Sudah ada database penyimpanan lokal , tetapi bagaimana cara menyinkronkan dengan db jarak jauh? Sebuah plugin untuk CouchDB akan memungkinkan hal ini?

Discussion Proposal Question

Komentar yang paling membantu

penyimpanan universal (isomorfik) sekarang dimungkinkan menggunakan feathers-levelup , dengan leveldown (atau backend penyimpanan lainnya ) di node dan level-js di browser. (terima kasih @ derek-watson!)

menjaga agar layanan klien dan server tetap sinkron diserahkan kepada pembaca, tetapi harus langsung dengan peristiwa data waktu nyata . jika Anda membuat kemajuan di sini, saya akan menghargai modul yang dapat digunakan kembali, ini akan luar biasa. :tersenyum:

Semua 20 komentar

Iya, offline dulu harus punya fitur. Saya pikir hook dengan PouchDB itu mudah tetapi masalahnya adalah saya perlu belajar dan bersenang-senang dengan MongoDB (alasan saya di sini adalah MongoDB) jadi alangkah baiknya jika saya dapat menyinkronkan (apakah ini berfungsi melalui browser ?) Data dari lokal penyimpanan / IndexedDB ke MongoDB di jarak jauh (seperti minimongo )

TL; DR Saya membutuhkan FeatherJS ini yang tidak aktif / buggy dan tampak usang / mati

Bersulang

@katopz saat ini kami tidak mendukung mode offline otomatis. Terserah Anda saat ini. Kami belum punya waktu untuk menyempurnakannya tetapi saya cukup yakin semua bagian sudah siap untuk melakukan ini sekarang.

Anda dapat menggunakan https://github.com/feathersjs/feathers-localstorage pada klien dan kemudian Anda harus dapat mengatur kait untuk menyimpan data Anda after layanan mengembalikan data atau memeriksa cache penyimpanan lokal Anda before layanan Anda masuk ke server.

Mudah-mudahan kita punya waktu untuk menyempurnakan ini sekitar sebulan ke depan. Jika seseorang ingin mengambil celah dan mengirimkan PR atau panduan, itu akan luar biasa! :tersenyum:

Kami pasti telah memikirkannya dan membangun potongan untuk melakukannya, hanya saja belum punya waktu untuk menyelesaikan idenya dulu.

penyimpanan universal (isomorfik) sekarang dimungkinkan menggunakan feathers-levelup , dengan leveldown (atau backend penyimpanan lainnya ) di node dan level-js di browser. (terima kasih @ derek-watson!)

menjaga agar layanan klien dan server tetap sinkron diserahkan kepada pembaca, tetapi harus langsung dengan peristiwa data waktu nyata . jika Anda membuat kemajuan di sini, saya akan menghargai modul yang dapat digunakan kembali, ini akan luar biasa. :tersenyum:

Iya! Saya lupa tentang naik level! Much: heart: ke @ derek-watson untuk itu! Secara teknis, Anda juga dapat menggunakan NeDB di browser. Jadi ada beberapa opsi mesin penyimpanan yang berbeda.

Saya pikir ini akan lebih terlihat seperti resep daripada modul yang dapat digunakan kembali. Mungkin beberapa kait yang dibundel di suatu tempat. Jika seseorang membuat kemajuan dalam hal ini sebelum kami melakukannya, silakan berbagi. Jika tidak, kita mungkin akan membahasnya dalam bulan depan bersama dengan # 227.

Hal-hal leveldb tampak hebat! Menurut saya, kombinasi dengan https://github.com/feathersjs/feathers/issues/256 akan menjadi dasar yang baik untuk mengimplementasikan fungsi offline nyata. Ekstensi reaktif akan mempermudah penerapan hal-hal seperti cache fall-through sisi klien yang semoga hanya menjadi langkah kecil untuk sinkronisasi offline penuh.

Saya sedang mengerjakan middleware Redux untuk mendukung kebutuhan offline umum untuk feathersjs.

Berharap untuk segera menyelesaikan versi pertama.

@hnordt Luar biasa! Anda mungkin ingin mengambil melihat @ahdinosaur 's https://github.com/ahdinosaur/feathers-action dan @saiichihashimoto' s https://github.com/saiichihashimoto/feathers-react-redux untuk inspirasi atau mungkin ke berkolaborasi!

Terima kasih @ekryski. Saya akan melihat-lihat.

feathers-react-redux membutuhkan beberapa pekerjaan agar benar-benar bisa digunakan, itu tidak direncanakan dengan baik. ;-)

1 untuk menambahkan dukungan pouchdb

Saya akan berpikir bahwa menggunakan NeDB akan menjadi opsi sinkronisasi offline terbaik. Ini sudah mendukung sintaks kueri lengkap, sehingga Anda dapat melakukan kueri padanya sama seperti jika Anda terhubung ke server. Ini sangat berkinerja dan memiliki mesin penyimpanan yang dapat dicolokkan untuk browser. Plus, kami sudah memiliki adaptor yang dibuat untuk itu.

1 untuk solusi NeDB. Saya suka itu untuk server juga.

NeDB atau LokiJS atau PouchDB?
Dibandingkan dengan NeDB, saya lebih suka LokiJS karena lebih cepat dan penulis memiliki rencana untuk mengembangkan api mongodb yang sepenuhnya kompatibel.
Untuk PouchDB, ini sepenuhnya kompatibel dengan CouchDB. Jadi dengan menggunakan satu perintah, database dapat disinkronkan ke server CouchDB mana pun.

Loki terlihat sangat keren.

Saya merekomendasikan LinvoDb https://github.com/Ivshti/linvodb3
Ini memiliki kueri langsung dan berskala lebih baik daripada NeDB

Saya benar-benar tidak memiliki pendapat apa solusi penyimpanan offline terbaik karena saya tidak tahu apa-apa tentang penyimpanan seluler dan aplikasi pertama offline selain melakukan banyak pekerjaan manual dengan penyimpanan lokal. Tapi mungkin layak untuk dilempar dalam beberapa konteks seperti apa yang kita lakukan di Headstart / apa yang kita pikirkan seandainya itu membalik beberapa sakelar untuk yang lain.

Kami ingin menambahkan sedikit kemampuan offline ke aplikasi kami pada bulan November, waktu Desember, jadi kami belum menangani inti dari masalah tersebut.

Sementara itu kami mungkin akan menggunakan sesuatu seperti redux-persist untuk beberapa kemampuan offline kami yang kami butuhkan untuk sebuah mvp.

https://github.com/rt2zz/redux-persist

Saya kira yang saya pikirkan adalah adakah alasan feathers perlu mendukung adaptor lokal seluler itu sendiri?

Seperti yang disinggung oleh @ekryski, satu set kait yang dapat digunakan kembali di perpustakaan mungkin merupakan ide yang lebih baik. Mencoba mendukung banyak adaptor untuk seluler serta sisi server mungkin terlalu banyak cakupan untuk didukung oleh bulu mengingat (bahkan di atas) jumlah solusi berbeda yang akan digunakan dan diminta orang?

Saya sendiri lebih suka perpustakaan pengait yang menunjukkan bagaimana 'mengkonsolidasikan' berdasarkan konektivitas seluler yang kemudian dapat diterapkan oleh setiap orang ke sistem penyimpanan lokal apa pun yang ingin mereka gunakan.

Harapan itu masuk akal dan saya belum sepenuhnya salah paham.

@ gor181 untuk referensi.

@Entioum bagaimana MVP Nov / Dec Anda berjalan, apa yang Anda putuskan untuk digunakan?

Saya memilih untuk menggunakan ForerunnerDB

Pada hari Minggu, 27 November 2016, pukul 12:12 Luke Browell [email protected]
menulis:

@Mentioum https://github.com/Mentioum bagaimana Anda Nov / Desember MVP pergi,
apa yang kamu putuskan untuk digunakan?

-
Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/feathersjs/feathers/issues/264#issuecomment-263144379 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/ACFSMbrn_nO1oyNsoK0F41BqaetzowkNks5rCeQqgaJpZM4HxjN7
.

>

Maximilian Alexander
[email protected]
www.maxofeden.com

@eddyystop melakukan beberapa pekerjaan hebat di front offline. Anda dapat menemukan panduan dengan tautan ke semua repositori terkait di https://docs.feathersjs.com/guides/offline-first/readme.html

Diskusi dan pertanyaan khusus harus diarahkan ke repositori yang sesuai jadi saya pikir kita bisa menutup ini.

Masalah ini telah dikunci secara otomatis karena tidak ada aktivitas baru-baru ini setelah ditutup. Silakan buka masalah baru dengan tautan ke masalah ini untuk bug terkait.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat