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

مشاهدة فيديو الشرح:



 تعريف الـ Interface:

هو وسيلة للتواصل بين المستخدم (User) والحهاز الإلكتروني (Electronic device)

أنواع الـ User Interface:

هناك عدة أنواع لواجهات المستخدم سنعرض منها 5 أنواع رئيسية وهى:


واجهة سطر الأوامر Command line Interface (CLI):

DOS OS with CLI

هي الواجهة بين الإنسان والآلة أين يتم الاتصال بين المستخدم والحاسوب بأخذ صيغ نصية

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

وقد استخدمها نظام MS DOS فى الثمانينات وحاليا تسخدم فى الأنظمة كخيار إضافى للتحكم وذلك لقوتها مثل command prompt فى الويندوز
=> جرب تشغيل الـ Command Prompt الخاصة بك إذا كنت تعمل على ويندوز 10 وقم بإدخال هذا الأمر start msedge وشاركنا بماذا حدث فى التعليقات

واجهة المستخدم الرسومية Graphical user interface (GUI):

food application with GUI example


واجهة المستخدم الرسومية (بالإنجليزية: Graphical User Interface أو اختصاراً GUI)‏: تشكل واجهة مستخدم تؤمن للمستخدم التفاعل مع الحاسب باستخدام أغراض وصور رسومية غالباً ما تتكون من عناصر التحكم والنوافذ وقوائم منبثقة إضافة لنصوص توجه المستخدم لاستخدام أحداث مخصصة مثل النقر على الفأرة لإضافة وإدخال نصوص ليقوم الحاسب بما يريد المستخدم. جميع الأفعال والمهام التي يمكن للحاسب تنفيذها تتم عن طريق التطبيق المباشر لأحداث على العناصر الرسومية (عناصر التحكم). 

واجهة اللغة الطبيعية Natural language (NLI) :

siri assistant


هذه الواجهة تستخدم الصوت فى التعامل مع البرنامج ولها القدرة على فهم اللغة الطبيعية للبشر
وأمثلة على ذلك Siri, Google Assistant, MS Cortana, Alexa

لماذا نتجه لتطوير تطبيقات تعتمد على واجهة الأوامر النصية فى بداية تعلمنا للبرمجة ؟

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

المصادر:

Tech targe: https://www.techtarget.com/searchapparchitecture/definition/user-interface-UI
Shivaji College: https://www.shivajicollege.ac.in/sPanel/uploads/econtent/d23be33565584d9a71e4a6b580b19a76.pdf
Quora: https://www.quora.com/Why-are-coding-console-apps-good-for-beginners-in-C