منظومة إضافات Figma كبيرة. هناك إضافات لتصدير الرموز وتعليقات الكود وأدلة الأنماط وفحوصات إمكانية الوصول وتوليد الكود. حين يقول شخص ما "أداة Figma-to-code"، يعني دائماً تقريباً إضافة. figmascope ليست إضافة. إليك لماذا يهمّ ذلك ومتى لا يهمّ.
نموذج الإضافة
تعمل إضافات Figma داخل iframe في صندوق رمل ضمن تطبيق Figma سطح المكتب أو الويب. تحصل على إمكانية الوصول إلى Figma plugin API — واجهة JavaScript تعرض شجرة العقد للملف الحالي والأنماط والمكوّنات والمتغيرات. يمكن للإضافة قراءة هذه البيانات وتحويلها وكتابة النتائج مجدداً إلى الملف أو تصدير الملفات إلى النظام المحلي للمستخدم عبر حوار حفظ Figma.
Figma plugin API غنية. يمكنك اجتياز كل عقدة وقراءة الأنماط المحسوبة والوصول إلى تعريفات المكوّنات والاستعلام عن المتغيرات وحتى تقديم طلبات شبكة من طبقة واجهة مستخدم الإضافة. لمعظم مهام "اقرأ بيانات التصميم وافعل شيئاً بها"، Figma plugin API كافية.
تُوزَّع الإضافات عبر متجر Figma Community أو كإضافات فريق خاصة. يثبّتها المستخدمون عبر واجهة Figma. تأتي التحديثات عبر استضافة إضافات Figma. حساب المطوّر الذي نشر الإضافة يمكنه دفع التحديثات؛ يحصل عليها المستخدمون في المرة التالية التي يشغّلون فيها الإضافة.
إضافات Figma-to-code الشهيرة: Locofy (مُغطاة في مقارنة Locofy)، وTokens Studio (مزامنة رموز التصميم)، وFigma to Code (مفتوحة المصدر لـ Flutter/SwiftUI/Jetpack Compose)، وعشرات الأدوات الأكثر تخصصاً.
قيود الإضافات
تعمل فقط داخل Figma. لتشغيل إضافة، تفتح Figma وتفتح الملف وتفتح الإضافة وتُشغِّل التصدير. لا يمكن استدعاء الإضافة من طرفية أو وظيفة CI أو سكريبت أو أي سياق خارج تطبيق Figma. لا CLI. لا API يمكن ضربه. سياق التنفيذ بالكامل هو واجهة مستخدم Figma.
تنفيذ وقت التشغيل فقط. الإضافات لا تعمل في الخلفية. تعمل حين يفتحها إنسان وينقر على الزر. التصديرات المجدوَلة وخطوط الأنابيب الآلية والتكامل البرمجي غير ممكنة من خلال نموذج الإضافة.
حرّاس متجر الإضافات. نشر إضافة Figma عامة يتطلب مراجعة Figma وموافقتها. التحديثات تتطلب إعادة المراجعة. إذا غيّرت Figma سياسة المراجعة أو قرّرت أن إضافة تتعارض مع مصالحها، يمكن إزالة الإضافة أو تقييدها. الإضافات الخاصة للفريق تتجاوز المتجر لكنها لا تزال تعمل داخل صندوق رمل Figma وتعتمد على بنية إضافات Figma التحتية.
قيود الموارد. صندوق رمل الإضافة محدود في الذاكرة ووقت التنفيذ. ملفات Figma الكبيرة ذات التسلسلات الهرمية المعقدة يمكن أن تُوقِف الإضافة بالمهلة أو تُعطِّلها. واجهة مستخدم الإضافة تعمل في iframe بوصول محدود — لا وصول لنظام الملفات المحلي إلا عبر حوار تصدير Figma، ولا وصول شبكة تعسفي من الخيط الرئيسي.
تناقضات متعددة المنصات. تطبيق Figma سطح المكتب وتطبيق الويب لهما سلوك Figma plugin API مختلف قليلاً في بعض الحالات الحدية. الإضافات التي تعمل بشكل مثالي في أحدهما قد تكون لها تغريبات في الآخر.
احتكاك التثبيت لتوزيع الفريق. كل مطوّر يحتاج تشغيل الإضافة يثبّتها بشكل منفصل. اتساق الإصدار عبر الفريق يعتمد على آلية التحديث التلقائي لـ Figma. إذا احتجت تثبيت إصدار محدد، ذلك ليس مباشراً.
النهج الخارجي لـ figmascope
figmascope لا تلمس نظام الإضافات أبداً. تعمل في تبويب متصفح قياسي — أي متصفح، لا تطبيق Figma مطلوب — وتستدعي Figma REST API مباشرةً باستخدام رمز وصول شخصي يوفّره المستخدم. PAT محتجَز في الذاكرة فقط، لا يُرسَل لأي خادم.
Figma REST API هو نفس مصدر البيانات الذي تستقي منه Figma plugin API، لكن يُصَل إليه خارجياً. تجلب figmascope JSON الملف وتعالج شجرة العقد على جانب العميل (كل الحساب يحدث في متصفحك)، وتُنتج حزمة السياق. استدعاءات API تذهب مباشرةً من متصفحك إلى خوادم Figma. البنية التحتية الخاصة بـ figmascope ليست في مسار البيانات.
لهذا عدة آثار:
لا تثبيت. افتح تبويباً والصق رابط Figma وPAT الخاص بك وانقر على تصدير. لا شيء للتثبيت، لا حساب للإنشاء، لا إضافة للبحث عنها في متجر Community. يمكن لأي شخص لديه متصفح استخدامه — بما فيهم المطوّرون غير المستخدمين لـ Figma الذين لم يثبّتوا التطبيق.
قابل للسكرتة من حيث المبدأ. لأن figmascope مبني على REST API، يمكن إعادة إنتاج نفس الاستدعاءات التي يجريها برمجياً. قاعدة الكود MIT مفتوحة للتفتيش. إذا أردت بناء سكريبت يُصدِّر حزمة من سطر الأوامر بدون فتح متصفح، مصدر figmascope يُظهر لك بالضبط كيفية استدعاء API ومعالجة الاستجابة.
متوافق مع CI/CD من حيث المبدأ. خط أنابيب تصدير headless ممكن تحقيقه: استدعاءات Figma REST API ونفس منطق معالجة IR ونفس تنسيق الحزمة. تطبيق المتصفح لـ figmascope لا يعمل في CI مباشرةً (إنه أداة متصفح)، لكن النهج المعماري — REST API ومعالجة حتمية وإخراج ملف عادي — ملائم لـ CI بتصميمه. لا شيء في النموذج يتطلب واجهة مستخدم رسومية.
لا تبعية لمتجر الإضافات. figmascope مستضافة على نطاق، مفتوحة المصدر على GitHub. لا تعتمد على بنية إضافات Figma التحتية أو عملية المراجعة. لا يمكن لـ Figma إزالتها من متجر. إذا تعطّل النطاق، يمكنك تشغيله محلياً من المستودع — إنه HTML/JS ثابت بالكامل.
لا تطبيق Figma مطلوب. يمكن لمطوّر تصدير سياق لملف Figma لم يفتحه أبداً في تطبيق Figma، باستخدام رابط Figma مشترك وPAT فقط. يهمّ هذا لسير العمل حيث لا يستخدم المهندسون Figma مباشرةً لكنهم يحتاجون مواصفة التصميم.
ما تفعله الإضافات بشكل أفضل
لنكن منصفين. الإضافات لها مزايا حقيقية لا يُكرِّرها النهج الخارجي للـ API.
التعليقات التوضيحية داخل اللوحة. يمكن للإضافات الكتابة مجدداً إلى ملف Figma — إضافة تعليقات توضيحية وتعيين خصائص المكوّنات وتعليم الإطارات كجاهزة ونشر تعليقات. figmascope للقراءة فقط. إذا احتجت أداة تقوم بعمل جانب التصميم داخل Figma، تحتاج إضافة.
سياق اللوحة المباشر. الإضافة تعرف ما المحدَّد. يمكنها الاستجابة لتغييرات التحديد ومراقبة تحديثات العقد والتفاعل مع العمل التصميمي الجاري. figmascope تأخذ لقطة. لا يملك وصولاً مباشراً للوحة.
توزيع الفريق عبر Figma org. إذا كان فريقك بالكامل في خطة Figma org، فدفع إضافة خاصة للفريق بسيط. الجميع لديه الإضافة في حالة Figma الخاصة بهم. للتوزيع عبر الفريق داخل مؤسسة، نموذج الإضافة مدعوم جيداً.
تفاعل أغنى في واجهة Figma. يمكن للإضافة عرض واجهة مستخدم مخصصة داخل لوحة والاستجابة لتفاعل المستخدم وتوفير ملاحظات فورية داخل سير عمل المصمّم الموجود. واجهة figmascope تبويب متصفح منفصل — تبديل سياق.
مقارنة
| البُعد | إضافات Figma (عامة) | figmascope |
|---|---|---|
| تعمل داخل Figma | نعم — iframe في صندوق رمل | لا — تبويب متصفح خارجي |
| يتطلب تطبيق/حساب Figma | نعم | فقط PAT (يعمل بحساب Figma مجاني) |
| تثبيت مطلوب | نعم — Figma Community أو تثبيت فريق | لا — افتح في المتصفح |
| قابل للسكرتة / الأتمتة | لا — تنفيذ واجهة مستخدم فقط | نعم من حيث المبدأ — قائم على REST API |
| متوافق مع CI/CD | لا | المعمارية ملائمة لـ CI |
| الكتابة مجدداً إلى Figma | نعم — يمكن إنشاء/تحديث العقد | لا — للقراءة فقط |
| التعليقات التوضيحية داخل اللوحة | نعم | لا |
| سياق تحديد اللوحة المباشر | نعم | لا — لقطة فقط |
| مقيَّد بمراجعة متجر الإضافات | نعم (الإضافات العامة) | لا |
| خصوصية البيانات | يعتمد على الإضافة — قد ترسل بيانات لخوادم البائع | جميع المعالجة في متصفحك؛ PAT لا يغادر جهازك أبداً |
| تنسيق الإخراج | متفاوت — JSON وملفات كود وتعليقات توضيحية وحافظة | حزمة منظَّمة: CONTEXT.md، tokens.json، screens/*.json، *.png |
| IR محسَّن للوكيل | نادراً — معظم الإضافات تستهدف الاستهلاك البشري | نعم — stack/overlay/absolute/leaf مع componentId وstringRef |
| إخراج قابل للتحكم بالإصدارات | يعتمد على الإضافة | نعم — الحزمة هي JSON + Markdown قابل للمقارنة |
| مفتوح المصدر | بعض الإضافات كذلك؛ كثير منها ليس كذلك | نعم — MIT |
زاوية خصوصية البيانات
حين تُقدِّم إضافة Figma طلبات شبكة، يمكن أن تغادر بيانات تصميمك متصفحك وتذهب إلى خوادم بائع الإضافة. أنت تثق في سياسة خصوصية الإضافة وبنيتها التحتية. للعديد من الفرق، هذا مقبول. لبعضها — فرق المؤسسات بتصاميم مشمولة بـ NDA أو الوكالات التي تعمل مع ملفات عملاء حساسة — إنه مصدر قلق حقيقي.
النهج الخارجي لـ figmascope مختلف. جميع المعالجة تحدث في تبويب متصفحك. استدعاءات REST API تذهب من متصفحك إلى خوادم Figma (نفس الاستدعاءات التي يجريها متصفحك حين تستخدم Figma عادةً). خوادم figmascope الخاصة ليست في المسار. بيانات تصميمك لا تذهب في أي مكان إلا API لـ Figma. PAT في الذاكرة ويُمسح حين تغلق التبويب.
هذه ميزة هيكلية للنهج الخارجي للمتصفح على الإضافات التي تعتمد على خادم بائع.
متى تختار أياً منهما
استخدم إضافة Figma حين: تحتاج التعليق التوضيحي أو الكتابة مجدداً إلى الملف، تريد تفاعلاً داخل اللوحة كجزء من سير عمل مصمّم، فريقك بالكامل في Figma والتوزيع عبر آلية الإضافة مريح، أو الإضافة التي تحتاجها لها واجهة مستخدم محددة داخل Figma لا يمكن لنهج REST API تكرارها.
استخدم figmascope حين: تحتاج حزمة سياق محمولة ومُتحكَّم بإصداراتها لتوليد كود الوكيل، تريد لا تثبيت ولا تبعية للمتجر، تهتم بخصوصية البيانات ولا تريد إرسال بيانات التصميم لبائع إضافة خارجي، تريد أن يعيش الإخراج في مستودع git جانباً من كودك، أو تريد عملية تصدير قابلة للشرح والتكرار.
لمعظم سير عمل توليد الكود للإنتاج مع وكلاء الذكاء الاصطناعي، نموذج الإضافة يُضيف احتكاكاً لا يمكنه استرداده. الإضافة تعمل في Figma. الوكيل يعمل في محررك. نقل مواصفة التصميم من أحدهما إلى الآخر عبر إضافة يتطلب إما نسخاً ولصقاً يدوياً أو إضافة تكتب على القرص — وعندها لديك ملف معتم من خط أنابيب معتم. إخراج figmascope قابل للتفتيش ومنظَّم ومُصمَّم صراحةً لذلك التسليم للوكيل.