Records in Flutter

واحدة من المزايا الجديدة اللي نزلت في لغة Dart 3 هي الـ Records، والـ Record واحدة من الـ Data Structure اللي بتتميز انها بتقدر تخزن عدد ثابت من القيم من أنواع مختلفة.
Records in Flutter
Records in Flutter

في هذه الصفحة

المقدمة

واحدة من المزايا الجديدة اللي نزلت في لغة Dart 3 هي الـ Records، والـ Record واحدة من الـ Data Structure اللي بتتميز انها بتقدر تخزن عدد ثابت من القيم من أنواع مختلفة.

الميزة دي بتسهل حاجات كتير، خصوصًا في الحالات اللي بيكون استخدام الـ Class فيها مبالغ فيه. بمعنى إنك مش لازم تروح وتعمل Class كامل مخصص لكل حاجة، ممكن تستخدم الـ Records عشان توفر وقتك وجهدك.


Record in Flutter

عندنا نوعين اتنين من الـ Records ألا وهم الـ Positional Records والـ Named Records.

النوع الأول : Positional Records

Positional Records

في المثال ده، عملنا record من خلال قوسين وأدخلنا القيم بشكل مفصول. الـ record هنا بيحتوي على متغيرين مختلفين. بنستدعي القيم باستخدام $ وأول قيمة بيكون رقمها 1، بعكس باقي الـ data structures اللي بتبدأ من الصفر.


النوع الثاني : Named Records

Named Records

هنا ممكن نستدعيهم من خلال أسمائهم مباشرة.


وكمان لو عايز تخليهم يمثلوا الـ return بتاع الدالة، بيكون شكلهم كالتالي:

الـ Positional:

Positional as Return Function

الـ Named:

Named as Return Function

مثال أكبر:

تعالوا ناخد مثال أكبر لاستخدام الـ Records في تطبيق حقيقي

Using Records in Real Example

قارن الكود ده بالكود اللي جاي واستنتج ازاي ممكن تكون الـ Record أداة قيمة لكتابة كود أنضف وأبسط، خاصة لما تستخدمها في المكان المناسب.


تقدروا دلوقتي تشتركوا في النشرة الأسبوعية لاقرأ-تِك بشكل مجاني تمامًا عشان يجيلكوا كل جديد بشكل أسبوعي فيما يخص مواضيع متنوعة وبشروحات بسيطة وسهلة وبجودة عالية 🚀

النشرة هيكون ليها شكل جديد ومختلف عن شكلها القديم وهنحاول انها تكون مميزة ومختلفة وخليط بين المحتوى الأساسي اللي بينزل ومفاجآت تانية كتير 🎉

Eqraatech Newsletter | Eqraatech - اقرأ-تِك | Substack
محتوى تقني متميز في مختلف مجالات هندسة البرمجيات باللغة العربية عن طريق تبسيط المفاهيم البرمجية المعقدة بشكل سلس وباستخدام صور توضيحية مذهلة. Click to read Eqraatech Newsletter, a Substack publication with hundreds of subscribers.

Using Records in Real Example

هنا استخدمنا الـ record وجمعنا الـ user والـ token بكل بساطة في ريكورد واحد. بمجرد القراءة، بنقدر نفهم الدالة دي المفروض ترجع إيه بالظبط.

ليه نستخدم Records؟

  1. البساطة: بتبسط التعامل مع البيانات اللي محتاج تجمعها بشكل بسيط.
  2. سهولة القراءة: وده واضح أوي مع استخدام named records.
  3. خفيفة: بتوفر عليك الـ boilerplate قد يحدث مع استخدام class أو data structures تانية.

حدود الاستخدام:

  1. لو بتتعامل مع داتا معقدة بتكون محدودة وبتحتاج classes.
  2. مفيش دوال فيها زي classes هي مجرد هياكل بيانات.

في الختام

الـ Records في Dart أداة قوية بتوفر سهولة ووضوح في تطوير تطبيقات Flutter. باستخدام records، تقدر تبسط الكود بتاعك من غير ما تضطر تعمل كلاس لكل حاجة صغيرة. سواء كنت بتبعت قيم متعددة بين الفانكشنز أو بتشتغل مع الـ UI components في Flutter، الـ records بتوفر حل أنيق لإدارة البيانات المرتبطة بشكل خفيف وسلس.

اشترك الآن بنشرة اقرأ-تِك الأسبوعية

لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!