Feathers: مزامنة قاعدة البيانات للتطبيقات التي تعمل بدون اتصال بالإنترنت

تم إنشاؤها على ١٦ مارس ٢٠١٦  ·  20تعليقات  ·  مصدر: feathersjs/feathers

يبدو FeathersJS وكأنه حلم أصبح حقيقة. لكن بالنسبة لي ، يفتقد إلى وظيفة أساسية جدًا لإنشاء تطبيقات تعمل دون اتصال بالإنترنت ، وهي القدرة على مزامنة قواعد البيانات المحلية والبعيدة.

إليك قائمة من kinto تعرض جميع الحلول التي تقدم هذا النوع من وظائف المزامنة. توجد بالفعل قاعدة بيانات للتخزين المحلي ، ولكن كيف يمكن مزامنتها مع ديسيبل بعيد؟ البرنامج المساعد لـ CouchDB سيجعل هذا ممكنًا؟

Discussion Proposal Question

التعليق الأكثر فائدة

تخزين عالمي (متماثل) ممكن الآن باستخدام feathers-levelup ، مع leveldown (أو أي خلفية تخزين أخرى ) في العقدة و level-js في المتصفح. (شكرًا @ derek-watson!)

إن الحفاظ على تزامن خدمات العميل والخادم متروك للقارئ ، ولكن يجب أن يكون ذلك مباشرًا مع أحداث البيانات في الوقت الفعلي . إذا أحرزت أي تقدم هنا ، فسأكون ممتنًا لأي وحدات قابلة لإعادة الاستخدام ، فسيكون هذا رائعًا. :ابتسامة:

ال 20 كومينتر

نعم ، في وضع عدم الاتصال أولاً يجب أن يحتوي على ميزات. أعتقد أن ربط PouchDB سهل ولكن الشيء الذي يجب أن MongoDB (سبب وجودي هنا هو MongoDB) لذلك سيكون من الجيد أن أتمكن من مزامنة (هل هذا يعمل عبر المتصفح ؟) البيانات من المحلية التخزين / مفهرس DB إلى MongoDB على بعد (مثل minimongo )

TL ؛ DR أحتاج إلى FeatherJS من هذا وهو غير نشط / عربات التي تجرها الدواب ويبدو أنها قديمة / ميتة

هتافات

katopz حاليًا لا ندعم وضع عدم الاتصال التلقائي. الأمر متروك لك حاليا. لم يكن لدينا الوقت الكافي لتجسيدها بالكامل ، لكنني متأكد تمامًا من أن كل القطع جاهزة للقيام بذلك الآن.

يمكنك استخدام https://github.com/feathersjs/feathers-localstorage على العميل وبعد ذلك يجب أن تكون قادرًا فقط على إعداد الخطافات لتخزين بياناتك مؤقتًا after تقوم الخدمة بإرجاع البيانات أو التحقق من ذاكرة التخزين المؤقت المحلية before خدمتك تصل إلى الخادم.

نأمل أن يكون لدينا الوقت لتجسيد هذا خلال الشهر المقبل أو نحو ذلك. إذا كان شخص ما يريد أن يتخذ قرارًا ويقدم إعلانًا عامًا أو دليلًا فسيكون ذلك رائعًا! :ابتسامة:

لقد كنا بالتأكيد نفكر في الأمر ونبني القطع اللازمة للقيام بذلك ، لم يكن لدينا الوقت الكافي لإنهاء الفكرة حتى الآن.

تخزين عالمي (متماثل) ممكن الآن باستخدام feathers-levelup ، مع leveldown (أو أي خلفية تخزين أخرى ) في العقدة و level-js في المتصفح. (شكرًا @ derek-watson!)

إن الحفاظ على تزامن خدمات العميل والخادم متروك للقارئ ، ولكن يجب أن يكون ذلك مباشرًا مع أحداث البيانات في الوقت الفعلي . إذا أحرزت أي تقدم هنا ، فسأكون ممتنًا لأي وحدات قابلة لإعادة الاستخدام ، فسيكون هذا رائعًا. :ابتسامة:

نعم! لقد نسيت المستوى! الكثير: القلب: إلى @ derek-watson من أجل ذلك! من الناحية الفنية ، يمكنك أيضًا استخدام NeDB في المتصفح. لذلك هناك عدد قليل من خيارات محرك التخزين المختلفة.

أعتقد أنها ستبدو كوصفة أكثر من أي وحدات قابلة لإعادة الاستخدام. ربما بعض السنانير المجمعة في مكان ما. إذا أحرز شخص ما تقدمًا في هذا الأمر قبل أن نفعل ذلك ، فيرجى مشاركته. بخلاف ذلك ، من المحتمل أن نصل إلى هذا في غضون الشهر المقبل مع # 227.

الاشياء leveldb تبدو رائعة! أعتقد أن الجمع بين https://github.com/feathersjs/feathers/issues/256 سيكون قاعدة جيدة لتنفيذ وظائف غير متصلة بالإنترنت حقيقية. سيجعل الامتداد التفاعلي من السهل جدًا تنفيذ أشياء مثل التخزين المؤقت من جانب العميل والذي نأمل أن يكون مجرد خطوة صغيرة إلى المزامنة الكاملة في وضع عدم الاتصال.

أنا أعمل على برمجية وسيطة Redux لدعم الاحتياجات الشائعة في وضع عدم الاتصال لـ feathersjs.

نأمل في الانتهاء من الإصدار الأول قريبًا.

تضمين التغريدة قد ترغب في إلقاء نظرة علىahdinosaur الصورة https://github.com/ahdinosaur/feathers-action وsaiichihashimoto الصورة https://github.com/saiichihashimoto/feathers-react-redux للإلهام أو ربما ل يتعاون!

شكرا لكekryski. سوف ألقي نظرة.

يحتاج الريش - رد الفعل - إعادة الإنتاج إلى بعض العمل ليكون قابلاً للاستخدام حقًا ، ولم يكن مخططًا جيدًا. ؛-)

+1 لإضافة دعم pouchdb

أعتقد أن استخدام NeDB سيكون أفضل خيار مزامنة في وضع عدم الاتصال. إنه يدعم بالفعل بناء جملة الاستعلام الكامل ، لذا يمكنك إجراء الاستعلامات عليه كما لو كنت متصلاً بالخادم. إنه يعمل بشكل يبعث على السخرية ويحتوي على محرك تخزين قابل للتوصيل للمتصفح. بالإضافة إلى ذلك ، لدينا بالفعل محول مصمم لذلك.

+1 لحل NeDB. أنا أحب ذلك للخادم أيضًا.

NeDB أو LokiJS أو PouchDB؟
مقارنة بـ NeDB ، أفضل LokiJS لأنه أسرع وكان لدى المؤلف خطة لتطوير واجهة برمجة تطبيقات متوافقة تمامًا مع mongodb.
بالنسبة إلى PouchDB ، فهو متوافق تمامًا مع CouchDB. لذلك باستخدام أمر واحد ، يمكن مزامنة قاعدة البيانات مع أي خادم CouchDB.

يبدو لوكي رائعًا جدًا.

أوصي بـ LinvoDb https://github.com/Ivshti/linvodb3
يحتوي على استعلامات مباشرة ومقاييس أفضل من NeDB

ليس لدي أي رأي حرفيًا في أفضل حل للتخزين في وضع عدم الاتصال لأنني لا أعرف أي شيء عن التخزين المحمول والتطبيقات الأولى غير المتصلة بالإنترنت بخلاف القيام بالكثير من العمل اليدوي مع التخزين المحلي. ولكن ربما يكون من المفيد إلقاء بعض السياق فيما يتعلق بما نقوم به في Headstart / ما نفكر فيه في حالة قلب بعض المفاتيح للآخرين.

نحن نتطلع إلى إضافة قدر لا بأس به من القدرة في وضع عدم الاتصال إلى تطبيقاتنا في نوفمبر ، بتوقيت ديسمبر ، لذلك لم نتعامل بعد مع جوهر المشكلة.

في غضون ذلك ، من المحتمل أن نستخدم شيئًا مثل redux-persist لبعض قدرتنا غير المتصلة بالإنترنت التي نحتاجها لـ mvp.

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

أفترض أن ما أفكر فيه هو أن هناك سببًا وراء حاجة الريش إلى دعم محول محلي متنقل نفسه؟

كما أشار ekryski ، قد تكون مجموعة من الخطافات القابلة لإعادة الاستخدام في مكتبة فكرة أفضل. محاولة دعم الكثير من المحولات للجوال وكذلك جانب الخادم قد يكون نطاقًا كبيرًا جدًا للريش لدعمه (حتى أعلاه) عدد الحلول المختلفة التي سيستخدمها الناس ويطلبونها؟

أنا شخصياً أفضل مكتبة من الخطافات توضح كيفية "الدمج" بناءً على اتصال المحمول والتي يمكن لكل شخص تطبيقها بعد ذلك على أي نظام تخزين محلي يريد استخدامه.

أتمنى أن يكون هذا منطقيًا ولم أسيء فهمه تمامًا.

@ gor181 كمرجع.

Mentioum كيف

اخترت استخدام ForerunnerDB

في الأحد ، 27 نوفمبر 2016 ، الساعة 12:12 ظهرًا Luke Browell [email protected]
كتب:

Mentioum https://github.com/Mentioum كيف تسير الامور الخاصة بك في نوفمبر / ديسمبر ،
ماذا قررت أن تستخدم؟

-
أنت تتلقى هذا لأنك علقت.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/feathersjs/feathers/issues/264#issuecomment-263144379 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/ACFSMbrn_nO1oyNsoK0F41BqaetzowkNks5rCeQqgaJpZM4HxjN7
.

>

ماكسيميليان الكسندر
[email protected]
www.maxofeden.com

يقومeddyystop ببعض الأعمال الرائعة على الصعيد غير المتصل بالإنترنت. يمكنك العثور على أدلة مع روابط لجميع المستودعات ذات الصلة على https://docs.feathersjs.com/guides/offline-first/readme.html

يجب توجيه المناقشات والأسئلة المحددة إلى المستودعات المناسبة لذلك أعتقد أنه يمكننا إغلاق هذا.

تم قفل هذه المشكلة تلقائيًا نظرًا لعدم وجود أي نشاط حديث بعد إغلاقه. الرجاء فتح مشكلة جديدة مع ارتباط لهذه المشكلة للأخطاء ذات الصلة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات