تحرير متعدد اللاعبين في Figma: نهج CRDT مبسط
2025-08-19

قبل أربع سنوات، شرعت Figma في بناء وظائف تعدد اللاعبين، واختارت نظامًا مخصصًا بدلاً من خوارزمية تحويل التشغيل (OT) الشائعة. بدافع من الحاجة إلى التكرار السريع ومخاوف بشأن تعقيد OT، فقد ابتكروا حلاً أبسط. تشرح هذه المقالة بالتفصيل بنية نظام تعدد اللاعبين في Figma، بما في ذلك بنيته المعمارية للعميل/الخادم، واتصال WebSocket، وقدرات التحرير دون اتصال، ومزامنة البيانات. على الرغم من استلهامه من CRDTs (أنواع البيانات المتكررة الخالية من التعارضات)، فإن تنفيذ Figma ينحرف عن الالتزام الصارم بـ CRDT، مستفيدًا من مبادئه مع الاستفادة من خادم مركزي لتحقيق الكفاءة والبساطة. تقارن المقالة بين OT و CRDT، وتعمق في تصميم بنية بيانات Figma وكيفية تعاملها مع حالات الحد.
التطوير
التعاون متعدد اللاعبين