تخيل أنك مطوّر تطبيقات عندك صندوق أدوات قديم (Material 2) مليان عناصر جاهزة: أزرار، مربعات إدخال، قوائم… إلخ. هذا الصندوق ممتاز، لكنه صار تقليدي بعض الشيء، شكله موحّد وما في مساحة كبيرة للتخصيص.

هنا جوجل قدّمت لك Material 3: صندوق أدوات أحدث، أنيق، وأكتر مرونة.
الفرق مش بس في الألوان والأشكال، بل في الفلسفة الكاملة للتصميم.

  • Material 2 كان مبني على مبدأ التوحيد: كل التطبيقات شبه بعضها.
  • Material 3 يعطيك شخصية وهوية: تطبيقك يعكس براندك، ألوانك، وشخصيتك.

الفروقات الرئيسية بين Material 2 و Material 3

  1. التخصيص والهوية (Personalization)
    • في Material 2 كنت محكوم بلوحة ألوان ثابتة تقريبًا.
    • في Material 3 صار عندك Dynamic Color: التطبيق يقدر يولّد لوحة ألوان متكاملة بناءً على صورة أو ثيم النظام.
      → مثال: تطبيقك يغيّر ألوانه ليتماشى مع خلفية الهاتف.
  2. الأزرار (Buttons)
    • Material 2: FlatButton, RaisedButton, OutlineButton.
    • Material 3: كله اتوحّد في TextButton, ElevatedButton, OutlinedButton, FilledButton (مع تنسيقات أوضح).
      → الآن زر “Filled” صار يرمز للإجراء الأساسي.
  3. المكوّنات الجديدة (New components)
    • Navigation Bar (بديل عن BottomNavigationBar).
    • Navigation Drawer بتصميم حديث.
    • FAB جديد بأشكال متعددة (small, regular, large, extended).
    • Cards صار لها أنماط متعددة بدل الشكل الموحد القديم.
  4. Typography (الخطوط)
    • Material 2: مجموعة ثابتة من text styles (headline1, headline2…).
    • Material 3: نظام أبسط وأكثر مرونة (Display, Headline, Title, Body, Label).
      → أسهل في التذكر والاستخدام.
  5. الزوايا والظلال (Shape & Elevation)
    • Material 2: كثير اعتماد على الظلال.
    • Material 3: أكثر اعتماد على الألوان والتباين، مع زوايا مستديرة أكثر.

لماذا الترقية إلى Material 3؟

  1. مستقبل Flutter والجوجل كله يتجه لـ Material 3، والدعم القادم هيركز عليها.
  2. سهولة تخصيص الثيم: بدل ما تكتب مئات الأسطر لضبط الألوان، صار كل شيء أوتوماتيكي.
  3. تحديث بصري يجعل تطبيقك حديث ومتوافق مع Android 12+ و iOS.
  4. استمرار التوافق: Flutter يحاول يخلي M2 وM3 يشتغلوا مع بعض (بس الأفضل تعتمد الجديد).

متى لا يُفضل الترقية الآن؟

  1. إذا كان تطبيقك قديم جدًا ومبني على مكتبات أو Widgets غير متوافقة مع M3.
  2. إذا كان عندك تصميم مخصص تمامًا (Custom Design) مش محتاج لمكتبة Material أصلاً.
  3. إذا كان العميل يريد التطبيق يظل ثابت شكليًا (بمعنى: لا يريد أن “يتغير مظهره” فجأة).
  4. لو عندك ضغط وقتي لتسليم المشروع: بعض التغييرات في الـ buttons أو الـ typography ممكن تسبب مشاكل تحتاج تعديل يدوي.

كيف تهاجر من Material 2 إلى Material 3؟

  1. فعّل M3 في الثيم:
return MaterialApp(
  theme: ThemeData(
    useMaterial3: true,
    colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
  ),
  home: MyHomePage(),
);

  1. جرّب تشغيل التطبيق: هتشوف مباشرة تغييرات في الأزرار، الألوان، التايبوجرافي.
  2. راجع كل Widget: بعض المكونات اختلفت (زي الـ NavigationBar).
  3. لو حصل كسر (Breaking Change):

الخلاصة

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

By احمد علي

مطور تطبيقات هواتف ذكية باستخدام Flutter، وصانع محتوى تقني يكتب عن الذكاء الاصطناعي والبرمجة وتطورات التكنولوجيا الحديثة. أسعى لتبسيط الأفكار المعقدة ومشاركة خبرتي مع المهتمين بالمجال.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *