خطوة مفتوحة

خطوة مفتوحة
المطور(ون)نيكست ، صن مايكروسستمز
الإصدار الأولي19 أكتوبر 1994 ؛ منذ 30 عامًا ( 1994-10-19 )
مكتوب فيObjective-C
نظام التشغيلSolaris ؛ Windows NT ؛ أنظمة تشغيل شبيهة بنظام Unix مع نواة Mach
منصةIA-32 ، PA-RISC ، SPARC
متوفر فيإنجليزي
يكتبواجهة برمجة التطبيقات
موقع إلكترونيwww.gnustep.org/resources/OpenStepSpec/OpenStepSpec.html

OpenStep هي مواصفات واجهة برمجة تطبيقات (API) موجهة للكائنات طورتها شركة NeXT . وهي توفر إطار عمل لبناء واجهات المستخدم الرسومية (GUIs) وتطوير تطبيقات البرمجيات. تم تصميم OpenStep ليكون مستقلاً عن النظام الأساسي، مما يسمح للمطورين بكتابة التعليمات البرمجية التي يمكن تشغيلها على أنظمة تشغيل متعددة، بما في ذلك NeXTSTEP و Windows NT وأنظمة مختلفة تعتمد على Unix . وقد أثرت على تطوير أطر عمل واجهة المستخدم الرسومية الأخرى، مثل Cocoa لنظام macOS و GNUstep .

تم تطوير OpenStep بشكل أساسي بواسطة NeXT و Sun Microsystems ، للسماح بتطوير تطبيقات متقدمة على أنظمة تشغيل Sun، وخاصة Solaris . أنتجت NeXT إصدارًا من OpenStep لنظام التشغيل Unix المستند إلى Mach الخاص بها ، والذي تمت صياغته بأحرف كبيرة باسم OPENSTEP . [1] تعد مكتبات البرامج التي تم شحنها مع OPENSTEP مجموعة فرعية من مواصفات OpenStep الأصلية، بما في ذلك العديد من الميزات من NeXTSTEP الأصلية.

تاريخ

كانت محطات العمل من Sun Microsystems مبرمجة في الأصل على مستوى منخفض نسبيًا لإجراء مكالمات مباشرة إلى نظام التشغيل Unix الأساسي ومجموعة أدوات نظام النوافذ SunView والمكتبات المبنية فوق تلك الواجهات. أدى هذا إلى برمجة معقدة حتى للمشاريع البسيطة. تم إجراء محاولة لمعالجة هذه المشكلة باستخدام نموذج برمجة موجه للكائنات في منتصف الثمانينيات باستخدام نظام النوافذ NeWS من Sun ، ولكن الجمع بين واجهة برمجة التطبيقات المعقدة والأداء الضعيف بشكل عام أدى إلى قلة الاستخدام في العالم الحقيقي وتم التخلي عن النظام في النهاية.

ثم بدأت شركة صن في البحث عن خيارات أخرى. اعتُبرت شركة تاليجنت منافسًا في أسواق أنظمة التشغيل والبرمجيات، وكان برنامج القاهرة من مايكروسوفت على الأقل محل اعتبار، حتى بدون أي إصدارات من أي من المنتجين. غالبًا ما قورنت حداثة شركة تاليجنت النظرية بمنصة نيكست الأقدم ولكنها ناضجة وراسخة تجاريًا. عقدت شركة صن اجتماعات استكشافية مع شركة تاليجنت قبل اتخاذ قرار بشأن بناء إطار عمل تطبيقاتها للبرمجيات OpenStep بالشراكة مع نيكست باعتبارها "خطوة استباقية ضد تاليجنت والقاهرة". كان باد تريبل ، المصمم المؤسس لجهاز ماكنتوش ونيكست ستيب، نائب رئيس قسم المنتجات في شركة صن سوفت لقيادة هذا القرار. تضمنت شراكة عام 1993 استثمارًا بقيمة 10 ملايين دولار من شركة صن في نيكست. وُصفت الصفقة بأنها "أول خبر سار غير مغشوش في مجتمع نيكست في السنوات الأربع الماضية". [2]

كان المفهوم الأساسي هو أخذ نسخة مختصرة من طبقات الكائنات في نظام التشغيل NeXTSTEP وتكييفها للعمل على نظام التشغيل Solaris من Sun، وبشكل أكثر تحديدًا، Solaris على الأجهزة المستندة إلى SPARC . كان معظم جهد OpenStep هو إزالة تلك الأجزاء من NeXTSTEP التي تعتمد على Mach أو أجهزة NeXT المحددة. أدى هذا إلى نظام أصغر يتكون في المقام الأول من Display PostScript ووقت تشغيل Objective-C والمُجمِّعات وأغلب مكتبات NeXTSTEP Objective-C. لم يتم تضمين نظام التشغيل الأساسي أو نظام العرض ذي المستوى الأدنى.

قال ستيف جوبز "نحن متقدمون اليوم، لكن السباق ما زال بعيدًا عن النهاية... [في عام 1996]، ستكون القاهرة قريبة جدًا من الخلف، وستكون تاليجنت بعيدة جدًا عن الخلف". قال الرئيس التنفيذي لشركة صن سكوت ماكنيلي ، "ليس لدينا بوليصة تأمين. لقد اتخذنا قرارًا حازمًا بشركة واحدة وهندسة معمارية واحدة، على عكس حصول تاليجنت على زوجة كأس من خلال التعاقد مع HP." [2] : 13 

نشرت شركة NeXT المسودة الأولى لواجهة برمجة التطبيقات في منتصف عام 1994. وفي وقت لاحق من ذلك العام، أصدرت الشركة نسخة متوافقة مع OpenStep من NeXTSTEP باسم OPENSTEP، مدعومة على العديد من منصاتها بالإضافة إلى أنظمة Sun SPARC. قدمت شركة NeXT مواصفات OpenStep إلى هيئات معايير الكائنات في الصناعة. [2] كانت واجهة برمجة تطبيقات OpenStep الرسمية، التي نُشرت في سبتمبر 1994، أول من قسم واجهة برمجة التطبيقات بين Foundation وApplication Kit وأول من استخدم بادئة "NS". [3] تستخدم الإصدارات المبكرة من NeXTSTEP بادئة "NX" وتحتوي فقط على Application Kit، وتعتمد على أنواع Unix libc القياسية لهياكل البيانات منخفضة المستوى. ظل OPENSTEP منتج نظام التشغيل الأساسي لشركة NeXT حتى اندمجت الشركة مع شركة Apple Computer في عام 1997. ثم تم دمج OPENSTEP مع تقنيات من نظام التشغيل Mac OS الكلاسيكي الحالي لإنتاج نظام التشغيل Mac OS X. يعد نظام التشغيل iOS الخاص بجهاز iPhone و iPad أيضًا من سلالة OPENSTEP، ولكنه يستهدف الأجهزة التي تعمل باللمس.

اعتمدت شركة Sun في الأصل بيئة OpenStep بهدف استكمال نظام Sun's CORBA المتوافق مع الكائنات، Solaris NEO (المعروف سابقًا باسم Project DOE)، من خلال توفير مجموعة أدوات واجهة مستخدم موجهة للكائنات لاستكمال السباكة الموجهة للكائنات CORBA. [2] تضمن المنفذ دمج OpenStep AppKit مع طبقة Display PostScript لخادم Sun X11 ، مما يجعل AppKit متسامحًا مع التعليمات البرمجية متعددة الخيوط (نظرًا لأن Project DOE كان متعدد الخيوط بشكل كبير بطبيعته)، وتنفيذ برنامج Solaris daemon لمحاكاة سلوك منافذ Mach، وتوسيع مُجمِّع SunPro C++ لدعم Objective-C باستخدام وقت تشغيل ObjC الخاص بـ NeXT، وكتابة مدير نوافذ X11 لتنفيذ مظهر NeXTSTEP وشعوره قدر الإمكان، ودمج أدوات تطوير NeXT، مثل Project Builder وInterface Builder، مع مُجمِّع SunPro. من أجل توفير بيئة كاملة للمستخدم النهائي، قامت Sun أيضًا بنقل إصدارات NeXTSTEP-3.3 للعديد من تطبيقات المستخدم النهائي، بما في ذلك Mail.app، وPreview.app، وEdit.app، وWorkspace Manager، و Dock .

تم تقسيم أجزاء OpenStep وCORBA من المنتجات لاحقًا، وتم إصدار NEO في أواخر عام 1995 بدون بيئة OpenStep. في مارس 1996، أعلنت Sun عن Joe، وهو منتج لدمج NEO مع Java . قامت Sun بشحن إصدار تجريبي من بيئة OpenStep لنظام Solaris في 22 يوليو 1996، [4] وجعلته متاحًا مجانًا للتنزيل في أغسطس 1996 للاستخدام غير التجاري، وللبيع في سبتمبر 1996. تم شحن OpenStep/Solaris فقط لهندسة SPARC.

وصف

يختلف OpenStep عن NeXTSTEP في عدة جوانب:

تعرف مواصفات واجهة برمجة التطبيقات OpenStep ثلاثة مكونات رئيسية: Foundation Kit، إطار العمل البرمجي ؛ وApplication Kit ، واجهة المستخدم الرسومية والواجهة الأمامية للرسومات؛ وDisplay PostScript، نظام رسوميات ثنائي الأبعاد (لرسم النوافذ والرسومات الأخرى على الشاشة).

البناء على OpenStep

كما سمح توحيد المعايير في OpenStep بإنشاء العديد من حزم المكتبات الجديدة التي تم تسليمها على منصة OPENSTEP. وعلى عكس نظام التشغيل ككل، تم تصميم هذه الحزم للعمل بشكل مستقل على أي نظام تشغيل تقريبًا. وكانت الفكرة هي استخدام كود OpenStep كأساس للتطبيقات التي تعمل على مستوى الشبكة عبر منصات مختلفة، بدلاً من استخدام CORBA أو أي نظام آخر.

كان من بين هذه الحزم حزمة Portable Distributed Objects (PDO). كانت حزمة Portable Distributed Objects في الأساس عبارة عن نسخة "مبسطة" من حزمة OpenStep تحتوي فقط على تقنيات Foundation Kit، مقترنة بمكتبات جديدة لتوفير استدعاء عن بعد باستخدام قدر ضئيل للغاية من التعليمات البرمجية. وعلى عكس حزمة OpenStep، التي حددت نظام تشغيل يمكن تشغيل التطبيقات فيه، فإن حزمة Portable Distributed Objects (PDO) كانت تُجمَّع المكتبات في التطبيق نفسه، مما أدى إلى إنشاء تطبيق "أصلي" مستقل لمنصة معينة. كانت حزمة Portable Distributed Objects صغيرة بما يكفي لتكون محمولة بسهولة، وتم إصدار إصدارات لجميع بائعي الخوادم الرئيسيين.

في منتصف تسعينيات القرن العشرين، بدأ موظفو NeXT في كتابة حلول لمقالات مجلة CORBA المختلفة في بضعة أسطر من التعليمات البرمجية، في حين أن المقالة الأصلية كانت تملأ عدة صفحات. وعلى الرغم من أن استخدام PDO يتطلب تثبيت قدر كبير من التعليمات البرمجية الداعمة (Objective-C والمكتبات)، إلا أن تطبيقات PDO كانت أصغر بكثير من حلول CORBA المماثلة، وعادة ما تكون بحجم نصف إلى ثلث الحجم.

قدمت D'OLE المماثلة نفس أنواع الخدمات، لكنها قدمت الكائنات الناتجة ككائنات COM ، بهدف السماح للمبرمجين بإنشاء خدمات COM تعمل على منصات عالية الطاقة، يتم استدعاؤها من تطبيقات Microsoft Windows . على سبيل المثال، يمكن للمرء تطوير تطبيق نمذجة مالية عالي الطاقة باستخدام D'OLE، ثم استدعائه مباشرة من داخل Microsoft Excel . عندما تم إصدار D'OLE لأول مرة، كان OLE يتواصل بمفرده فقط بين التطبيقات التي تعمل على جهاز واحد. مكّن PDO NeXT من إظهار تواصل Excel مع تطبيقات Microsoft الأخرى عبر شبكة قبل أن تتمكن Microsoft نفسها من تنفيذ هذه الوظيفة (DCOM).

كانت الحزمة الأخرى التي تم تطويرها على OpenStep هي Enterprise Objects Framework (EOF)، وهو منتج تعيين علاقات الكائنات .

التنفيذات

OPENSTEP لنظام Mach

كان نظام التشغيل الأول لشركة NeXT هو NeXTSTEP ، وهو نظام تشغيل متطور يعتمد على Mach-UNIX والذي كان يعمل في الأصل فقط على محطات عمل NeXT المستندة إلى Motorola 68k ، ثم تم نقله ليعمل على أجهزة الكمبيوتر الشخصية "المتوافقة مع IBM" المستندة إلى Intel x86 ذات 32 بت ، ومحطات العمل المستندة إلى PA-RISC من Hewlett-Packard ، ومحطات العمل المستندة إلى SPARC من Sun Microsystems .

لقد أكملت شركة NeXT تنفيذ OpenStep على نظام التشغيل القائم على Mach وأطلقت عليه اسم OPENSTEP for Mach 4.0 (يوليو 1996)، و4.1 (ديسمبر 1996)، و4.2 (يناير 1997). لقد كان في الواقع NeXTSTEP 4.0، وما زال يحتفظ بتقنيات NeXTSTEP الرائدة (مثل DPS ، وأسس UNIX، وخصائص واجهة المستخدم مثل Dock و Shelf ، وما إلى ذلك)، كما احتفظ بواجهة مستخدم NeXTSTEP الكلاسيكية والأنماط. تم تحسين OPENSTEP for Mach بشكل أكبر، مقارنةً بـ NeXTSTEP 3.3، مع دعم محسّن بشكل كبير للسائق - ومع ذلك، فقد تغيرت البيئة لكتابة السائقين بالفعل مع تقديم DriverKit الموجهة للكائنات.

كان نظام OPENSTEP for Mach يدعم أجهزة الكمبيوتر التي تعتمد على Intel x86 ومحطات العمل SPARC من Sun وهندسة 68k الخاصة بشركة NeXT، بينما تم التخلي عن إصدار HP PA-RISC. استمرت هذه الإصدارات في العمل على نظام التشغيل الأساسي القائم على Mach المستخدم في NeXTSTEP. أصبح نظام OPENSTEP for Mach نظام التشغيل الأساسي لشركة NeXT منذ عام 1995، وتم استخدامه بشكل أساسي على منصة Intel. بالإضافة إلى كونه تنفيذًا كاملاً لـ OpenStep، تم تسليم النظام بمجموعة كاملة من مكتبات NeXTSTEP للتوافق مع الإصدارات السابقة. كان هذا أمرًا سهلاً في OpenStep بسبب إصدارات المكتبات، ولم يعاني OPENSTEP من الانتفاخ بسبب ذلك.

سولاريس أوبن ستيب

بالإضافة إلى منفذ OPENSTEP for Mach لـ SPARC، طورت Sun وNeXT مجموعة من الأطر المتوافقة مع OpenStep لتشغيلها على نظام التشغيل Solaris من Sun. بعد تطوير Solaris OpenStep، فقدت Sun اهتمامها بـ OpenStep وحوّلت انتباهها نحو Java. كبيئة تطوير للآلة الافتراضية، عملت Java كمنافس مباشر لـ OpenStep. على عكس الإصدارات الأخرى، كان Solaris OpenStep يحتوي على Interface Builder وProject Builder تم بيعهما في حزمة منفصلة تسمى Workshop OpenStep. [5] [6]

برنامج OpenStep Enterprise

كما قدمت شركة NeXT أيضًا تطبيقًا يعمل على نظام التشغيل Windows NT 4.0 يسمى OPENSTEP Enterprise (غالبًا ما يُختصر باسم OSE). كان هذا بمثابة عرض غير مقصود للطبيعة الحقيقية لقابلية نقل البرامج التي تم إنشاؤها بموجب مواصفات OpenStep. يمكن نقل البرامج المخصصة لـ OPENSTEP for Mach إلى OSE دون صعوبة كبيرة. سمح هذا لقاعدة عملائها الحالية بمواصلة استخدام أدواتهم وتطبيقاتهم، ولكن تشغيلها على نظام التشغيل Windows، الذي كان العديد منهم في طور التحول إليه. لم يكن هذا مطابقًا تمامًا من منظور واجهة المستخدم، ربما بسبب توجيه OPENSTEP لرسومات النوافذ من خلال خادم Display Postscript - والذي تم نقله أيضًا إلى Windows - ومع ذلك تمكن OSE من العمل بشكل جيد إلى حد ما ومد العمر التجاري لـ OpenStep.

كان هناك تنقيحان لبرنامجي OPENSTEP وOSE (وتنقيح رئيسي واحد لم يتم إصداره مطلقًا) قبل أن تقوم Apple بشراء NeXT في عام 1997.

Rhapsody، Mac OS X Server 1.0

بعد الاستحواذ على NeXT، كانت Apple تنوي طرح Rhapsody كإصدار مُعاد صياغته من OPENSTEP for Mach لكل من أجهزة Mac وأجهزة الكمبيوتر الشخصية القياسية. كان Rhapsody عبارة عن OPENSTEP for Mach بمظهر Copland من Mac OS 8 ودعم Java وتقنيات Apple الخاصة، بما في ذلك ColorSync و QuickTime ؛ يمكن اعتباره OPENSTEP 5. تم إصدار نسختين للمطورين من Rhapsody، والمعروفتين باسم Developer Preview 1 و2؛ تم تشغيلهما على مجموعة فرعية محدودة من كل من أجهزة Intel وPowerPC. كان Mac OS X Server 1.0 هو الإصدار التجاري الأول لنظام التشغيل هذا، وتم تسليمه حصريًا لأجهزة PowerPC Mac.

داروين، Mac OS X 10.0 والإصدارات الأحدث

بعد استبدال Display Postscript WindowServer بـ Quartz ، والاستجابة للمطورين من خلال تضمين توافق أفضل مع الإصدارات السابقة لتطبيقات Mac OS الكلاسيكية من خلال إضافة Carbon ، أصدرت Apple نظامي التشغيل Mac OS X و Mac OS X Server ، بدءًا من الإصدار 10.0؛ يُسمى Mac OS X الآن macOS.

بيئة البرمجة الأساسية لنظام macOS هي في الأساس OpenStep (مع بعض الإضافات مثل قوائم خصائص XML وفئات URL لاتصالات الإنترنت) مع منافذ macOS لمكتبات وأدوات التطوير، والتي تسمى الآن Cocoa .

منذ ذلك الحين، أصبح نظام التشغيل macOS هو نظام التشغيل المشابه لنظام التشغيل Unix الأكثر شعبية على مستوى العالم، على الرغم من أن نظام التشغيل macOS لم يعد متوافقًا مع OpenStep. [ بحاجة لمصدر ]

جنوستيب

GNUstep، وهو تطبيق برمجي مجاني لمكتبات NeXT ، بدأ في وقت NeXTSTEP، أي قبل OPENSTEP. وفي حين قامت شركة Apple بشراء OPENSTEP وOSE، والتي أنهت فعليًا التطوير التجاري لتطبيق OpenStep على منصات أخرى، فإن GNUstep هو مشروع مفتوح المصدر مستمر يهدف إلى إنشاء تطبيق برمجي مجاني محمول لمكتبات Cocoa/OPENSTEP.

يتميز GNUstep أيضًا ببيئة تطوير وظيفية بالكامل، وإعادة تنفيذ بعض الابتكارات الأحدث من إطار عمل Cocoa الخاص بنظام التشغيل macOS ، بالإضافة إلى ملحقاته الخاصة بواجهة برمجة التطبيقات.

انظر أيضا

مراجع

  1. ^ Lineback, Nathan. "OPENSTEP 4.2, Intel version. Screen shots". Toastytech.com .
  2. ^ abcd Tribble, Bud (فبراير 1994). "Bud Tribble Explains It All". NeXTWORLD (مقابلة). مقابلة مع NeXTWORLD. ص 23-24 . تم الاسترجاع في 10 فبراير 2019 .
  3. ^ دليل أساسيات الكاكاو: لمحة تاريخية
  4. ^ "Sun تعلن عن توفر Solaris OpenStep وWorkshop OpenStep Beta" (بيان صحفي). Sun Microsystems, Inc. تم الاسترجاع في 2006-10-25 .
  5. ^ "أدوات تطوير OpenStep - 1 مقدمة". docs.sun.com . مؤرشف من الأصل في 27 أبريل 2005 . تم الاسترجاع 21 مايو 2023 .
  6. ^ McGirr, Lili (22 Jul 1996). "Sun Announces Availability of Solaris OpenStep and Workshop OpenStep Beta; Meets Customer Demand For Operating System and Object-based Development Environment". thefreelibrary.com . Business Wire. مؤرشف من الأصل في 23 أكتوبر 2012 . تم الاسترجاع في 21 مايو 2023 .
  • مواصفات OpenStep
  • قائمة الفئات في مواصفات OpenStep
  • مواصفات OPENSTEP
  • ورشة عمل SUNs OpenStep AnswerBook
  • مدونة ريتش بوريدج حول OpenStep في SUN
  • نيكستونيان
  • موقع NeXTComputers.org
  • OpenMagic 1.0 لـ Sparc بواسطة Luke Th. Bullock
  • أرشيف NeXTanswers
Retrieved from "https://en.wikipedia.org/w/index.php?title=OpenStep&oldid=1252227108"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate