جنوستيب
تحتوي هذه المقالة على العديد من المشكلات. يُرجى المساعدة في تحسينها أو مناقشة هذه المشكلات على صفحة المناقشة . ( تعرف على كيفية ومتى يمكنك إزالة هذه الرسائل )
|
لقطة شاشة لبرنامج GNUstep، تعرض برنامج Window Maker ومجموعة متنوعة من التطبيقات التي تم تطويرها باستخدام مكتبات GNUstep، بما في ذلك لعبة gomoku ، والآلة الحاسبة ، و TextEdit [1] | |
| المطور(ون) | مطورو GNUstep |
|---|---|
| إصدار مستقر | إصدار 2.9.2، الإصدار الأساسي 1.30.0، واجهة المستخدم الرسومية 0.31.1، الإصدار السابق 0.31.0 / 6 يونيو 2024 |
| معاينة الإصدار | على مستودع برامج GitHub
|
| مستودع |
|
| مكتوب في | Objective-C |
| نظام التشغيل | متعدد المنصات |
| يكتب | مجموعة أدوات واجهة المستخدم |
| رخصة | رخصة جنو العمومية العامة للتطبيقات رخصة جنو العمومية الصغرى للمكتبات. |
| موقع إلكتروني | www.gnustep.org |
GNUstep هو تطبيق برمجي حر لإطارات Cocoa ( OpenStep سابقًا ) Objective-C ، ومجموعة أدوات واجهة المستخدم ، وأدوات تطوير التطبيقات لأنظمة التشغيل الشبيهة بـUnix و Microsoft Windows . وهو جزء من مشروع GNU .
يتميز GNUstep بوجود بيئة تطوير متكاملة متعددة المنصات وموجهة للكائنات . وبصرف النظر عن واجهة Objective-C الافتراضية ، يحتوي GNUstep أيضًا على روابط لـ Java و Ruby [2] و GNU Guile و Scheme [3] . يتتبع مطورو GNUstep بعض الإضافات إلى Cocoa من Apple لتظل متوافقة. جذور واجهة تطبيق GNUstep هي نفسها جذور Cocoa: NeXTSTEP و OpenStep . وبالتالي فإن GNUstep يسبق Cocoa، الذي ظهر عندما استحوذت Apple على تقنية NeXT ودمجتها في تطوير نظام التشغيل Mac OS X الأصلي ، بينما كان GNUstep في البداية جهدًا من جانب مطوري GNU لتكرار ميزات NeXTSTEP الطموحة تقنيًا والصديقة للمبرمجين.
تاريخ
بدأت GNUstep عندما أراد بول كونز وآخرون في مركز Stanford Linear Accelerator Center نقل HippoDraw من NeXTSTEP إلى منصة أخرى. وبدلاً من إعادة كتابة HippoDraw من الصفر وإعادة استخدام تصميم التطبيق فقط، قرروا إعادة كتابة طبقة كائن NeXTSTEP التي يعتمد عليها التطبيق. كانت هذه هي النسخة الأولى من libobjcX . وقد مكنتهم من نقل HippoDraw إلى أنظمة Unix التي تعمل بنظام X Window System دون تغيير سطر واحد من مصدر التطبيق الخاص بهم. بعد إصدار مواصفات OpenStep للجمهور في عام 1994، قرروا كتابة objcX جديد يلتزم بواجهات برمجة التطبيقات الجديدة. أصبح البرنامج معروفًا باسم "GNUstep". [4]
هندسة البرمجيات

تقديم
يحتوي GNUstep على مجموعة من عناصر التحكم الرسومية المكتوبة بلغة البرمجة Objective-C.
تتكون واجهة المستخدم الرسومية (GUI) لبرنامج GNUMail من عناصر تحكم رسومية. ويتعين على برنامج GNUMail التفاعل مع نظام النوافذ ، مثل X11 أو Wayland ، ويتعين تقديم واجهة المستخدم الرسومية الخاصة به . وتوفر الواجهة الخلفية لبرنامج GNUstep مجموعة صغيرة من الوظائف التي تستخدمها مكتبة واجهة المستخدم للتفاعل مع نظام النوافذ الفعلي . كما تحتوي على محرك تقديم يحاكي وظائف Postscript الشائعة . وتوفر الحزمة gnustep-back الواجهة الخلفية التالية:
- القاهرة – الواجهة الخلفية الافتراضية باستخدام مكتبة الرسومات القاهرة ثنائية الأبعاد.
- winlib – البرنامج الخلفي الافتراضي لأنظمة Microsoft Windows. إصدارات القاهرة و Windows API .
- art – واجهة خلفية قديمة (غير مستخدمة) على أنظمة تشبه يونكس. تستخدم مكتبة Libart للرسومات ثنائية الأبعاد المستندة إلى المتجهات والتي تشبه PostScript .
- xlib – واجهة خلفية قديمة (غير مستخدمة) لـ X11.
النماذج
يرث GNUstep بعض مبادئ التصميم المقترحة في OPENSTEP (GNUstep يسبق Cocoa، ولكن Cocoa يعتمد على OPENSTEP) بالإضافة إلى لغة Objective-C .
- نموذج - عرض - وحدة تحكم
- الهدف-العمل
- السحب والإفلات
- وفد
- إعادة توجيه الرسائل (من خلال NSInvocation)
واجهات أخرى
بالإضافة إلى واجهة Objective-C، تقوم بعض المشاريع الصغيرة تحت مظلة GNUstep بتنفيذ واجهات برمجة تطبيقات أخرى من Apple:
- تهدف مكتبة Boron إلى تنفيذ واجهة برمجة التطبيقات Carbon . وهي غير مكتملة للغاية. [5]
- تم تصميم مكتبة CoreBase لتكون متوافقة مع Core Foundation . وهي ليست كاملة بما يكفي لكي يكون مكون Base (Foundation Kit) مجرد غلاف حولها. [6]
- تنفذ مكتبة QuartzCore واجهات برمجة تطبيقات الرسوم المتحركة الأساسية . [7] تنفذ مكتبة Opal Quartz 2D .
اعتبارًا من فبراير 2020 [update]، لا توجد مشاريع تبني لغة برمجة Swift ضد بيئة GNUstep Objective-C.
التطبيقات
فيما يلي بعض الأمثلة للتطبيقات المكتوبة أو المنقولة إلى GNUstep. [8]
مكتوبة من الصفر
- العناوين، مدير العناوين/ الاتصالات
- النجمة، بيئة سطح المكتب
- GNUMail ، عميل البريد الإلكتروني
- مكتبة قاعدة بيانات GNUstep 2، وهي نسخة طبق الأصل من إطار عمل Enterprise Objects
- GNUstepWeb ، خادم تطبيقات متوافق مع WebObjects 4.x
- Gorm هو تطبيق لبناء واجهة المستخدم وجزء من أدوات المطور في GNUstep. Gorm هو المعادل لبرنامج Interface Builder الذي تم العثور عليه في الأصل على NeXTSTEP ، ثم OPENSTEP ، وأخيرًا على Mac OS X. وهو يدعم ملفات .nib القديمة بالإضافة إلى تنسيق ملف .gorm الخاص به .
- GWorkspace، مساحة عمل ومدير ملفات
- Grr، قارئ موجز ويب RSS
- Oolite ، نسخة طبق الأصل من Elite ، وهي لعبة محاكاة فضائية تحتوي على مكونات تجارية
- السعر، تطبيق التصوير
- ProjectCenter أو Project Builder أو ما يعادله في Xcode .
- TalkSoup، عميل IRC
- صالة
- Zipper، أداة أرشفة الملفات
تم نقله من NeXTSTEP أو OPENSTEP أو macOS
- أدون
- الكاكاو الحيوي
- الشطرنج
- سينون
- دوم إيد
- إيدن ماث
- باذنجان
- إيماكس
- محظوظ
- جوموكو
- نيكستجو
- بيكو بيكسل
- تحرير النص
- الوقت الاثنين
شوكات GNUstep
- منصة Windows العالمية ، والتي تتضمن مجموعة WinObjC تتكون من أجزاء مختلفة من GNUstep وتنفيذات Microsoft الخاصة لأشياء مثل واجهة برمجة تطبيقات Cocoa Touch . [9]
قدرات الفصل
مجموعة الأساس
توفر مجموعة الأساس فئات أساسية مثل فئات الغلاف وفئات بنية البيانات.
مجموعة التطبيقات
توفر مجموعة التطبيقات فئات موجهة حول إمكانيات واجهة المستخدم الرسومية .
انظر أيضا
- Darling (البرمجيات) ، طبقة توافقية تعتمد على GNUstep
- حزمة GNUstep الدهنية
- GNUstep Renaissance ، إطار عمل لوصف XML لواجهات المستخدم المحمولة GNUstep/Mac OS X
- أعمدة ميلر ، طريقة تصفح شجرة الملفات التي يستخدمها عارض ملفات GWorkspace
- قائمة الخصائص ، تنسيق الملف المستخدم غالبًا لتخزين إعدادات المستخدم
- StepTalk ، إطار عمل للبرمجة النصية
- Window Maker ، مدير نوافذ مصمم لمحاكاة واجهة المستخدم الرسومية NeXT كجزء من مشروع GNUstep الأوسع
مراجع
- ^ تم نقله من NeXTSTEP . يمكن للإصدارات الحديثة، عند بنائها باستخدام libobjc2، استخدام إصدار أحدث تم نقله من Mac OS X Snow Leopard .
- ^ "GNUstep Developer Tools - RIGS". www.gnustep.org . تم الاسترجاع في 10 أبريل 2018 .
- ^ تم أرشفة GScheme في 2005-12-18 على موقع Wayback Machine
- ^ "GNUstep History". gnustep.made-it.com . تم الاسترجاع في 10 أبريل 2018 .
- ^ "gnustep/libs-boron: البورون هو الذرة التي تأتي قبل الكربون". GitHub . GNUstep. 23 مارس 2019.
- ^ "gnustep/libs-corebase". GNUstep. 19 نوفمبر 2019.
- ^ "gnustep/libs-quartzcore". GNUstep. 11 ديسمبر 2019.
- ^ "تصنيف:تطبيقات - GNUstepWiki". wiki.gnustep.org . مؤرشف من الأصل في 23 مارس 2021 . استرجاع 10 أبريل 2018 .
- ^ "GNUstep Objective-C Runtime 2.0". GitHub .
ملاحظة: يحتوي مشروع WinObjC التابع لشركة Microsoft على نسخة سهلة الاستخدام من هذه المكتبة تتضمن حلاً لمشكلة الربط التدريجي.
روابط خارجية
- الموقع الرسمي
- مشروع تطبيق GNUstep
- مقابلة أجريت عام 2003 مع مطور GNUstep نيكولا بيرو محفوظ في 2007-01-07 على موقع Wayback Machine
- مقابلة أسبوعية مع جريجوري كاسامينتو وريكاردو موتولا من GNUstep حول البرمجيات الحرة ومفتوحة المصدر
- GNUstep على Debian وFreeBSD وMacPorts
- بيئة سطح المكتب NEXTSPACE، المستندة إلى GNUstep
