واجهة متعددة المستندات

واجهة متعددة المستندات ( MDI ) هي واجهة مستخدم رسومية تتضمن نوافذ متعددة ضمن نافذة رئيسية واحدة. تسمح هذه الأنظمة عادةً للنوافذ الفرعية بتضمين نوافذ أخرى داخلها، مما يُنشئ تسلسلات هرمية متداخلة معقدة . وهذا يختلف عن واجهات المستند الواحد ( SDI ) حيث تكون جميع النوافذ مستقلة عن بعضها البعض.
مقارنة بواجهة المستند الواحد
في أوساط خبراء سهولة الاستخدام ، دار نقاش واسع حول ما إذا كانت واجهة المستندات المتعددة أم واجهة المستند الواحد هي الأفضل. وقد استخدمت شركات البرمجيات كلا النوعين من الواجهات، وكانت ردود الفعل متباينة. فعلى سبيل المثال، قامت مايكروسوفت بتغيير تطبيقات أوفيس من وضع المستند الواحد (SDI) إلى وضع المستندات المتعددة (MDI)، ثم عادت إلى وضع المستند الواحد (SDI)، مع العلم أن درجة التطبيق تختلف من مكون لآخر. ويُعدّ وضع المستند الواحد (SDI) أكثر فائدة في الحالات التي يتنقل فيها المستخدمون بين تطبيقات مختلفة أكثر من تنقلهم بين نوافذ تطبيق واحد.
قد يكون استخدام واجهة عرض المستندات متعددة النوافذ (MDI) مُربكًا إذا افتقرت إلى معلومات حول النوافذ المفتوحة حاليًا. في تطبيقات MDI، يجب على مطور التطبيق توفير طريقة للتنقل بين المستندات أو عرض قائمة بالنوافذ المفتوحة، وقد يضطر المستخدم إلى استخدام قائمة خاصة بالتطبيق ("قائمة النوافذ" أو ما شابه) للتنقل بين المستندات المفتوحة. يختلف هذا عن تطبيقات SDI حيث يعرض شريط مهام مدير النوافذ أو مدير المهام النوافذ المفتوحة حاليًا. في السنوات الأخيرة، أصبح من الشائع بشكل متزايد استخدام "علامات التبويب" لعرض النوافذ المفتوحة في تطبيقات MDI. تُعرف الواجهة التي تُستخدم فيها علامات التبويب لإدارة المستندات المفتوحة باسم " واجهة المستندات ذات علامات التبويب " (TDI). هناك خيار آخر وهو استخدام " اللوحات " أو النوافذ المتجانبة، مما يُسهّل منع تداخل المحتوى.
تسمح بعض التطبيقات للمستخدم بالتبديل بين هذه الأوضاع حسب اختياره، وذلك بناءً على التفضيل الشخصي أو المهمة المطروحة.
توفر جميع أدوات واجهة المستخدم الرسومية تقريبًا حتى الآن حلًا واحدًا على الأقل لتصميم واجهات متعددة الطبقات (MDI). وكان استثناءً بارزًا واجهة برمجة تطبيقات Cocoa من Apple حتى ظهور مجموعات النوافذ ذات علامات التبويب في نظام macOS High Sierra . على سبيل المثال، توفر مجموعة أدوات واجهة المستخدم الرسومية Swing ، المكتوبة بلغة Java ، فئةً تعمل كحاوية للإطارات الفردية . أما GTK، فتفتقر إلى أي دعم قياسي لواجهات متعددة الطبقات.javax.swing.JDesktopPanejavax.swing.JInternalFrame
المزايا
- في واجهات المستندات المتعددة (وكذلك واجهات المستندات ذات علامات التبويب )، يتم استخدام شريط قوائم و/أو شريط أدوات واحد مشترك بين جميع النوافذ الفرعية، مما يقلل من الفوضى ويزيد من كفاءة استخدام مساحة الشاشة. لكن هذه الحجة أقل أهمية في أنظمة التشغيل التي تستخدم شريط قوائم مشترك.
- يمكن إخفاء/إظهار/تصغير/تكبير النوافذ الفرعية للتطبيق ككل.
- يمكن تطبيق ميزات مثل "البلاط" و "التتالي" على النوافذ الفرعية.
- يستطيع مطورو التطبيقات متعددة المنصات تزويد مستخدميهم بسلوك متسق للتطبيقات عبر مختلف المنصات.
- إذا كانت بيئة النوافذ ونظام التشغيل يفتقران إلى إدارة جيدة للنوافذ، فيمكن لمطور التطبيق تنفيذ ذلك بنفسه.
- المعيارية: يمكن ترقية مدير النوافذ المتقدم بشكل مستقل عن التطبيقات.
العيوب
- بدون نافذة إطار MDI، يمكن أن تتسبب أشرطة الأدوات العائمة من تطبيق واحد في ازدحام مساحة عمل التطبيقات الأخرى، مما قد يربك المستخدمين بسبب فوضى الواجهات.
- قد يكون من الصعب تنفيذ ذلك على أجهزة سطح المكتب التي تستخدم شاشات متعددة، حيث قد تحتاج النافذة الرئيسية إلى أن تمتد على شاشتين أو أكثر، مما يؤدي إلى إخفاء بعض الأجزاء.
- لا يمكن أن تمتد أسطح المكتب الافتراضية من خلال النوافذ الفرعية للنافذة الرئيسية متعددة النوافذ (MDI). مع ذلك، في بعض الحالات، يمكن حل هذه المشكلة عن طريق فتح نافذة رئيسية أخرى؛ كما هو الحال في متصفحي Opera و Chrome ، على سبيل المثال، حيث يسمحان بسحب علامات التبويب/النوافذ الفرعية خارج النافذة الرئيسية لفتح نافذة رئيسية خاصة بها. في حالات أخرى، تُعتبر كل نافذة فرعية نافذة رئيسية أيضًا، مما يُشكل نافذة رئيسية افتراضية جديدة متعددة النوافذ (MDI)..
- يمكن أن تجعل تقنية MDI العمل مع عدة تطبيقات في وقت واحد أكثر صعوبة، وذلك من خلال تقييد الطرق التي يمكن بها ترتيب النوافذ من تطبيقات متعددة معًا دون أن تحجب بعضها البعض.
- قد تتغير القائمة المشتركة، مما قد يسبب ارتباكاً لبعض المستخدمين.
- تختلف نوافذ MDI الفرعية عن تلك الموجودة في تطبيقات واجهة المستند الواحد ، مما يتطلب من المستخدمين تعلم مفهومين مختلفين قليلاً في إدارة النوافذ. وبالمثل، تتصرف نافذة MDI الرئيسية مثل سطح المكتب في كثير من النواحي، ولكن توجد اختلافات كافية قد تُربك بعض المستخدمين.
- قد تكون التسلسلات الهرمية المتفرعة والمتداخلة بعمق للنوافذ الفرعية مربكة.
- تتضمن العديد من برامج إدارة النوافذ دعمًا مدمجًا للتحكم في مجموعات من النوافذ المنفصلة، وهو ما يُعدّ أكثر مرونة من واجهة MDI، حيث يُمكن تجميع النوافذ وفصلها حسب الحاجة. وتتمثل إحدى السياسات الشائعة في تجميع النوافذ التابعة للتطبيق نفسه تلقائيًا. وهذا، في رأي البعض، يجعل واجهة MDI غير ضرورية، إذ يُقدّم حلًا للمشكلة نفسها.
- قد لا تنطبق عناصر التحكم ومفاتيح الاختصار التي تم تعلمها لتطبيق MDI على التطبيقات الأخرى، بينما مع مدير النوافذ المتقدم ، تتم مشاركة المزيد من إعدادات السلوك وتفضيلات المستخدم عبر تطبيقات العميل على نفس النظام
أمثلة تطبيقية
- أدوبي أكروبات : MDI حتى الإصدار 7.0 ( لنظام التشغيل ويندوز فقط)؛ SDI افتراضي في الإصدار 8.0 (قابل للتكوين إلى MDI)؛ SDI فقط في الإصدار 9.0؛ MDI (مع واجهة علامات تبويب) في الإصدار 2015.
- Corel WordPerfect : MDI. يمكن للمستخدم فتح عدة نسخ من WordPerfect، تحتوي كل منها على مستند واحد، في حال تثبيت عدة إصدارات من البرنامج على جهازه. تحتفظ الإصدارات الحديثة بقائمة المستندات المفتوحة في نافذة معينة على شريط الحالة أسفل النافذة، مما يوفر نمطًا مشابهًا لنمط TDI.
- محرر EmEditor : خيارات إما لـ SDI أو MDI.
- برنامج GIMP : يدعم SDI مع نوافذ عائمة (يتوفر MDI كخيار يسمى "وضع النافذة الواحدة" منذ الإصدار 2.8)).
- GIMPshop : نسخة معدلة من برنامج GIMP تهدف إلى محاكاة برنامج Adobe Photoshop بشكل أكبر. يحتوي إصدار Windows على دعم محدود لتقنية MDI.
- كروم : مزيج من MDI و TDI.
- إنترنت إكسبلورر 6 : تطبيق SDI نموذجي
- KWrite : محرر نصوص آخر مصمم لمجموعة برامج KDE ، بواجهة SDI مبسطة ولكنه يشترك في العديد من ميزات Kate عبر واجهة خلفية مشتركة.
- كيت : محرر نصوص مصمم خصيصًا لمجموعة برامج KDE ، مع ميزات متقدمة وواجهة MDI متطورة
- برنامج Macromedia Studio لنظام التشغيل Windows: واجهة هجينة؛ TDI ما لم تكن نوافذ المستندات غير مكبرة. (تكون مكبرة افتراضيًا.)
- مايكروسوفت إكسل 2003: واجهة أحادية (SDI) عند تشغيل نسخ جديدة من التطبيق، وواجهة متعددة (MDI) عند النقر على قائمة "ملف ← جديد" (مع إمكانية ظهور نوافذ فرعية على شريط مهام نظام التشغيل). واجهة أحادية فقط (SDI) ابتداءً من عام 2013.
- مايكروسوفت وورد 2003: واجهة MDI حتى مايكروسوفت أوفيس 97. بعد عام 2000، أصبح لدى وورد واجهة نوافذ متعددة المستوى (MDI )، مما يسمح بعرض نسخ SDI منفصلة في سطر الأوامر، بينما يتعرف عليها نظام التشغيل كنسخة واحدة من تطبيق MDI. في وورد 2000، كانت هذه هي الواجهة الوحيدة المتاحة، لكن الإصدارات 2002 والإصدارات اللاحقة توفر MDI كخيار إضافي. تدعم فئات مايكروسوفت الأساسية (التي يستند إليها أوفيس بشكل جزئي) هذا النموذج منذ الإصدار 7.0، كميزة جديدة في فيجوال ستوديو 2002. SDI فقط اعتبارًا من عام 2013.
- فايرفوكس : TDI افتراضيًا، ويمكن أن يكون SDI
- Notepad++ و PSPad و TextMate والعديد من محررات النصوص الأخرى: TDI
- أوبرا : مزيج من MDI و TDI (واجهة MDI حقيقية مع شريط علامات تبويب للوصول السريع).
- Paint.NET : يعتمد على الصور المصغرة، TDI
- UltraEdit : مزيج من MDI و TDI (واجهة MDI حقيقية مع شريط علامات تبويب للوصول السريع).
- VEDIT : يجمع بين MDI وTDI (واجهة MDI حقيقية مع شريط علامات تبويب للوصول السريع). تعمل النوافذ الخاصة "كاملة الحجم" كنوافذ مكبّرة، ولكنها تسمح باستخدام نوافذ أصغر متداخلة في الوقت نفسه. يمكن تشغيل عدة نسخ من VEDIT، مما يسمح باستخدامه كتطبيق SDI.
- Visual Studio .NET : MDI أو TDI مع قائمة "نافذة"، ولكن ليس كليهما
- بيئة تطوير Visual Studio 6 : بيئة MDI حديثة نموذجية
- mIRC : MDI افتراضيًا، ويمكنه أيضًا العمل في وضع SDI
- أدوبي فوتوشوب : واجهة MDI في نظام ويندوز. في الإصدارات الأحدث، يمكن أن تتحرك أشرطة الأدوات خارج إطار النافذة. يمكن أن تكون النوافذ الفرعية خارج الإطار ما لم يتم تصغيرها أو تكبيرها.
واجهة على نمط بيئة التطوير المتكاملة (IDE)
تُعرف تطبيقات الحاسوب الرسومية ذات واجهة بيئة التطوير المتكاملة (IDE) بأنها تلك التي تقع نوافذها الفرعية ضمن نافذة رئيسية واحدة (باستثناء النوافذ المشروطة عادةً ). وتتميز واجهة بيئة التطوير المتكاملة عن واجهة المستندات المتعددة (MDI) بأن جميع النوافذ الفرعية في واجهة بيئة التطوير المتكاملة مُحسّنة بوظائف إضافية غير متوفرة عادةً في تطبيقات واجهة المستندات المتعددة. ولهذا السبب، يمكن اعتبار تطبيقات بيئة التطوير المتكاملة مجموعةً وظيفيةً أوسع نطاقًا وامتدادًا لتطبيقات واجهة المستندات المتعددة.
تتضمن أمثلة وظائف النوافذ الفرعية المحسّنة ما يلي:
- نوافذ أطفال قابلة للتثبيت
- نوافذ أطفال قابلة للطي
- واجهة مستند مبوبة للأجزاء الفرعية
- أجزاء فرعية مستقلة من النافذة الرئيسية
- أدوات تقسيم واجهة المستخدم الرسومية لتغيير حجم الأجزاء الفرعية للنافذة الرئيسية
- الإصرار على ترتيب النوافذ
نوافذ أطفال قابلة للطي
من المتعارف عليه في تطبيقات بيئات التطوير المتكاملة (IDE) إمكانية طي النوافذ الفرعية، سواءً عند عدم استخدامها أو بناءً على طلب المستخدم. وتتطابق النوافذ الفرعية المطوية مع أحد الحدود الخارجية الأربعة للنافذة الرئيسية، مع وجود علامة أو مؤشر يسمح بتوسيعها مجددًا.
واجهة مستند مبوبة للأجزاء الفرعية
على عكس تطبيقات (MDI)، التي تسمح عادةً بواجهة علامات تبويب واحدة للنافذة الرئيسية، فإن التطبيقات ذات واجهة نمط IDE تسمح بعلامات تبويب لتنظيم جزء فرعي واحد أو أكثر من النافذة الرئيسية.
أمثلة تطبيقات على نمط بيئة التطوير المتكاملة
ماكنتوش
نظام macOS وواجهة المستخدم الرسومية الخاصة به يركزان على المستندات بدلاً من النوافذ أو التطبيقات. كل نافذة مستند هي عنصر يمكن للمستخدم العمل عليه. يتغير شريط القوائم ليعكس التطبيق الذي تنتمي إليه النافذة الأمامية. يمكن إخفاء نوافذ التطبيقات والتحكم بها كمجموعة، ويمكن للمستخدم التبديل بين التطبيقات (أي مجموعات النوافذ) أو بين النوافذ الفردية، مع إخفاء لوحات الأدوات تلقائيًا ، وستبقى معظم البرامج قيد التشغيل حتى بدون نوافذ مفتوحة. في الواقع، قبل نظام Mac OS X ، كان من المستحيل عمدًا دمج نوافذ من تطبيقات متعددة.
وعلى الرغم من ذلك، فإن بعض التطبيقات غير العادية التي تخالف إرشادات واجهة المستخدم (وأبرزها برنامج فوتوشوب ) تُظهر سلوكًا مختلفًا.
انظر أيضاً
- واجهة المستخدم الرسومية
- واجهة مستند مبوبة
- مدير النوافذ المبلطة
- بيئة تطوير متكاملة
- واجهة المستخدم (Center stage) - نمط واجهة مستخدم يُستخدم مع واجهات المستند الواحد أو واجهات بنمط بيئة التطوير المتكاملة (IDE).
مراجع
- التفاعل بين الإنسان والحاسوب . منشورات لاكشمي. 2005. رقم ISBN 978-81-7008-795-3تم الاطلاع عليه بتاريخ 18 يوليو 2022 .
روابط خارجية
- حجج قاعة العار للواجهات ضد MDI
- نماذج MDI باستخدام لغة C#، نماذج MDI في بيئة .NET باستخدام لغة C# وVisual Studio 2010 Express
- واجهات المستخدم الرسومية
- تقنيات واجهة المستخدم
- واجهة المستندات
