عودة إلى صفحة المدونة

واجهة المستخدم (User Interface)

January 12, 2021
واجهة المستخدم (User Interface)

واجهة المستخدم (User Interface)

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

ما هي واجهة المستخدم؟

هي مجموعة من العناصر التي تظهر للمستخدم (كالأزرار، القوائم، الصور، حقول الإدخال) لتمكنه من استخدام نظام برمجي (تطبيق) بسهولة مما يمكن المستخدم العادي من التعامل مع البرمجيات والتطبيقات المعقدة والكبيرة.

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

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

تطبيقات الهاتف ما هي إلا واجهة

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

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

لتطبيقات الهاتف هذه ثلاثة أنواع:

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

لماذا هناك تطبيقات كتطبيق الأذكار مثلاً ربما يحتاج للإنترنت ولا يعمل إلا به؟

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

استنتاجات:

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

تريد تعلم الخوارزميات؟ تعلم من دورة مبادئ البرمجة والخوارزميات على دليل مبرمج

واجهة المستخدم User Interface UI البرمجة التطبيقات

وجدت خطأ أو تريد المساهمة في محتوى المقال؟ عدل الصفحة على Github