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

واجهة متعددة المستندات ( 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: Combination of MDI and TDI (a true MDI interface with a tab bar for quick access). Special "Full size" windows act like maximized windows, but allow smaller overlapping windows to be used at the same time. Multiple instances of Vedit can be started, which allows it to be used like an SDI application.
- Visual Studio .NET: MDI or TDI with "Window" menu, but not both
- Visual Studio 6 development environment: a typical modern MDI
- mIRC: MDI by default, can also work on SDI mode
- Adobe Photoshop: MDI under Windows. In newer versions, toolbars can move outside the frame window. Child windows can be outside the frame unless they are minimized or maximized.
IDE-style interface
Graphical computer applications with an IDE-style interface (IDE) are those whose child windows reside under a single parent window (usually with the exception of modal windows). An IDE-style interface is distinguishable from the Multiple-Document Interface (MDI), because all child windows in an IDE-style interface are enhanced with added functionality not ordinarily available in MDI applications. Because of this, IDE-style applications can be considered a functional superset and descendant of MDI applications.
Examples of enhanced child-window functionality include:
- Dockable child windows
- Collapsible child windows
- Tabbed document interface for sub-panes
- Independent sub-panes of the parent window
- GUI splitters to resize sub-panes of the parent window
- Persistence for window arrangements
Collapsible child windows
A common convention for child windows in IDE-style applications is the ability to collapse child windows, either when inactive, or when specified by the user. Child windows that are collapsed will conform to one of the four outer boundaries of the parent window, with some kind of label or indicator that allows them to be expanded again.
Tabbed document interface for sub-panes
In contrast to (MDI) applications, which ordinarily allow a single tabbed interface for the parent window, applications with an IDE-style interface allow tabs for organizing one or more subpanes of the parent window.
IDE-style application examples
- NetBeans
- dBASE
- Eclipse
- Visual Studio 6
- Visual Studio .NET
- Visual Studio Code
- RSS Bandit
- JEdit
- MATLAB
- Microsoft Excel when in MDI mode (see above)
Macintosh
نظام 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
- واجهات المستخدم الرسومية
- تقنيات واجهة المستخدم
- واجهة المستندات
