- Reflect, Figma, Notion, और Google Sheets जैसे मल्टीप्लेयर वेब एप्लिकेशन बनाने के लिए एक नया फ्रेमवर्क है.
- यह क्लाइंट-साइड सिंक्रोनाइज़ेशन फ्रेमवर्क Replicache का विकसित संस्करण है, और मल्टीप्लेयर ऐप डेवलपमेंट को आसान बनाने के लिए इसमें पूरी तरह managed server जोड़ा गया है.
- Reflect अब पहली बार सार्वजनिक रूप से उपलब्ध है.
- यह फ्रेमवर्क collaborative editing में conflict resolution की समस्या को संभालता है, ताकि सभी users एक ही content देखें और conflicts स्वाभाविक रूप से resolve हो जाएँ.
- CRDTs (Conflict-Free Replicated Data Types) जैसे लोकप्रिय web ecosystem tools के विपरीत, Reflect वीडियो गेम इंडस्ट्री में लोकप्रिय Transactional Conflict Resolution तकनीक का उपयोग करता है.
- Reflect के अनोखे फायदे और अंतर इसके synchronization engine के मूल चयन से आते हैं.
- Reflect बदलावों को लागू करने के लिए
mutators नामक JavaScript functions का उपयोग करता है, और mutator के call होने पर mutation record बनाया जाता है.
- Mutation को लोकल में apply किया जाता है और server पर stream किया जाता है, जहाँ server arrival time के आधार पर mutations को linearize करके अगली authoritative state बनाता है.
- Reflect तेज़ी से बदलने वाले applications को संभाल सकता है, और पहले वाले mutations की पुष्टि का इंतज़ार करते हुए भी नए mutation जोड़ता रहता है.
- इस फ्रेमवर्क को ऐसा तेज़ data store चाहिए जो rewind, fork और branch creation कर सके, और ऐसा तेज़ server-side store भी चाहिए जो incoming mutations के साथ तालमेल बनाए रख सके.
- Reflect का approach अच्छी तरह generalize होता है, इसलिए यह arithmetic operations, list operations, और high-level invariants enforcement जैसे विभिन्न कार्यों के लिए उपयुक्त है.
- Reflect का server authoritative होता है, mutation के परिणामों की स्वयं फिर से गणना करता है, और सभी clients उस परिणाम को देख सकते हैं.
- यह server authority granular authentication और server पर अन्य code execution को संभव बनाती है.
- Reflect schema validation और migrations जैसे लाभ भी प्रदान करता है.
- Reflect की synchronization strategy, Transactional Conflict Resolution, सरल, लचीली और शक्तिशाली है, इसलिए यह मल्टीप्लेयर applications बनाने के लिए एक अच्छा विकल्प है.
1 टिप्पणियां
Hacker News राय