جنو ستب

من ويكيبيديا، الموسوعة الحرة
The GNUstep Project
الشعار
GNUstep screenshot, showing ويندو ميكر and a variety of applications developed with the GNUstep libraries, including a gomoku game, آلة حاسبة, and تيكست إديت (محرر نصوص).[1]
معلومات عامة
نوع
نظام التشغيل
النموذج المصدري
المطورون
GNUstep Developers
موقع الويب
معلومات تقنية
لغة البرمجة
الإصدار التجريبي
only in the SVN software repository
الإصدار الأخير
make 2.8.0, base 1.27.0, gui 0.28, back 0.28
المستودع
الرخصة

جنو ستب (بالإنجليزية: GNUstep)‏ هو تطبيق مجاني يشتمل على البرمجيات الحرة التي تنفذ Cocoa (لاحقاً OpenStep ) Objective-widget toolkit , C frameworks ، وأدوات تطوير التطبيقات Unix-like operating systems و Microsoft Windows . إنه جزء من GNU Project .

GNUstep تضم من خلال منصة، وجوه المنحى IDE . بغض النظر عن واجهة Objective-C الافتراضية ، فإن GNUstep توجد لها روابط Java , Ruby.[2] يعملون على ضم بعض الإضافات إلى Cocoa من Apple ليظلا متوافقتين. جذور واجهة التطبيق GNUstep هي نفس جذور كوكوا: NeXTSTEP و OpenStep . وهكذا يسبق GNUstep الكاكاو ، الذي ظهر عندما استحوذت شركة Apple على تقنية NeXT ودمجتها في نظام التشغيل Mac OS X الأصلي وعملت على تطويرها ، بينما كان GNUstep في البداية فقط جهدًا مبذول من قبل بعض مطوري GNU لتكرار ميزات NeXTSTEP العالية طموحها تقنيًا والتي تناسب المبرمجين.

تاريخ[عدل]

بدأت GNUstep مع بول كونز و الأخرين في مركز ستانفورد مسرع الخطي عندما أرادو نقل ميناء HippoDraw من منصة NeXTSTEP إلى منصة بديلة. بدلاً من الإنشغال بإعادة كتابة HippoDraw من البداية وإعادة استخدام تصميم التطبيق فقط ، قرروا إعادة كتابة طبقة كائن NeXTSTEP التي يثق بها التطبيق. كان هذا الإصدار الأول من libobjcX . لقد مكنهم من نقل HippoDraw إلى أنظمة Unix التي تشتغل بنظام X Window دون العبث أو تغيير سطر واحد من مصدر التطبيق الخاص بهم. من بعد إظهار مواصفات OpenStep للجمهور في عام 1994 ، تم إقرار إعادة كتابة objcX أخر يلتزم بواجهات برمجة التطبيقات الجديدة. البرنامج سيشتهر باسم "GNUstep".[3]

هيكلة البرمجيات[عدل]

يوضح مكونات البرامج في مكدس سطح مكتب Linux مثل خادم العرض أو مكتبات عناصر التحكم في الرسومات أو الأصداف الرسومية .

استدعاء[عدل]

GNUstep تمتلك مجموعة من عناصر التحكم الرسومية التي تكتب بلغة البرمجة Objective-C.

تشتمل واجهة المستخدم الرسومية (GUI) الخاصة بـ GNUMail على عناصر التحكم في الرسومات. توجد إحتمالية أن يتفاعل GNUMail مع نظام النوافذ ، على سبيل المثال X11 أو ايلاندز ، واجهة المستخدم الرسومية لابد أن تشتمل على المقدمة . تحتوي طبعاً الواجهة الخلفية لـ GNUstepعلى مجموعة صغيرة من الوظائف التي تسستعلها مكتبة واجهة المستخدم بخصوص التفاعل مع نظام النوافذ الفعلي. كما أن لديها محرك عرض يطابق وظائف Postscript الشائعة. الحزمة gnustep-back توفر لك الخلفيات التالية:

  • القاهرة - الواجهة الخلفية الافتراضية باستخدام مكتبة رسومات القاهرة ثنائية الأبعاد.
  • winlib - الخلفية الافتراضية لأنظمة Microsoft Windows. متغيرات Cairo و Windows API.
  • الفن - الخلفية القديمة (المهملة) على أنظمة تشبه يونكس. يستخدم مكتبة رسومات PostScriptlike 2d المستندة إلى المتجهات Libart .
  • xlib - الخلفية X11 القديمة (مهملة).

النماذج[عدل]

ترث GNUstep بعض المبادئ المتعلقة بالتصاميم المقترحة في OPENSTEP (يسبق Cocoa GNUstep، لكن Cocoa تصب كامل إهتمامها و إعتمادها على OPENSTEP) بالإضافة إلى لغة Objective-C.

واجهات أخرى[عدل]

بالإضافة إلى علامة Objective-C ، هناك بعض المشاريع الصغيرة التي تدرس وتطبق تحت مظلة GNUstep و برمجة تطبيقات أخرى من Apple:

  • تهدف مكتبة البورون إلى تطبيق Carbon API . إنه غير مكتمل للغاية.[4]
  • تم تصميم مكتبة CoreBase لتكون متوافقة مع Core Foundation . لم يكتمل بشكل كافٍ أن يكون المكون الأساسي (مجموعة الأساس) مجرد غلاف حوله.[5]
  • تنفذ مكتبة QuartzCore واجهات برمجة تطبيقات الرسوم المتحركة الأساسية.[6] تنفذ مكتبة أوبال كوارتز 2D .

اعتبارًا من فبراير 2020, لاتوجد مشاريع تتماشى مع بيئة The Swift programming language ضد GNUstep Objective-C environment

التطبيقات[عدل]

بالأسفل توجد الأمثلة على التطبيقات المكتوبة أو المنقولة إلى GNUstep.[7]

مكتوب من الصفر[عدل]

  • العناوين ، عنوان / مدير جهات الاتصال
  • Étoilé ، بيئة سطح المكتب
  • GNUMail ، عميل بريد إلكتروني
  • مكتبة قاعدة بيانات GNUstep 2 ، نسخة Enterprise Objects Framework
  • GNUstepWeb ، خادم تطبيق متوافق مع WebObjects 4.x.
  • Gorm ، منشئ واجهة
  • GWorkspace ، مساحة عمل ومدير ملفات
  • Grr ، قارئ موجز RSS
  • Oolite ، نسخة من Elite ، لعبة محاكاة الفضاء مع مكونات تداول
  • PRICE ، تطبيق التصوير
  • ProjectCenter أو Project Builder أو ما يعادله من Xcode.
  • TalkSoup ، عميل IRC
  • صالة
  • زيبر ، أداة أرشيف الملفات

تم نقله من NeXTSTEP أو OPENSTEP أو macOS[عدل]

شوكات GNUstep[عدل]

قدرات الطبقة[عدل]

المجموعة الأساسية[عدل]

توفر Foundation Kit فئات أساسية مثل الغلاف و بنية البيانات.

  • سلاسل
  • المجموعات (المصفوفات والمجموعات والقواميس) والعداد
  • إدارة الملفات
  • أرشفة الكائن
  • التلاعب المتقدم بالتاريخ
  • الكائنات الموزعة والاتصال بين العمليات
  • التعامل مع URL
  • الإخطارات (والإخطارات الموزعة)
  • سهل متعدد الخيوط
  • توقيت
  • أقفال
  • معالجة الاستثناء

مجموعة التطبيق[عدل]

مجموعات التطبيقات تقدم فئات مختلفة بخصوص إمكانيات واجهة المستخدم الرسومية.

  • عناصر واجهة المستخدم (طرق عرض الجدول ، المتصفحات ، المصفوفات ، طرق عرض التمرير)
  • الرسومات ( WYSIWYG ، رسومات تشبه التذييل ، مسارات بيزير ، معالجة الصور مع تمثيلات متعددة ، سياقات رسومية)
  • إدارة الألوان (تمت معايرتها مقابل ألوان الجهاز ؛ تمثيلات الألوان CMYK وRGB وHSB والرمادي والمسمى ؛ شفافية ألفا)
  • ميزات نظام النص: تنسيق نص منسق ، ومرفقات نصية ، ومدير تخطيط ، وأداة طباعة ، وقواعد ، وأنماط فقرات ، وإدارة خطوط ، وتهجئة
  • إدارة الوثائق
  • ميزات الطباعة: عمليات الطباعة ولوحة الطباعة وتخطيط الصفحة
  • مدير المساعدة
  • خدمات اللوح (المعروف أيضًا باسم Clipboard)
  • مدقق املائي
  • ارتباطات مساحة العمل للتطبيقات
  • عمليات السحب والإفلات
  • تقاسم الخدمات بين التطبيقات

انظر أيضًا[عدل]

  • Darling (برنامج) ، طبقة توافق تعتمد على GNUstep
  • GNUstep عصر النهضة ، إطارا للوصف XML من GNUstep المحمولة / ماك OS X واجهات المستخدم
  • Miller Columns ، طريقة تصفح شجرة الملفات التي يستخدمها GWorkspace File Viewer
  • قائمة الخصائص ، غالبًا ما تستخدم تنسيق ملف لتخزين إعدادات المستخدم
  • StepTalk ، إطار البرمجة النصية
  • Window Maker ، مدير نوافذ مصمم لمحاكاة NeXT GUI كجزء من مشروع GNUstep الأوسع

مراجع[عدل]

 

  1. ^ Ported from نيكست ستيب. Recent builds, when built with libobjc2, can use a newer version ported from ماك أو إس إكس سنو ليوبارد
  2. ^ GScheme نسخة محفوظة 2005-12-18 على موقع واي باك مشين.
  3. ^ "GNUstep History". gnustep.made-it.com. مؤرشف من الأصل في 2021-02-12. اطلع عليه بتاريخ 2018-04-10.
  4. ^ "gnustep/libs-boron: Boron is the atom that comes before carbon". GitHub. GNUstep. 23 مارس 2019. مؤرشف من الأصل في 2021-03-25.
  5. ^ "gnustep/libs-corebase". GNUstep. 19 نوفمبر 2019. مؤرشف من الأصل في 2021-01-06.
  6. ^ "gnustep/libs-quartzcore". GNUstep. 11 ديسمبر 2019. مؤرشف من الأصل في 2021-01-15.
  7. ^ "Category:Applications - GNUstepWiki". wiki.gnustep.org. مؤرشف من الأصل في 2021-03-23. اطلع عليه بتاريخ 2018-04-10.
  8. ^ "GNUstep Objective-C Runtime 2.0". GitHub. مؤرشف من الأصل في 2020-10-30. Note: Microsoft's WinObjC project contains a friendly fork of this library that includes a work around for the incremental linking issue.

روابط خارجية[عدل]