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

أنيميشن بـLottie و Rive

٢ مارس ٢٠٢٦ · ١٠ دقائق

ليه الأنيميشن مهمة في المنتجات الرقمية؟

الأنيميشن مش ديكور — هي لغة تواصل. لما المستخدم يضغط زرار ويشوف أنيميشن تأكيد، ده بيحسسه إن الحاجة اتعملت فعلا. لما يشوف loading animation لطيفة، بيستحمل الانتظار أكتر. الأنيميشن بتحول تجربة رقمية جافة لتجربة حية وممتعة.

بس المشكلة التقليدية كانت إن الأنيميشن صعبة في التنفيذ. المصمم بيصمم أنيميشن رائعة في After Effects، وبعدين المطور لازم يعيد بناءها بالكود — وفي الغالب النتيجة مبتطلعش زي التصميم الأصلي. هنا ظهرت أدوات زي Lottie و Rive عشان تحل المشكلة دي.

الأدوات دي بتخلي المصمم يصدّر الأنيميشن بشكل مباشر يتشغل في التطبيق أو الموقع من غير ما المطور يحتاج يبنيها من الصفر. النتيجة: أنيميشن بتطلع بالظبط زي ما المصمم عملها، وبحجم صغير جدا.

إيه هي Lottie؟

Lottie هي مكتبة مفتوحة المصدر طوّرتها Airbnb في 2017. بتشتغل كالتالي:

  1. المصمم بيعمل أنيميشن في Adobe After Effects
  2. بيصدّرها كملف JSON باستخدام plugin اسمه Bodymovin
  3. الملف ده بيتشغل في أي تطبيق أو موقع باستخدام مكتبة Lottie

مميزات Lottie:

  • حجم صغير جدا: ملف Lottie حجمه أصغر بكتير من GIF أو فيديو. أنيميشن 5 ثوان ممكن حجمها يكون 10KB بس
  • جودة عالية: لأنها Vector-based، بتتعرض بجودة ممتازة على أي حجم شاشة
  • أداء ممتاز: بتشتغل على 60 fps بسلاسة
  • تدعم كل المنصات: Web, iOS, Android, React Native, Flutter
  • قابلة للتحكم بالكود: المطور يقدر يتحكم في سرعة الأنيميشن، يوقفها، يشغلها عند حدث معين

عيوب Lottie:

  • محتاج After Effects للتصميم (أداة مش سهلة)
  • مش كل ميزات After Effects مدعومة — في حاجات مش بتتصدر كويس
  • الـ interactivity محدودة مقارنة بـ Rive
  • مش مناسبة لأنيميشن معقدة جدا أو ألعاب

إيه هي Rive؟

Rive (كانت اسمها Flare قبل كده) هي أداة تصميم أنيميشن متخصصة. بدل ما تصمم في After Effects وتصدّر، بتصمم الأنيميشن مباشرة في Rive Editor.

مميزات Rive:

  • أداة تصميم مدمجة: مش محتاج After Effects — بتصمم وتحرك في نفس الأداة
  • State Machine: أقوى ميزة في Rive — تقدر تعمل أنيميشن تفاعلية بتتغير حسب input المستخدم
  • حجم أصغر من Lottie: ملفات Rive عادة أصغر من ملفات Lottie المكافئة
  • Runtime سريع جدا: Rive بتشتغل على GPU مباشرة، فالأداء ممتاز
  • مجانية للاستخدام الشخصي: الأداة نفسها مجانية، والـ runtime مفتوح المصدر

عيوب Rive:

  • أداة جديدة نسبيا — المجتمع أصغر من Lottie
  • لازم تتعلم أداة جديدة من الصفر
  • بعض الميزات المتقدمة محتاجة اشتراك مدفوع
  • مش كل المطورين يعرفوها

Lottie مقابل Rive: امتى تستخدم كل واحدة؟

استخدم Lottie لما:

  • عندك مصمم motion design بيشتغل على After Effects أصلا
  • محتاج أنيميشن بسيطة ومش تفاعلية (loading, success, error)
  • المشروع محتاج أنيميشن سريعة ومش معقدة
  • الفريق بتاعك already familiar مع Lottie
  • عايز مكتبة أنيميشن جاهزة من LottieFiles

استخدم Rive لما:

  • محتاج أنيميشن تفاعلية بتتغير حسب فعل المستخدم
  • عايز تعمل أنيميشن characters أو mascots متحركة
  • محتاج State Machine — يعني أنيميشن بتتحول بين حالات مختلفة
  • عايز تصمم وتحرك في أداة واحدة من غير After Effects
  • الأداء مهم جدا (ألعاب بسيطة أو أنيميشن كتيرة في صفحة واحدة)

مقارنة سريعة:

الميزة Lottie Rive
أداة التصميم After Effects Rive Editor
التفاعلية محدودة متقدمة (State Machine)
حجم الملف صغير أصغر
الأداء ممتاز أفضل
المجتمع كبير بيكبر
سهولة التعلم متوسطة سهلة نسبيا

استخدامات عملية للأنيميشن في المنتجات

1. Onboarding Illustrations
أول شاشات التطبيق اللي بتشرح المميزات. بدل صور ثابتة، استخدم أنيميشن قصيرة بتوضح كل ميزة. ده بيزود الـ engagement وبيقلل الـ skip rate.

2. Loading States
بدل spinner ممل، استخدم أنيميشن مخصصة تعكس العلامة التجارية. Uber مثلا بيعرض أنيميشن السيارة وهي بتتحرك لما تطلب رحلة.

3. Empty States
لما صفحة تكون فاضية (مفيش رسائل، مفيش إشعارات)، أنيميشن لطيفة بتحسن التجربة وممكن توجه المستخدم يعمل حاجة.

4. Success/Error States
بدل رسالة نصية "تم بنجاح"، أنيميشن checkmark خضراء بتحسس المستخدم بالإنجاز. وأنيميشن X حمراء بتوضح الخطأ بشكل واضح.

5. Pull-to-Refresh
Lottie و Rive بيخلوك تعمل pull-to-refresh animation مخصصة وممتعة بدل الـ spinner الافتراضي.

6. Interactive Icons
أيقونات بتتحرك لما تضغط عليها — زي hamburger menu بيتحول لـ X، أو أيقونة القلب بتتملي.

7. Gamification Elements
أنيميشن المكافآت والإنجازات في التطبيقات اللي فيها gamification.

تنفيذ Lottie عمليا

للويب (HTML/JavaScript):
أبسط طريقة هي استخدام lottie-player web component:

<script src="https://unpkg.com/@lottiefiles/lottie-player/dist/lottie-player.js"></script>
<lottie-player src="animation.json" background="transparent" speed="1" loop autoplay></lottie-player>

للـ React:

import Lottie from 'lottie-react';
import animationData from './animation.json';

function MyComponent() {
  return <Lottie animationData={animationData} loop={true} />;
}

الخطوات العملية:

  1. صمم الأنيميشن في After Effects أو حمّلها من LottieFiles.com
  2. صدّرها كملف JSON
  3. أضف المكتبة المناسبة لمنصتك
  4. شغّل الأنيميشن مع التحكم في السرعة والتكرار

نصايح للأداء:

  • خلي ملف JSON صغير قدر الإمكان — قلل عدد الـ layers والـ keyframes
  • استخدم lottie-light لو مش محتاج كل الميزات
  • حمّل الأنيميشن بشكل lazy لو مش في الـ viewport
  • تجنب أنيميشن كبيرة الحجم فوق الـ fold

تنفيذ Rive عمليا

للويب:

<script src="https://unpkg.com/@rive-app/canvas"></script>
<canvas id="rive-canvas" width="500" height="500"></canvas>
<script>
  new rive.Rive({
    src: 'animation.riv',
    canvas: document.getElementById('rive-canvas'),
    autoplay: true,
  });
</script>

للـ React:

import { useRive } from '@rive-app/react-canvas';

function MyComponent() {
  const { RiveComponent } = useRive({
    src: 'animation.riv',
    autoplay: true,
  });
  return <RiveComponent />;
}

State Machine في Rive:
أقوى ميزة في Rive هي الـ State Machine. تخيل إنك بتعمل زرار:

  • الحالة الافتراضية: الزرار ساكن
  • الـ hover: الزرار بيتوهج شوية
  • الضغط: الزرار بيتضغط لجوه
  • التحميل: الزرار بيعرض loading animation
  • النجاح: الزرار بيتحول لعلامة صح

كل ده تقدر تعمله في Rive Editor بدون كود، والمطور بس بيربط الأحداث بالحالات.

الأداء وتحسين التجربة

الأنيميشن ممكن تأثر سلبا على الأداء لو مش مُحسّنة. هنا شوية قواعد مهمة:

قواعد عامة:

  • قلل حجم الملفات: أنيميشن أقل من 50KB هي المثالية. أي حاجة فوق 200KB لازم تسأل هل فعلا محتاجها
  • استخدم Lazy Loading: حمّل الأنيميشن لما تكون قريبة من الـ viewport
  • جنّب الأنيميشن على الموبايل لو كبيرة: الموبايل عنده موارد أقل من الديسكتوب
  • اختبر على أجهزة ضعيفة: مش كل المستخدمين عندهم آخر iPhone

تحسينات Lottie:

  • استخدم أداة LottieFiles optimizer لتصغير الملفات
  • قلل عدد الـ shapes والـ paths
  • تجنب الـ expressions المعقدة في After Effects
  • استخدم الـ canvas renderer بدل الـ SVG renderer للأنيميشن المعقدة

تحسينات Rive:

  • Rive بتشتغل على GPU تلقائيا فالأداء أحسن
  • استخدم الـ WASM runtime للأداء الأمثل على الويب
  • قلل عدد الـ bones في الـ mesh deformation
  • اختبر الـ State Machine مع كل الحالات الممكنة

الـ Accessibility والأنيميشن

مش كل المستخدمين بيقدروا يتعاملوا مع الأنيميشن بشكل مريح. بعض الناس عندهم حساسية للحركة (vestibular disorders) وممكن الأنيميشن تسببلهم دوخة أو صداع.

إزاي تعمل أنيميشن accessible:

  • احترم prefers-reduced-motion: لو المستخدم فعّل الإعداد ده، قلل أو وقف الأنيميشن
  • خلي الأنيميشن مش أساسية: المعلومات لازم توصل حتى من غير أنيميشن
  • تجنب الـ flashing: أي حاجة بتفلش أكتر من 3 مرات في الثانية ممكن تسبب مشاكل
  • وفّر طريقة لإيقاف الأنيميشن: زرار pause أو خيار في الإعدادات
@media (prefers-reduced-motion: reduce) {
  .animation-container {
    animation: none;
  }
}

مصادر للأنيميشن الجاهزة

مش لازم تصمم كل حاجة من الصفر. في مكتبات كبيرة من الأنيميشن الجاهزة:

لـ Lottie:

  • LottieFiles.com: أكبر مكتبة — فيها آلاف الأنيميشن المجانية والمدفوعة
  • IconScout: فيها قسم كبير لأنيميشن Lottie
  • Motion Elements: أنيميشن احترافية

لـ Rive:

  • Rive Community: المجتمع بيشارك ملفات مفتوحة
  • Rive Examples: أمثلة رسمية من Rive
  • GitHub: في repos كتير فيها ملفات Rive مفتوحة

نصيحة: حتى لو بتستخدم أنيميشن جاهزة، خصصها للعلامة التجارية بتاعتك. غيّر الألوان على الأقل عشان تتناسب مع الـ design system.

الخلاصة

Lottie و Rive غيّروا طريقة تعاملنا مع الأنيميشن في المنتجات الرقمية. بقى ممكن تضيف أنيميشن احترافية بحجم صغير وأداء عالي من غير ما المطور يحتاج يبني كل حاجة بالكود.

لو بتبدأ، ابدأ بـ Lottie — المكتبة أكبر والمجتمع أنضج. حمّل أنيميشن جاهزة من LottieFiles واستخدمها في مشروعك. لما تحتاج تفاعلية أكتر أو عايز تصمم أنيميشن من الصفر بأداة أسهل من After Effects، جرّب Rive.

المهم تفتكر إن الأنيميشن وسيلة مش غاية. الهدف دايما هو تحسين تجربة المستخدم — مش إبهاره. أنيميشن بسيطة في المكان المناسب أحسن بكتير من أنيميشن معقدة في كل مكان.

اختبر فهمك

السؤال ١ من

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

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

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

شارك المقال

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