OpenStep

редактировать
OpenStep
Разработчик (и) NeXT, Sun Microsystems
Первоначальный выпуск19 октября 1994 г.; 26 лет назад (1994-10-19)
Написано наObjective-C
Операционная система Solaris ; Windows NT ; Unix-подобные операционные системы с ядром Mach
Platform IA-32, PA-RISC, SPARC
Доступно наанглийском
Типе Интерфейс прикладного программирования
Веб-сайтwww.gnustep.org / resources / OpenStepSpec / OpenStepSpec.html

OpenStep - это несуществующая объектно-ориентированная спецификация интерфейса прикладного программирования (API) для устаревшего объектно-ориентированного операционная система, с основной целью предложить среду, подобную NeXTSTEP, в операционных системах, отличных от NeXTSTEP. OpenStep был в основном разработан NeXT вместе с Sun Microsystems, чтобы обеспечить расширенную разработку приложений в операционных системах Sun, в частности, Solaris. NeXT выпустила версию OpenStep для своей собственной Mach -базированной Unix, стилизованной под OPENSTEP, а также версию для Windows NT. Программные библиотеки , поставляемые с OPENSTEP, являются расширенным набором исходной спецификации OpenStep, включая многие функции оригинального NeXTSTEP.

Содержание
  • 1 История
  • 2 Описание
  • 3 Основание на OpenStep
  • 4 Реализации
    • 4.1 OPENSTEP для Mach
    • 4.2 Solaris OpenStep
    • 4.3 OPENSTEP Enterprise
    • 4.4 Rhapsody, Mac OS X Server 1.0
    • 4.5 Darwin, Mac OS X 10.0 и новее
    • 4.6 GNUstep
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
История

В раннюю эру истории Sun Microsystems машины Sun были запрограммированы на относительно низком уровне, выполняя вызовы непосредственно в базовую Unix операционную систему и создавая графический пользовательский интерфейс (GUI) с использованием системы X11. Это привело к сложному программированию даже для простых проектов. Попытка решить эту проблему с помощью объектно-ориентированной модели программирования была предпринята в середине 1980-х годов с помощью оконной системы Sun NeWS , но сочетания сложной интерфейс прикладного программирования (API) и, как правило, низкая производительность привели к небольшому использованию в реальном мире, и в конечном итоге от системы отказались.

Затем Сунь начал искать другие варианты. Taligent считался конкурентом на рынке операционных систем и объектов, а Cairo от Microsoft был, по крайней мере, предметом рассмотрения, даже без каких-либо выпусков продуктов от них. Теоретическую новизну Taligent часто сравнивали с более старой, но зрелой и коммерчески устоявшейся платформой NeXT. Sun провела предварительные встречи с Taligent, прежде чем принять решение о создании своей среды объектных приложений OpenStep в партнерстве с NeXT в качестве «упреждающего шага против Taligent и Cairo». Бад Триббл, разработчик-основатель Macintosh и NeXTStep, теперь стал вице-президентом SunSoft по объектным продуктам и руководил этим решением. Партнерство 1993 года включало в себя 10 миллионов долларов инвестиций Sun в NeXT. Сделка была описана как «первая настоящая хорошая новость в сообществе NeXT за последние четыре года».

Основная идея заключалась в том, чтобы взять урезанную версию операционной системы NeXTSTEP и адаптировать их для работы в операционной системе Sun Solaris, в частности, Solaris на аппаратном обеспечении на основе SPARC. Большая часть усилий OpenStep заключалась в том, чтобы убрать те части NeXTSTEP, которые зависели от наличия оборудования, специфичного для Mach или NeXT. Это привело к уменьшению размера системы, состоящей в основном из Display PostScript, среды выполнения и компиляторов Objective-C, а также большинства библиотек NeXTSTEP Objective-C. Не была включена базовая операционная система или система отображения нижнего уровня.

Стив Джобс сказал: «Сегодня мы впереди, но гонка еще далека от завершения... [В 1996 году] Каир будет очень близко позади, а Талиджент будет очень далеко». Генеральный директор Sun Скотт Макнили сказал: «У нас нет страхового полиса. Мы приняли твердое решение в отношении одной компании и одной архитектуры, в отличие от Taligent, получившего трофейную супругу после регистрации в HP».

Первый проект API был опубликован NeXT в середине 1994 года. Позже в том же году они выпустили OpenStep-совместимую версию NeXTSTEP под названием OPENSTEP, поддерживаемую на нескольких их платформах, а также в системах Sun SPARC. NeXT представила спецификацию OpenStep отраслевым органам по стандартизации объектов. Официальный OpenStep API, опубликованный в сентябре 1994 года, был первым, разделившим API между Foundation и Application Kit, и первым, кто использовал префикс «NS». Ранние версии NeXTSTEP используют префикс «NX» и содержат только Application Kit, полагаясь на стандартные типы Unix libc для низкоуровневых структур данных. OPENSTEP оставался основным продуктом операционной системы NeXT до тех пор, пока компания не была приобретена Apple Computer в 1997 году. OPENSTEP был затем объединен с технологиями из существующей классической Mac OS для производства Mac OS X. iPhone и iPad iOS также является потомком OPENSTEP, но нацелен на сенсорные устройства.

Sun изначально приняла среду OpenStep с целью дополнить CORBA -совместимую объектную систему Sun, Solaris NEO (ранее известную как Project DOE), предоставив объект -ориентированный инструментарий пользовательского интерфейса, дополняющий объектно-ориентированную систему CORBA. Порт включал интеграцию OpenStep AppKit со слоем Display PostScript сервера Sun X11, что делало AppKit устойчивым к многопоточному коду (поскольку Project DOE изначально был сильно многопоточным), реализуя демон Solaris для имитировать поведение портов Mach, расширяя компилятор SunPro C ++ для поддержки Objective-C с использованием среды выполнения NeXT ObjC, создавая оконный менеджер 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 г. и сделала ее свободно доступной для загрузки в августе 1996 г. для некоммерческого использования и для продажи в сентябре 1996 г. OpenStep / Solaris поставлялся только для архитектуры SPARC.

Описание

OpenStep отличается от NeXTSTEP по-разному:

Спецификация OpenStep API определяет три основных компонента: Foundation Kit, программная среда ; Application Kit, GUI и графический интерфейс; и Display PostScript, система 2D-графики (для рисования окон и другой графики на экране).

Создание на OpenStep

Стандартизация OpenStep также позволила создать несколько новых библиотечных пакетов, которые были доставлены на платформе OPENSTEP. В отличие от операционной системы в целом, эти пакеты были разработаны для автономной работы практически в любой операционной системе. Идея заключалась в том, чтобы использовать код OpenStep в качестве основы для общесетевых приложений, работающих на разных платформах, вместо использования CORBA или какой-либо другой системы.

Основным среди этих пакетов был Portable Distributed Objects (PDO). PDO был, по сути, еще более «урезанной» версией OpenStep, содержащей только технологии Foundation Kit, в сочетании с новыми библиотеками для обеспечения удаленного вызова с очень небольшим количеством кода. В отличие от OpenStep, который определял операционную систему, в которой будут работать приложения, в PDO библиотеки были скомпилированы в само приложение, создавая автономное «родное» приложение для конкретной платформы. PDO был достаточно мал, чтобы его можно было легко переносить, и были выпущены версии для всех основных поставщиков серверов.

В середине 1990-х сотрудники 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), чрезвычайно мощный (для того времени) продукт объектно-реляционного сопоставления. EOF стал очень популярным на корпоративном рынке, особенно в финансовом секторе, где OPENSTEP произвел что-то вроде незначительной революции.

Реализации

OPENSTEP для Mach

Первой операционной системой NeXT была NeXTSTEP, сложная операционная система на базе Mach-UNIX, которая первоначально работала только на рабочих станциях NeXT Motorola 68k, а затем была перенесена для работы на 32-битной платформе Intel x86 "IBM-совместимые" персональные компьютеры, рабочие станции на основе 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 для Mach был дополнительно улучшен по сравнению с NeXTSTEP 3.3, благодаря значительно улучшенной поддержке драйверов - однако среда для фактической записи драйверов была изменена с появлением объектно-ориентированного DriverKit.

OPENSTEP для Mach поддерживал ПК на базе Intel x86, рабочие станции Sun SPARC и собственные архитектуры NeXT на базе 68k, тогда как версия HP PA-RISC была исключена. Эти версии продолжали работать на базовой ОС на базе Mach, используемой в NeXTSTEP. OPENSTEP для Mach стала основной ОС NeXT с 1995 года и использовалась в основном на платформе Intel. Помимо полной реализации OpenStep, система поставлялась с полным набором библиотек NeXTSTEP для обратной совместимости. Это было легко сделать в OpenStep из-за управления версиями библиотеки, и OPENSTEP не пострадал из-за этого.

Solaris OpenStep

В дополнение к OPENSTEP для порта Mach для SPARC, Sun и NeXT разработали совместимый с OpenStep набор фреймворков для работы в операционной системе Sun Solaris. После разработки Solaris OpenStep Sun потеряла интерес к OpenStep и переключила свое внимание на Java. В качестве среды разработки виртуальных машин Java была прямым конкурентом OpenStep.

OPENSTEP Enterprise

NeXT также предоставил реализацию, работающую поверх Windows NT 4.0, под названием OPENSTEP Enterprise (часто сокращенно OSE). Это была непреднамеренная демонстрация истинного характера переносимости программ, созданных в соответствии со спецификацией OpenStep. Программы для OPENSTEP для Mach можно без труда перенести в OSE. Это позволило существующей клиентской базе продолжать использовать свои инструменты и приложения, но запускать их в Windows, на которую многие из них переходили. Никогда не было точного совпадения с точки зрения пользовательского интерфейса, вероятно, из-за маршрутизации оконной графики OPENSTEP через сервер Display Postscript, который также был перенесен на Windows, тем не менее, OSE смогла работать достаточно хорошо и продлить коммерческую жизнь OpenStep.

OPENSTEP и OSE имели две версии (и одну основную, которая так и не была выпущена) до того, как NeXT была куплена Apple в 1997 году.

Rhapsody, Mac OS X Server 1.0

После приобретения NeXT Apple намеревалась выпустить Rhapsody как переработанную версию OPENSTEP for Mach как для Mac, так и для стандартных ПК. Rhapsody была OPENSTEP для 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

GNUstep, бесплатное программное обеспечение Реализация библиотек NeXT началась во времена NeXTSTEP, до OPENSTEP. В то время как OPENSTEP и OSE были приобретены Apple, которая фактически прекратила коммерческую разработку реализации OpenStep для других платформ, GNUstep является текущим проектом с открытым исходным кодом, направленным на создание переносимой бесплатной программной реализации библиотек Cocoa / OPENSTEP.

GNUstep также включает в себя полнофункциональную среду разработки, в которой реализованы некоторые новые инновации из среды macOS Cocoa, а также собственные расширения API.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-01 12:38:12
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте