إيهاب فايز Webflow Premium Partner
احجز مكالمة
العودة لمسار التعلم
UI المرحلة 2 — المرحلة الثانية: التصميم البصري

النمذجة والتفاعل

٢ مارس ٢٠٢٦ · ١١ دقيقة

لماذا النمذجة مهمة؟

تصميم ثابت على Figma هو نصف الشغل بس. المستخدم مش بيتعامل مع صور ثابتة — بيضغط، بيمرر، بيكتب، بيمسح. النمذجة (Prototyping) هي اللي بتحوّل التصميم الثابت لتجربة حية يقدر المستخدم يتفاعل معاها.

فوائد النمذجة:

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

مستويات النمذجة (Fidelity Levels)

مش كل النماذج محتاجة نفس مستوى التفاصيل. اختار المستوى المناسب حسب الهدف:

١. نموذج منخفض الدقة (Low-Fidelity)

الشكل: رسومات يدوية على ورق أو Wireframes بسيطة
الهدف: اختبار التدفق الأساسي — هل الخطوات منطقية؟
متى تستخدمه: في بداية المشروع لما تستكشف حلول مختلفة
الوقت: دقايق لساعات
الأدوات: ورقة وقلم، Whimsical، Balsamiq

٢. نموذج متوسط الدقة (Mid-Fidelity)

الشكل: Wireframes تفاعلية بألوان رمادية ومحتوى حقيقي
الهدف: اختبار هيكل الصفحة وترتيب العناصر والتنقل
متى تستخدمه: بعد ما تحدد التدفق الأساسي وعايز تفاصيل أكتر
الوقت: ساعات ليوم
الأدوات: Figma، Sketch

٣. نموذج عالي الدقة (High-Fidelity)

الشكل: التصميم النهائي بكل التفاصيل — ألوان وخطوط وصور وتفاعلات
الهدف: اختبار التجربة الكاملة والحصول على موافقة نهائية
متى تستخدمه: قبل التطوير مباشرة أو لاختبارات المستخدمين التفصيلية
الوقت: أيام
الأدوات: Figma، Principle، ProtoPie

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

النمذجة في Figma

Figma فيها نظام نمذجة قوي مدمج. خلينا نتعلم أساسياته:

إعداد الـ Prototype Mode

  1. اضغط على تبويب Prototype في اللوحة اليمنى
  2. اختار الإطار (Frame) اللي عايز يكون نقطة البداية
  3. اضغط Set as Starting Frame — ده أول شاشة هتظهر للمستخدم

إضافة التفاعلات (Interactions)

كل تفاعل في Figma بيتكون من ثلاث أجزاء:

١. المُحفّز (Trigger) — أيه اللي بيبدأ التفاعل:

  • On Click / On Tap: لما المستخدم يضغط — الأكتر شيوعًا
  • On Hover: لما يمرر الماوس فوق العنصر (ديسكتوب بس)
  • On Drag: لما يسحب عنصر
  • While Pressing: طول ما بيضغط
  • After Delay: بعد مدة زمنية محددة — مناسب للشاشات الافتتاحية

٢. الإجراء (Action) — أيه اللي بيحصل:

  • Navigate To: الانتقال لشاشة تانية
  • Open Overlay: فتح نافذة فوق الشاشة الحالية (Modal, Dropdown)
  • Close Overlay: إغلاق النافذة المنبثقة
  • Swap Overlay: تبديل نافذة بنافذة تانية
  • Back: الرجوع للشاشة السابقة
  • Scroll To: التمرير لعنصر معين في الصفحة

٣. الانتقال (Transition) — إزاي الحركة بتحصل:

  • Instant: تغيير فوري بدون حركة
  • Dissolve: ذوبان — الشاشة بتختفي تدريجيًا والجديدة بتظهر
  • Move In/Out: الشاشة بتدخل أو بتخرج من اتجاه معين
  • Push: الشاشة الجديدة بتزق القديمة
  • Slide In/Out: انزلاق
  • Smart Animate: الأذكى — Figma بتحرك العناصر المتشابهة تلقائيًا

Smart Animate بالتفصيل

Smart Animate هي أقوى ميزة في نمذجة Figma. بتشتغل بمبدأ بسيط: لو فيه عنصر بنفس الاسم في شاشتين، Figma بتحرّكه من مكانه في الأولى لمكانه في التانية.

مثال: عندك كارد صغير في شاشة القائمة. لما المستخدم يضغط عليه، ينتقل لشاشة التفاصيل اللي فيها نفس الكارد أكبر. لو الاسم نفسه في الشاشتين، Smart Animate هتعمل حركة توسيع سلسة.

نصيحة: سمّي طبقاتك (Layers) بشكل منظم ومتسق. ده مش بس بيساعد في Smart Animate — بيسهّل الشغل مع المطورين كمان.

أنواع التفاعلات (Interaction Types)

١. التفاعلات الأساسية (Micro-interactions)

حركات صغيرة بتحصل استجابةً لإجراء المستخدم:

  • Toggle Switch: بيتغير من On لـ Off بحركة انزلاق
  • زر Like: بيتغير شكله ولونه لما يتضغط عليه
  • حقل الإدخال: الحدود بتتغير لونها لما المستخدم يركز فيه
  • Checkbox: علامة الصح بتظهر بحركة صغيرة

٢. التفاعلات التنقلية (Navigation Interactions)

الحركات المرتبطة بالانتقال بين الشاشات:

  • Push Transition: الشاشة الجديدة بتزق القديمة — مناسب للتنقل للأمام
  • Slide from Bottom: شاشة بتطلع من تحت — مناسب لـ Modal و Bottom Sheet
  • Fade: ذوبان — مناسب لتبديل المحتوى في نفس الصفحة
  • Hero Animation: عنصر بيكبر ويتحول من الشاشة الأولى للتانية

٣. تفاعلات التحميل (Loading Interactions)

  • Skeleton Animation: عناصر رمادية بتلمع (Shimmer Effect)
  • Progress Bar Animation: شريط بيملأ تدريجيًا
  • Pull to Refresh: سحب لأسفل لتحديث المحتوى

٤. تفاعلات الإيماءات (Gesture Interactions)

خاصة بالموبايل:

  • Swipe to Delete: مسح يمين أو يسار لحذف عنصر
  • Pinch to Zoom: تكبير بإصبعين
  • Long Press: ضغط طويل لفتح قائمة خيارات

مبادئ تصميم التفاعل

١. التغذية الراجعة (Feedback)

كل إجراء من المستخدم لازم يكون له رد فعل:

  • ضغط زر → تغيير لون أو حجم
  • إرسال نموذج → رسالة تأكيد
  • خطأ في الإدخال → رسالة خطأ واضحة

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

٢. الاتساق (Consistency)

نفس الإجراء لازم يعطي نفس النتيجة في كل مكان:

  • كل الأزرار الرئيسية بتتصرف بنفس الطريقة
  • التنقل للأمام دايمًا بنفس الحركة
  • الرجوع للخلف دايمًا بنفس الحركة (بس معكوسة)

٣. السرعة المناسبة

التفاعلات لازم تكون سريعة كفاية عشان ما تبطئش المستخدم، وبطيئة كفاية عشان المستخدم يلاحظها:

  • Micro-interactions: ١٠٠-٢٠٠ms
  • انتقالات بين الشاشات: ٢٠٠-٤٠٠ms
  • عناصر كبيرة (Modal, Page): ٣٠٠-٥٠٠ms

قاعدة: لو الحركة أقل من ١٠٠ms المستخدم مش هيحس بيها. لو أكتر من ٥٠٠ms هيحس إن التطبيق بطيء.

٤. التوقع (Anticipation)

الحركة لازم تكون متوقعة — يعني المستخدم يقدر يتنبأ بأيه هيحصل:

  • زر بيكبر شوية لما يمرر الماوس عليه → توقع إنه قابل للضغط
  • شاشة بتتحرك من اليمين → توقع إنها هتتحرك لليمين لما يرجع

٥. الطبيعية (Natural Motion)

الحركات في الطبيعة مش خطية — الأشياء بتبدأ ببطء وبتسرّع ثم تبطئ قبل ما توقف. ده اسمه Easing:

  • Ease-in-out: أنعم حركة — تبدأ وتنتهي ببطء. الأفضل لأغلب الحالات
  • Ease-out: تبدأ سريعة وتبطئ. مناسبة لعناصر بتدخل الشاشة
  • Ease-in: تبدأ بطيئة وتسرّع. مناسبة لعناصر بتخرج من الشاشة
  • Linear: سرعة ثابتة — تبان ميكانيكية وغير طبيعية. تجنبها

التفاعلات الدقيقة (Micro-interactions) بالتفصيل

التفاعلات الدقيقة هي التفاصيل اللي بتفرق بين تطبيق عادي وتطبيق ممتاز. هي حركات صغيرة بتخلي التجربة حية ومُرضية.

تشريح الـ Micro-interaction

كل تفاعل دقيق بيتكون من ٤ أجزاء:

  1. المُحفّز (Trigger): أيه اللي بيبدأ التفاعل — ضغطة، مرور الماوس، إدخال بيانات
  2. القواعد (Rules): أيه بالظبط اللي بيحصل — تغيير لون، حركة، صوت
  3. التغذية الراجعة (Feedback): أيه اللي المستخدم بيشوفه أو بيحس بيه
  4. الحلقات والأنماط (Loops & Modes): هل التفاعل بيتكرر؟ هل بيتغير مع الوقت؟

أمثلة على Micro-interactions ناجحة

  • زر Like في إنستجرام: القلب بيكبر ويتلون بحركة نابضة
  • Pull to Refresh: الأيقونة بتتحرك مع حركة الإصبع ثم بتدور
  • مؤشر الكتابة في تطبيقات الدردشة: النقط الثلاثة المتحركة
  • شريط التقدم في لينكدإن: "ملفك الشخصي ٧٠٪ مكتمل"
  • اهتزاز حقل كلمة المرور لما تكون غلط: حركة اهتزاز سريعة بتوصل إحساس "لأ، غلط"

ما تبالغش

التفاعلات الدقيقة لازم تكون دقيقة فعلاً. لو كل عنصر في الشاشة بيتحرك ويتنطط، التجربة هتبقى مُرهقة ومشتتة. القاعدة: التفاعل لازم يخدم هدف — لو مالوش وظيفة واضحة، شيله.

بناء نموذج تفاعلي في Figma — خطوة بخطوة

خلينا نبني نموذج لتدفق تسجيل دخول كامل:

الخطوة ١: جهّز الشاشات

صمّم الشاشات التالية:

  • شاشة الترحيب (Welcome)
  • شاشة تسجيل الدخول (Login)
  • شاشة التحقق (Verification)
  • الشاشة الرئيسية (Home)
  • حالة خطأ في تسجيل الدخول

الخطوة ٢: حدد التدفق

  • Welcome → Login (ضغط زر "تسجيل دخول")
  • Login → Verification (ضغط زر "إرسال" بعد إدخال البيانات)
  • Login → Error State (بيانات خاطئة)
  • Verification → Home (إدخال الكود الصحيح)

الخطوة ٣: أضف التفاعلات

  1. اختار زر "تسجيل دخول" في شاشة Welcome
  2. من Prototype panel، اسحب خط للشاشة التالية
  3. اختار: On Click → Navigate To → Login
  4. الانتقال: Smart Animate، ٣٠٠ms، Ease-in-out

الخطوة ٤: أضف Overlays

  • Modal الخطأ: On Click → Open Overlay → Position: Center → Background: Dim
  • زر إغلاق: On Click → Close Overlay

الخطوة ٥: أضف Component Interactions

غيّر حالة الزر (Default → Hover → Pressed) باستخدام Interactive Components. كل حالة بتكون Variant في Component Set.

الخطوة ٦: اختبر وشارك

  1. اضغط Play (▶) لتجربة النموذج
  2. من Share، انسخ الرابط وابعته لأي حد يجرّب
  3. فعّل Allow Commenting عشان يقدروا يسيبوا ملاحظات

أدوات نمذجة متقدمة

لما احتياجاتك تتخطى إمكانيات Figma:

  • ProtoPie: لتفاعلات معقدة تعتمد على بيانات حقيقية وحساسات الموبايل
  • Principle: لحركات سلسة ومعقدة على macOS
  • Framer: لنماذج تفاعلية بكود حقيقي (React)
  • Origami Studio (Meta): لتفاعلات متقدمة مع تكامل مع React Native

نصيحة: Figma كافية لـ ٩٠٪ من احتياجاتك. ما تروحش لأداة تانية إلا لو عندك سبب محدد.

أخطاء شائعة في النمذجة

١. نمذجة كل شيء

مش لازم كل زر في التطبيق يشتغل في النموذج. ركّز على التدفقات الأساسية اللي هتختبرها.

٢. تفاعلات مش واقعية

النموذج لازم يمثل التجربة الحقيقية. ما تحطش حركات فانتازية مش هتتنفذ في التطوير.

٣. تجاهل حالات الخطأ

النموذج الناجح بيشمل مسارات الخطأ — أيه بيحصل لو المستخدم أدخل بيانات غلط؟ أيه لو الإنترنت وقع؟

٤. عدم مشاركة النموذج

نموذج ما حدش جرّبه مالوش قيمة. شاركه مع الفريق والمستخدمين وخد ملاحظاتهم.

تمرين عملي

ابني نموذج تفاعلي لتطبيق توصيل طعام:

  1. شاشة رئيسية: قائمة مطاعم + بحث + تصفية
  2. صفحة مطعم: قائمة الأطباق مع إمكانية الإضافة للسلة
  3. السلة: عرض الطلب + زر الدفع
  4. تأكيد الطلب: ملخص + رسالة نجاح

التفاعلات المطلوبة:

  • انتقال بين الشاشات (Smart Animate)
  • إضافة للسلة (Micro-interaction — عداد بيزيد)
  • Modal تأكيد الطلب (Overlay)
  • حالة فارغة للسلة (Empty State)
  • تأثير الضغط على الأزرار (Hover + Pressed states)

ده التمرين هيجمع كل اللي اتعلمته — ابدأ بالتدفق الأساسي وبعدين ضيف التفاصيل.

اختبر فهمك

السؤال ١ من

سجّل عشان تبدأ الاختبار

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

بياناتك آمنة تقدر تلغي الاشتراك في أي وقت

شارك المقال

شارك على X
شارك على LinkedIn
شارك على Facebook
شارك على WhatsApp
شارك على Telegram
نسخ الرابط