By using this site, you agree to the Privacy Policy and Terms of Use.
موافق
عرب فلاترعرب فلاتر
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
قراءة: الدرس 54: شرح مفهوم الـ Asynchronous في لغة دارت (Dart)
شارك
تسجيل الدخول
إشعار أظهر المزيد
Aa
عرب فلاترعرب فلاتر
Aa
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
Search

أقسام الموقع

استكشف جميع أقسام الموقع
قسم Dart في موقع عرب فلاتر

Dart

59 مقالات
قسم Widgets في موقع عرب فلاتر

Widgets

104 مقالات
قسم Packages في موقع عرب فلاتر

Packages

19 مقالات
قسم Tutorials في موقع عرب فلاتر

Tutorials

22 مقالات

أخر المواضيع

استكشف أخر المواضيع المنشورة
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

5
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials

حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر

10
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials

أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات

18
لديك حساب موجود؟ تسجيل الدخول
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
عرب فلاتر > Dart > الدرس 54: شرح مفهوم الـ Asynchronous في لغة دارت (Dart)
Dart

الدرس 54: شرح مفهوم الـ Asynchronous في لغة دارت (Dart)

عبدالله يوسف
أخر تحديث 2024/11/15
بواسطة عبدالله يوسف اضف تعليق 3 دقيقة للقراءة 2886 مشاهدات 6
شارك
شرح مفهوم الـ Asynchronous في لغة دارت (Dart)
شرح مفهوم الـ Asynchronous في لغة دارت (Dart)
شارك

خدماتنا البرمجية – عرب فلاتر🚀

خدماتنا البرمجية – عرب فلاتر

برمجة الأحداث المتزامنة (Asynchronous Programming) تُعد واحدة من الأساليب البرمجية الهامة والتي تمكن المطورين من كتابة الأكواد بحيث يمكن للبرنامج تنفيذ مهام متعددة في نفس الوقت. في هذا النمط، يتم تنفيذ الأكواد البرمجية سطرًا بسطر، أي خطوة تنفذ تلو الأخرى بشكل تتابع. وفي هذا السياق، يُعنى العمل المتزامن أن المهمة الحالية يجب أن تُنهى تنفيذها قبل الانتقال إلى المهمة التالية. هذا يعني أنه يتعين حل كل مهمة بشكل تام قبل بدء تنفيذ المهمة التالية.

المحتويات
مثال باستخدام Synchronousمثال باستخدام Asynchronousلماذا نحتاج إلى البرمجة غير المتزامنة؟المصطلحات الهامة

مثال باستخدام Synchronous

الكود

void main() {
  print("First Operation"); 
  print("Second Big Operation"); 
  print("Third Operation"); 
  print("Last Operation"); 
}

نتيجة الكود:

First Operation
Second Big Operation
Third Operation
Last Operation

في المثال أعلاه، يمكننا أن نرى أنه يتم طباعة النصوص سطراً بسطر. فلنفترض أن المهمة “Second Big Operation” تستغرق 3 ثوانٍ للتحميل، في هذه الحالة، ستضطر المهام “Third Operation” و “Last Operation” إلى الانتظار لمدة 3 ثوانٍ. لحل هذه المشكلة، تم تطوير برمجة الأحداث غير المتزامنة.


مثال باستخدام Asynchronous

في برمجة الأحداث غير المتزامنة (Asynchronous Programming)، يستمر تنفيذ البرنامج للسطر التالي دون الانتظار لاستكمال المهمة السابقة. ببساطة، لا تنتظر. يُمثل الأحداث التي لا تحتاج إلى حلها قبل المتابعة للمهمة التالية.

void main() {
  print("First Operation");   
  Future.delayed(Duration(seconds: 3), () => print('Second Big Operation'));
  print("Third Operation"); 
  print("Last Operation"); 
}

نتيجة الكود:

First Operation
Third Operation
Last Operation
Second Big Operation

في المثال أعلاه، يمكننا أن نرى أنه يتم طباعة “Second Big Operation” في النهاية. يستغرق التحميل 3 ثوانٍ، ولكن المهمتين “Third Operation” و “Last Operation” لا تحتاجان إلى الانتظار لمدة 3 ثوانٍ. هذه هي المشكلة التي تحلها برمجة الأحداث غير المتزامنة. يمثل Future قيمة غير متوفرة حاليًا، وسوف تتعرف على Future في الدرس التالي.


لماذا نحتاج إلى البرمجة غير المتزامنة؟

تستخدم البرمجة غير المتزامنة في العديد من الحالات، بما في ذلك:

  • جلب البيانات من الإنترنت.
  • كتابة بيانات في قاعدة البيانات.
  • تنفيذ مهمة تستغرق وقتًا طويلاً.
  • قراءة البيانات من ملف.
  • تنزيل ملف، وماإلى آخره.

المصطلحات الهامة

  • العمل المتزامن: يحجب العمل المتزامن تنفيذ العمليات الأخرى حتى يكتمل.
  • الدالة المتزامنة: تقوم الدالة المتزامنة بتنفيذ عملية متزامنة فقط.
  • العمل غير المتزامن: يسمح العمل غير المتزامن بتنفيذ العمليات الأخرى قبل اكتماله.
  • الدالة غير المتزامنة: تقوم الدالة غير المتزامنة بتنفيذ عملية غير متزامنة ويمكنها أيضًا تنفيذ عمليات متزامنة.

باستخدام برمجة الأحداث غير المتزامنة، يمكننا تحسين استجابة البرنامج وتحسين تجربة المستخدم. يمكن استخدام كلاس Future وكلمات async و await لأداء عمليات غير متزامنة في لغة دارت. ستتعرف على كلاس  Future والكلمات async و await في الدروس اللاحقة.


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

Arab Flutter Community 🚀

انضم إلى مجتمع Arab Flutter
شارك هذا المقال
فيسبوك تويتر Whatsapp Whatsapp لينكد ان تلغرام نسخ الرابط
المقال السابق 10 تمارين محلولة على Null Safety في لغة دارت Dart الدرس 53: 10 تمارين محلولة على Null Safety في لغة دارت Dart
المقال التالي شرح مفهوم الـ Future في لغة دارت (Future In Dart) الدرس 55: شرح مفهوم الـ Future في لغة دارت (Future In Dart)
Avatar of عبدالله يوسف
بواسطة عبدالله يوسف Founder and CEO at ArabFlutter
تابع:
أنا عبدالله يوسف، مهندس مصري ومؤسس موقع عرب فلاتر، ملهم بشغف التكنولوجيا والإبداع. كمصمم مواقع ومبرمج تطبيقات موبايل باستخدام Flutter، أستمتع بخلق عوالم رقمية فريدة ومبتكرة. تتجلى مواهبي في تصميم وتطوير واجهات مستخدم تفاعلية، حيث يمزج الجانب الجمالي بالدقة الهندسية. ما يميزني هو إلمامي الواسع بتقنيات البرمجة والتصميم، ومقدرتي على تطوير تطبيقات متنوعة عبر منصات مختلفة. أعتبر نفسي مبدعًا وملتزمًا، حيث أسعى دائمًا لتحقيق تحسين مستمر في مهاراتي وتقنياتي. أستمتع بتحديات العمل الجماعي وأؤمن بأهمية الابتكار والتطور. بفضل إبداعي والتزامي، أسعى لتقديم حلول فعّالة تلبي توقعات العملاء وتفوق عن المألوف.
اترك تعليقا اترك تعليقا

اترك تعليقاً إلغاء الرد

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

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials
طريقة انشاء المجلدات باستخدام Dart
طريقة انشاء المجلدات باستخدام كود Dart تلقائيًا
Tutorials

مقالات ذات الصلة

اطلع على المزيد من المقالات المتعلقة بهذا الموضوع!
شرح العوازل في لغة دارت (Isolates in Dart)
Dart

شرح العوازل في لغة دارت (Isolates in Dart)

8
شرح الـ Stream في لغة دارت (Stream in Dart)
Dart

الدرس 57: شرح الـ Stream في لغة دارت (Stream in Dart)

8
شرح عبارات async & await في لغة دارت (Dart)
Dart

الدرس 56: شرح عبارات async & await في لغة دارت (Dart)

6
شرح مفهوم الـ Future في لغة دارت (Future In Dart)
Dart

الدرس 55: شرح مفهوم الـ Future في لغة دارت (Future In Dart)

6
10 تمارين محلولة على Null Safety في لغة دارت Dart
Dart

الدرس 53: 10 تمارين محلولة على Null Safety في لغة دارت Dart

5
شرح كلمة Late في لغة دارت (Late in Dart)
Dart

الدرس 52: شرح كلمة Late في لغة دارت (Late in Dart)

8
أظهر المزيد
شعار موقع عرب فلاتر شعار موقع عرب فلاتر

About US

Quick Links

  • خدماتنا
  • من نحن
  • اتصل بنا
  • اتفاقية استخدام
  • سياسة الخصوصية
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
adbanner
تم اكتشاف مانع إعلانات
مرحبًا، يرجى إيقاف مانع الإعلانات. الإعلانات تُساهم في دعم موقعنا وتغطية جزء من تكاليف الاستضافة وتطوير المحتوى. شكرًا لتفهمك ودعمك.
Okay, I'll Whitelist
Welcome Back!

Sign in to your account

هل نسيت كلمة المرور؟