البرمجة التي تحركها الأحداث: ما سبب رواجها الآن؟

نشرت: 2019-09-17

تعمل البرمجة المبنية على الأحداث (EDP) على تغيير عالم خدمات تطوير البرمجيات وأصبحت جزءًا لا يتجزأ من تطور اليوم. تم تحفيز انتشاره بواسطة Windows ونشر بيئات RAD المرئية. كما يوحي اسمه ، يركز نهج البرمجة على الأحداث. قد يكون الأخير من قبل المستخدم ، ومنظومي ، ومن صنع البرنامج. تشمل المجالات الأكثر شيوعًا لتطبيق EDP اليوم إنشاء واجهات المستخدم الرسومية وتطبيقات الخادم وتطوير الألعاب متعددة اللاعبين.

على عكس البرامج القديمة التي تتحكم في خيارات المستخدم وتحدد مسبقًا تدفق الأحداث ، ظهرت برمجة أكثر تكيفًا وابتكارًا بواجهة مستخدم رسومية (GUI). غيّرت واجهة المستخدم الرسومية التفاعل بين الإنسان والحاسوب من خلال منح المستخدمين خيارات متعددة في شكل قوائم منسدلة ونوافذ وأزرار ومربعات اختيار. وبالتالي ، بدلاً من اتباع الترتيب المحدد مسبقًا للإجراءات التي حددها الكمبيوتر ، أصبح المستخدمون قادرين على اختيار واحد من العديد من الأوامر المتاحة بأنفسهم.

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

اقرأ هذا الدليل الشامل الذي أنشأناه بالاشتراك مع LitsLink للعثور على كل ما قد يهمك.

عرض جدول المحتويات
  • ما هي البرمجة المدفوعة بالحدث؟
  • التعامل مع الحدث باعتباره جوهر EDP
  • ميزات التطبيقات المدفوعة بالحدث
  • لغات البرمجة المدفوعة بالحدث
  • مزايا البرمجة المدفوعة بالحدث
  • عيوب البرمجة المدفوعة بالحدث
  • أمثلة على البرمجة المدفوعة بالأحداث

ما هي البرمجة المدفوعة بالحدث؟

برمجة تطوير تصميم مواقع الويب مبرمج برمجة

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

دعونا نتعامل مع بعض المصطلحات التمهيدية لفكرة أفضل عن EDP.

  • الحدث: الحدث هو حالة تنشأ خلال عمر البرنامج وتتطلب بعض الإجراءات بواسطة نظام وقت التشغيل. الأحداث مختلفة بطبيعتها. بعضها يتطلب البرنامج لاسترداد وعرض معلومات معينة. يبدأ البعض الآخر في بعض الحسابات وتغيير الحالة.
  • الرسالة: الرسالة عبارة عن بنية بيانات تمثل حدثًا في وقت التشغيل. يعطي معلومات حول نوع الحدث والمعلمات المطلوبة من البرنامج للتعامل معها.
  • معالج الأحداث: معالج الأحداث هو وحدة معينة في البرنامج يتم تنشيطها للرد على الحدث.
  • حلقة الرسالة: إنها خوارزمية استقصاء تُستخدم لتنفيذ EDP من خلال الفحص المستمر لقائمة انتظار الرسائل وتوجيه حركة المرور إلى معالجات الأحداث.
يتمثل الاختلاف في البرمجة القائمة على الأحداث عن النماذج القديمة في أنه في السابق ، تم تنفيذ قائمة التعليمات بترتيب محدد مسبقًا وثابت ، والشيء التالي الذي سيحدث أثناء استخدام البرنامج كان النقطة التالية في القائمة. بالإضافة إلى ذلك ، تم تشغيل جميع البرامج بواسطة الوكيل ، الكمبيوتر. في ظروف البرمجة القائمة على الحدث ، يمكن للكائنات (أي المستخدمين) بدء بعض الأحداث ("أحداث إطلاق النار") في البرنامج ، ويتم تحديد الشيء التالي الذي يحدث فيه من خلال تلك الأحداث. نتيجة لذلك ، تعزز البرمجة القائمة على الأحداث التفاعل الديناميكي بين المستخدمين وأجهزة الكمبيوتر.
 موصى به لك: دليل المبتدئين لاستخدام Scala في Apache Spark.

التعامل مع الحدث باعتباره جوهر EDP

أجندة - كتاب - تقويم - مخطط - تاريخ - حدث - مذكرة - تنظيم

تشكل معالجة الأحداث أساس EDP وتميز نموذج البرمجة هذا عن الآخرين. تبدأ إجراءات البرنامج التي تتبع أساسيات EDP من خلال الأحداث المجدولة وأحداث الأجهزة وأحداث نظام التشغيل وأحداث وقت تشغيل اللغة والأحداث التي يتم تشغيلها بواسطة تعليمات المستخدم المقدمة من خلال التفاعل مع واجهة المستخدم الرسومية للبرنامج. يحدد المبرمجون هذه الإجراءات أثناء تطوير البرامج في شكل معالجات الأحداث. بأبسط معاني ، يجب على المبرمجين الإجابة على السؤال ، "ما الذي يجب أن يحدث عندما يقع حدث معين؟"

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

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

ميزات التطبيقات المدفوعة بالحدث

تطبيق الهاتف - تسويق تطبيقات الجوال

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

  • غالبًا ما يتم تقديم تجريد الحدث بشكل صريح باعتباره أحاديًا ؛
  • القدرة على مزامنة الحدث ؛
  • تنفيذ أسلوب استمرارية في شكل رد اتصال ؛
  • مصادر الأحداث البدائية.

لغات البرمجة المدفوعة بالحدث

تطوير الويب كود البرمجة

من الممكن إنشاء برامج تعتمد على الأحداث بأي لغة برمجة حديثة ، في حين أن Visual Basic و Visual C ++ و Java مناسبة بشكل خاص لهذا الغرض. على سبيل المثال ، تم تجهيز لغات البرمجة المرئية Visual C ++ و Visual Basic بمجموعة بيئة التطوير المتكاملة (IDE) مع العديد من خيارات التحكم القياسية والأحداث وقوالب رموز معالج الأحداث. تُستخدم Python أيضًا كأداة EDP مناسبة.

 قد يعجبك: مقدمة في البرمجة: موجز عن Node JS و Laravel و React و Ruby و Vue و Python.

مزايا البرمجة المدفوعة بالحدث

تحقق-قائمة-شكل-مسح-خطة-مهام-إدارة المشروع

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

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

  • استخدام البرمجة الشيئية كأساس لها ؛
  • نتائج أفضل لتصميم البرامج ؛
  • استجابة ومرونة أفضل للبرامج الناتجة ؛
  • معالجة أسرع بسبب نشر البيانات عبر معالجات متعددة ومعالجات الأحداث ؛
  • تحسين قابلية التطبيق للتوسع ؛
  • أفضل اقتران فضفاض.
من الضروري أن تضع في اعتبارك أن الفائدة الأساسية للبرمجة القائمة على الأحداث هي التفاعل وتجربة مستخدم أفضل. لا يريد المستخدمون المعاصرون أن يكونوا مستهلكين سلبيين ، بل يفضلون أن يكونوا مشاركين نشطين ومنشئين مشاركين للمحتوى. وبالتالي ، تساعد البرامج القائمة على الأحداث المستخدمين على التنقل في تجربتهم بأنفسهم واستكشاف مجموعة متنوعة من الخيارات دون قيود محددة مسبقًا. تؤمن هذه الميزة هذا النوع من البرامج التي ترميز فتحة مؤكدة في سوق تطوير البرامج في المستقبل ، حيث يبحث المستخدمون النهائيون عن تجارب أكثر تخصيصًا وفردية مع تطبيقاتهم وأجهزتهم وبرامجهم.

عيوب البرمجة المدفوعة بالحدث

قائمة مرجعية - تشخيص - سؤال - تحليل - فكرة - وثيقة راتب

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

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

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

 قد يعجبك أيضًا: إيجابيات وسلبيات لغة برمجة الإكسير.

أمثلة على البرمجة المدفوعة بالأحداث

برمجة-تصميم-تطوير-ترميز الموقع

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