قائمة مجموعات أدوات الأدوات المصغّرة

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

مجموعات أدوات واجهة المستخدم الرسومية منخفضة المستوى

مدمج في نظام التشغيل

كطبقة منفصلة فوق نظام التشغيل

  • يحتوي نظام X Window على لبنات بناء أساسية تُسمى Xt أو "Intrinsics"، ولكنها تُستخدم في الغالب فقط بواسطة مجموعات الأدوات القديمة مثل: OLIT و Motif و Xaw . أما معظم مجموعات الأدوات الحديثة، مثل GTK أو Qt ، فتتجاوزها وتستخدم Xlib أو XCB مباشرةً.
  • كانت واجهة المستخدم الرسومية Amiga OS Intuition موجودة سابقًا في ذاكرة القراءة فقط (ROM) الخاصة بنظام Amiga Kickstart ، وكانت تتكامل مع مكتبة أدوات رسومية متوسطة إلى عالية المستوى، والتي بدورها كانت تستدعي واجهة المستخدم الرسومية الأصلية لنظام Amiga Workbench . منذ إصدار Amiga OS 2.0، أصبحت مكتبة Intuition.library تعتمد على القرص وتعتمد على البرمجة كائنية التوجه. كما أصبحت مكتبتا Workbench.library وIcon.library تعتمدان على القرص، ويمكن استبدالهما بحلول مماثلة من جهات خارجية.
  • منذ عام 2005، قامت مايكروسوفت بإزالة نظام الرسومات من نواة نظام التشغيل ويندوز. [ 2 ]

مجموعات أدوات واجهة المستخدم عالية المستوى

جدول مقارنة أدوات الأدوات المصغّرة
اسم مجموعة الأدواتويندوزنظام التشغيل macOSشبيهة بنظام يونكسأندرويدنظام التشغيل iOSلغة البرمجةرخصة
AWTمتعدد المنصاتجافا
تأليف متعدد المنصاتنعمنعمنعمنعمكوتلينأباتشي
تأليف موسيقى Jetpackنعمكوتلينأباتشي
سيجوينعمنعمنعملغة سي++معهد ماساتشوستس للتكنولوجيا
الكاكاولانعملاأوبجكتيف سيملكية خاصة
ابتدائينعمنعمنعمجرخصة LGPL ، رخصة BSD
FLTKنعمنعمنعملغة سي++إل جي بي إل
مجموعة أدوات فوكسنعملانعملغة سي++إل جي بي إل
فاينمتعدد المنصاتيذهببي إس دي
برنامج GNUstepنعمنعمنعمأوبجكتيف سيإل جي بي إل
GTKنعمنعمنعمجإل جي بي إل
كيفيمتعدد المنصاتبايثونمعهد ماساتشوستس للتكنولوجيا
LCLنعمنعمنعمأوبجكت باسكال ( فري باسكال )إل جي بي إل
جامعة إنديانا بنسلفانيانعملانعمجمعهد ماساتشوستس للتكنولوجيا
عصيرمتعدد المنصاتلغة سي++رخصة جنو العمومية ، ملكية خاصة
LessTifلالانعمجإل جي بي إل
عزرلالانعمجإل جي بي إل
MFCنعملالالغة سي++ملكية خاصة
OWL (تم استبدالها بـ VCL)نعملالالغة البرمجة سي++ ( بورلاند سي++ )ملكية خاصة
محور (WTK)متعدد المنصاتجافارخصة أباتشي
كيو تيمتعدد المنصاتلغة سي++LGPL ، ملكية خاصة
مناظر الموجة العاتيةنعملانعملغة سي++ملكية خاصة
أحذية (مجموعة أدوات واجهة المستخدم الرسومية)متعدد المنصاتروبيمعهد ماساتشوستس للتكنولوجيا
يتأرجحمتعدد المنصاتجافا
تاكنعمنعمنعمجبي إس دي
تي إن فوكسنعمنعمنعملغة سي++إل جي بي إل
U++متعدد المنصاتلغة سي++بي إس دي
VCL (يحل محل OWL)نعملالاأوبجكت باسكال ( دلفي )ملكية خاصة
WTLنعملالالغة سي++رخصة مايكروسوفت العامة
wxWidgetsمتعدد المنصاتلغة سي++رخصة WxWindows

يعتمد على نظام التشغيل

  • تم تقديم نظام BOOPSI (نظام البرمجة الكائنية الأساسي لـ Intuition) مع نظام التشغيل 2.0، وقد حسّن Intuition بنظام فئات، حيث يمثل كل فئة عنصر واجهة مستخدم أو يصف حدثًا في واجهة المستخدم. أدى ذلك إلى تطورٍ مكّن مطوري البرامج من إنشاء أنظمة فئات خاصة بهم.
  • MUI : مجموعة أدوات واجهة المستخدم الرسومية الموجهة للكائنات ومجموعة الأدوات الرسمية لنظام MorphOS .
  • ReAction : مجموعة أدوات واجهة المستخدم الرسومية الموجهة للكائنات ومجموعة الأدوات الرسمية لنظام التشغيل AmigaOS .
  • Zune (مجموعة أدوات واجهة المستخدم الرسومية) هي نسخة مفتوحة المصدر من MUI وهي مجموعة الأدوات الرسمية لـ AROS .

في نظام يونكس ، ضمن نظام النوافذ X

لاحظ أن نظام X Window كان في الأصل مخصصًا بشكل أساسي لأنظمة التشغيل الشبيهة بنظام Unix، ولكنه يعمل الآن على نظام Microsoft Windows أيضًا باستخدام، على سبيل المثال، Cygwin ، لذلك يمكن أيضًا استخدام بعض أو كل مجموعات الأدوات هذه تحت نظام Windows.

متعدد المنصات

مبني على لغة C (بما في ذلك الربط بلغات أخرى)

مبني على لغة C++ (بما في ذلك روابط للغات أخرى)

مبني على لغة بايثون

مبني على فلاش

مبني على لغة Go

  • Fyne ، وهو برنامج مفتوح المصدر ( BSD )، مستوحى من مبادئ تصميم المواد لإنشاء تطبيقات تبدو وتتصرف بشكل متسق عبر أنظمة التشغيل Windows و macOS و Linux و BSD و Android و iOS.

استنادًا إلى لغة XML

مبني على جافا سكريبت

عام

RIAs

إطار عمل متكامل

قائم على الموارد

لم يعد يتم تطويره

  • YUI (مكتبة واجهة المستخدم من ياهو!)

مبني على SVG

  • رافائيل هي مجموعة أدوات جافا سكريبت لواجهات SVG والرسوم المتحركة

مبني على لغة C#

مبني على لغة جافا

  • مجموعة أدوات النوافذ المجردة (AWT) هي مجموعة أدوات واجهة المستخدم الأصلية من شركة صن مايكروسيستمز لتطبيقات جافا. وهي تستخدم عادةً مجموعة أدوات أخرى على كل منصة تعمل عليها.
  • Swing هي مجموعة أدوات واجهة مستخدم أكثر ثراءً، مدعومة منذ J2SE 1.2 كبديل لواجهة مستخدم AWT. تتميز Swing بخفة وزنها، أي أنها لا تعتمد على واجهة المستخدم الأصلية.
  • Apache Pivot عبارة عن منصة مفتوحة المصدر لبناء تطبيقات ويب غنية بلغة Java أو أي لغة متوافقة مع JVM، وتعتمد على مجموعة أدوات WTK.
  • JavaFX و FXML .
  • مجموعة أدوات الأدوات المصغّرة القياسية (SWT) هي مجموعة أدوات مصغّرة أصلية للغة جافا، تم تطويرها كجزء من مشروع إكليبس . تستخدم SWT مجموعة أدوات قياسية لمنصة التشغيل (مثل واجهة برمجة تطبيقات ويندوز، أو كوكوا لنظام ماك أو إس، أو GTK) في الخلفية.
  • تم تصميم Codename One في الأصل كمجموعة أدوات للهواتف المحمولة متعددة المنصات، ثم تم توسيعه لاحقًا لدعم تطبيقات سطح المكتب من خلال JavaSE وعبر مسار JavaScript من خلال المتصفحات.
  • يوفر java-gnome روابط لمجموعة أدوات GTK ومكتبات أخرى لبيئة سطح المكتب GNOME
  • Qt Jambi ، هو الربط الرسمي للغة جافا مع Qt من شركة Trolltech. توقف الدعم التجاري والتطوير [ 5 ]
  • ZK - إطار عمل جافا لبناء تطبيقات ويب غنية بتقنية Ajax وتطبيقات جوال
  • FireMonkey أو FMX هي مكتبة رسوميات وأدوات واجهة مستخدم متعددة المنصات، تُوزع مع Delphi و C++Builder منذ الإصدار XE2 في عام 2011. تتضمن المكتبة روابط للغة C++ عبر C++Builder، وتدعم أنظمة Windows وmacOS وiOS وAndroid، ومؤخرًا Linux. تدعم FireMonkey أدوات واجهة المستخدم الأصلية لكل منصة، مثل عنصر تحكم التحرير الأصلي، بالإضافة إلى أدوات واجهة مستخدم مخصصة مصممة لتبدو أصلية على نظام التشغيل المستهدف. تتميز رسوماتها بتسريعها بواسطة وحدة معالجة الرسومات (GPU)، كما تدعم تصميمها ودمج عناصر التحكم الخاصة بها مع عناصر تحكم النظام الأصلية، مما يتيح للتطبيقات استخدام السلوك الأصلي عند الحاجة (على سبيل المثال، لإدخال النصوص باستخدام IME ).
  • تستخدم لغة IP Pascal مكتبة رسومية مبنية على بنى لغوية قياسية. كما أنها تتميز بكونها مجموعة أدوات إجرائية متعددة المنصات (بدون استدعاءات أو حيل أخرى)، ومتوافقة تمامًا مع نماذج الإدخال والإخراج التسلسلي القياسية. يمكن تشغيل البرامج القياسية ذات الإخراج التسلسلي وتوسيعها باستخدام بنى رسومية.
  • Lazarus LCL (لغات Pascal و Object Pascal و Delphi عبر مترجم Free Pascal )، وهي مكتبة فئات تغلف GTK + 1.2–2.x، وواجهة برمجة تطبيقات Windows (دعم Carbon و Windows CE و Qt4 قيد التطوير).
  • تم تطوير fpGUI باستخدام مُصرّف Free Pascal . لا يعتمد على أي مكتبات خارجية كبيرة، ويعمل حاليًا على أنظمة Linux وWindows وWindows CE وMac (عبر X11). ويجري العمل على نسخة منه لنظام Carbon (macOS).
  • استُخدمت مكتبة CLX (مكتبة المكونات متعددة المنصات) مع برامج Delphi و C++ Builder و Kylix من Borland (التي أصبحت الآن من Embarcadero ) لإنتاج تطبيقات متعددة المنصات بين نظامي التشغيل Windows وLinux. كانت مبنية على Qt ، ومُغلّفة بطريقة تجعل واجهة برمجتها مشابهة لواجهة مجموعة أدوات VCL . لم تعد تُصان أو تُوزّع، وقد استُبدلت بـ FireMonkey ، وهي مجموعة أدوات أحدث تدعم منصات أكثر، منذ عام 2011.

مبني على لغة Objective-C

مستوحى من لغة دارت

  • Flutter (برنامج) هو إطار عمل مفتوح المصدر ومتعدد المنصات تم إنشاؤه بواسطة جوجل.

مبني على لغة سويفت

  • Cocoa Touch هو إطار عمل أنشأته شركة Apple لبناء تطبيقات لأنظمة iOS و iPadOS و tvOS .

مبني على لغة روبي

لم يتم تصنيفها بعد

مقارنة مجموعات أدوات الأدوات المصغّرة

مجموعة الأدواتالإصدار الأوليأحدث إصداراللغة الرئيسيةروابطأدواترخصةالإيجابياتالسلبياتالواجهة الخلفية
أتلانتا ، غرب أتلانتا2004لغة سي++Visual Studioغير قابل للنقل
AWT1995جافامحمول
سيجوي20040.8.7 ( 28 أبريل 2016 ( 2016-04-28 ) ) [ ± ] [ 6 ]  لغة سي++بايثون ، [ 7 ] لوا (باستخدام tolua++) [ 8 ]CEED [ 9 ]رخصة MITرخصة مجانية، سريع، متعدد المنصات، محمول، أداة مجانية لتحرير واجهة المستخدم الرسومية
CLXلغة سي++
ابتدائي2007 ( EFL : 2001)2016ججافا سكريبت، بايثون، فالا، سي++editje, edjeإل جي بي إلمحمول، مستقر، سريع، سهل الاستخدام
FLTK19982019لغة سي++بايثون ( pyFLTK )، بيرل ( FLTK.pm )، روبي ( Ruby/FLTK )، تي سي إل ( Tcl Fltk )، غايل ( guile-fltk )، إيفل ( IFLTK )، سي ( cfltk )، راست ( FLTK-rs )FLUID (مصمم واجهة المستخدم السريع والخفيف)رخصة LGPL (مع استثناء يسمح بالربط الثابت )سريع، صغير بما يكفي للربط الثابتمجموعة محدودة من الأدوات المصغّرة
رفرفة2017دارتبي إس ديمحمول، متعدد المنصات، ترخيص مجاني، مجموعة أدوات غنية
فوكس1997لغة سي++روبي ( FXRuby )، بايثون ( FXPy )، إيفل ( EiffelFox )متسق عبر جميع المنصاتمظهر وإحساس غير أصليين
فاين20182020 (1.3.2)يذهببي إس ديمتسق عبر المنصات، ولا يعتمد على وقت التشغيليتطلب OpenGL
واجهة المستخدم الرسوميةلغة سي++
برنامج GNUstep19942017أوبجكتيف سيجافا، روبي، سكيمجورم (الحوسبة)رخصة GPL للتطبيقات، ورخصة LGPL للمكتباترخصة محمولة ومجانيةتطبيق أصلي على نظام macOS (مع Cocoa)X11 ، Win32 ، Wayland
GTK19974.6.0 [ 10 ] ( 30 ديسمبر 2021 ( 2021-12-30 ) ) [ ± ]  جC++ ( gtkmm )، بيرل ( Gtk2-perl )، روبي ( ruby-gtk2 )، بايثون ( PyGTKهاسكل ( Gtk2Hs )، جافا ( java-gnome ) (غير متوفرة لنظام التشغيل مايكروسوفت ويندوز)، سي شارب ( Gtk# )، بي إتش بي ( PHP-GTK )، آدا ( GTKAda )، دي ( gtkD )، فري بيسك ( GladeToBac )، جو ( go-gtk )، أو كاميل ( lablgtk )، جافا سكريبت ( Gjs ، Seed (برمجة) )، فورتران ( gtk-fortran )، لوا ( lua-lgi )، آر ( RGtk2 ) وغيرها عبر خادم GTKGlade ، GNOME Builderإل جي بي إلرخصة محمولة ومجانيةمحلي جزئياً فقط. [ 11 ] [ 12 ]
جامعة إنديانا بنسلفانيا19922019 [ 13 ]جLua ( IupLua ) [ 14 ]LEDC: مُترجم لـ LEDمعهد ماساتشوستس للتكنولوجيامحمول، خفيف الوزن، يستخدم واجهة برمجة التطبيقات الأصلية ، مظهر وإحساس أصليان، ترخيص مجانيغير يونيكود (ASCII العادي فقط) [ 15 ]
عصير2004لغة سي++عصيررخصة جنو العمومية ، تجاريمتعدد المنصات، مع أدوات إضافية لتغليف المكونات الإضافية الصوتية ( VST ، RTAS ، AAX ، إلخ).تحتوي النسخة المجانية على شاشة بدء التشغيل.
MFC ، WinAPI1992لغة سي++Visual Studioغير قابل للنقل (لكن برنامج Wine يدعمه في نظام X Window )
موتيف ، ليسستيفثمانينيات القرن العشرينجبي إكس برو
كيو تي19956.5 LTS [ 16 ] (3 أبريل 2023 ( 2023-04-03 ) ) [ ± ]  لغة سي++روبي ( QtRuby )، بايثون ( PyQt ، PySide ، PythonQt )، Ada ( QtAda )، c# ( Qyoto )، Java ( Qt Jambi )، Pascal ( FreePascal Qt4 )، Perl ( Perl Qt4 )، PHP(PHP-Qt)، Haskell (Qt Haskell)، Lua ( lqt ، QtLua )، Dao ( DaoQt )، Tcl ( qtcl )، اللثغة المشتركة ( CommonQt )، D ( QtD )، هاربور ( hbqt )مصمم Qt، منشئ QtGPL ، LGPL . [ 17 ]مجموعة أدوات محمولة وغنية، أداة إنشاء واجهة المستخدم الرسومية، ترخيص مجاني، واجهة برمجة تطبيقات مستقرةPartially native only.[18][19][20]
Shoes (GUI toolkit)20072010RubyMIT license/Open sourceSimplicity, ease of use
Swing1996JavaEclipse, NetBeansGPL for OpenJDKPortable (Java), advanced widgets, GUI builders
JavaFX20082022JavaNetBeans, Scene BuilderGPL
SWTJavaD (DWT)Eclipseportable
Tk19912025C, TclRuby (RubyTk), Python (Tkinter), Perl (Perl/Tk), Ada (TASH), Common Lisp (LTk), Erlang (etk), ... |BSDvery portable, many language bindings
U++20042022C++theIDEBSDportable, NTL, free licenseUnderdeveloped on android
VCLDelphi
Windows FormsCLI languagesCLI languagesExpression, Visual Studioportability issues, no MVC
WPF, XAML, Silverlight2007CLI languagesCLI languagesExpression, Visual StudioPortability issues
wxWidgets19923.2.11 (7 July 2026 (2026-07-07)

[21])[±]

C++C++ (native), Ruby (wxRuby), Python (wxPython), Perl (wxPerl), Java (wxJava, jwx!), Lua (wxLua), Tcl(wxTCL), JavaScript (GLUEscript), Smalltalk (wxSqueak), Erlang (wxErlang), Haskell (wxHaskell), C (wxC), D (wxD), .NET framework (wxNet), Common Lisp (wxCL), Basic (wxBasic), BlitzMax (wxMax), Euphoria (wxEuphoria), Ada (wxAda), Pike (wxPike)VisualWx, Boa Constructor, PythonCard, Spe, XRCed, wxGlade, wxFormBuilder, DialogBlocks ($), wxDesigner ($)wxWindows LicensePortable, rich widget set, free licence, semantic similarities to MFC make migration easy.
Xaw, Athena19831.0.13[22]CMIT X11
XULXML, JavaScriptportable
XVT19892010C and C++Design for C and architect for C++ProprietaryCross-platform, rich widget set, C and C++ GUI builders, very stable
ToolkitInitial releaseLatest releaseMain languageBindingsToolsLicenseProsConsBack-end

See also

References

  1. Microsoft: MS Windows NT Kernel-mode User
  2. Techworld: Microsoft to move graphics outside OS kernel
  3. Pacheco, Teixera; Xavier, Steve (2001). Borland Delphi 6 Developer's Guide. Sams Publishing. p. 382. ISBN 0-672-32115-7.
  4. This version provides the core API of the .NET Framework2.0, but its implementation of this API is still incomplete.
  5. Qt Software to discontinue Qt Jambi after 4.5 releaseArchived 26 July 2009 at the Wayback Machine
  6. https://github.com/cegui/cegui/releases/tag/v0-8-7
  7. "PyCEGUI - CEGUI Wiki - Crazy Eddie's GUI System (Open Source)".
  8. "Extending your Lua Interface - CEGUI Wiki - Crazy Eddie's GUI System (Open Source)".
  9. "CEED - CEGUI Wiki - Crazy Eddie's GUI System (Open Source)".
  10. https://gitlab.gnome.org/GNOME/gtk/-/tags/4.6.0
  11. Migrating to client-side windowsArchived 27 April 2011 at the Wayback Machine: "GDK looks for the GDK_NATIVE_WINDOWS environment variable and makes all windows native if it is set. It also tries to be more compatible with the way prior versions worked in some other ways."
  12. Coding Horror: Non-Native UI Sucks: "[…] has a cross-platform UI based on GTK, which produces predictably bland, least-common-denominator results:"
  13. "IUP - Browse /3.28 at SourceForge.net".
  14. "IUP - Portable User Interface".
  15. Comparing IUP with Other Interface Toolkits: "[…] it does not have support for Unicode characters."
  16. "Qt 6.5 Release". www.qt.io. The Qt Company. Retrieved 20 December 2023.
  17. Nyström, Sebastian (14 January 2009). "Nokia to license Qt under LGPL". Archived from the original on 11 November 2013.
  18. WxWidgets Compared To Other Toolkits: "Qt doesn't have true native ports like wxWidgets does. Qt does not use system provided widgets, but emulates it with themes. What we mean by this is that even though Qt draws them quite realistically, Qt draws its own widgets on each platform."
  19. "Qt Modular Class Library". Digia. Archived from the original on 1 November 2013. Qt uses the native graphics APIs of each platform it supports, taking full advantage of system resources and ensuring that applications have native look and feel.
  20. "واجهة برمجة تطبيقات Qt 4 Style" . شركة Qt . تستخدم عناصر واجهة المستخدم المدمجة في Qt [QStyle] لتنفيذ جميع عمليات الرسم تقريبًا، مما يضمن أنها تبدو تمامًا مثل عناصر واجهة المستخدم الأصلية المكافئة.
  21. "إصدار wxWidgets 3.2.11 و 3.3.3" . 7 يوليو 2026. تم الاطلاع عليه بتاريخ 31 يوليو 2026 .
  22. آلان كوبرسميث (30 أبريل 2015). " [ إعلان ] libXaw 1.0.13" . xorg-announce@lists.x.org (قائمة بريدية) . تم الاطلاع عليه في 1 يوليو 2020 .