Кіріспе
Қолданыстан шыққан объектіге бағытталған қолданбалы бағдарламалау интерфейсінің сипаттамасы
OpenStep – NeXT компаниясы әзірлеген объектіге бағытталған қолданбалы бағдарламалау интерфейсі (API) сипаттамасы. Ол графикалық пайдаланушы интерфейстерін (GUI) құру және бағдарламалық қамтамасты дамыту үшін құрылғы болып табылады. OpenStep платформаға тәуелсіздік принципімен құрастырылған, бұл дамытушыларға NeXTSTEP, Windows NT және түрлі Unix негізделген жүйелерде жұмыс істейтін код жазуға мүмкіндік береді. Ол басқа GUI фреймворктарының, мысалы, macOS үшін Cocoa және GNUstep сияқты дамуына ықпал етті. OpenStep негізінен NeXT және Sun Microsystems компаниялары Sun операциялық жүйелерінде, әсіресе Solaris-те кеңейтілген қолданбаларды дамытуға мүмкіндік беру үшін әзірледі. NeXT өзінің Mach негізделген Unix операциялық жүйесі үшін OpenStep нұсқасын шығарды, ол OPENSTEP деп толық әріптермен жазылған. OPENSTEP-пен бірге келген бағдарламалық кітапханалар бастапқы OpenStep сипаттамасының кеңейтілген түрі болып табылады, олардың ішінде бастапқы NeXTSTEP-тің көптеген мүмкіндіктері бар.
Тарих
Sun Microsystems жұмыс станциялары бастапқыда салыстырмалы түрде төмен деңгейде бағдарламаланған, Unix операциялық жүйесіне және SunView терезелік жүйе құрал жиынтығына, сондай-ақ осы интерфейстердің үстінде құрылған кітапханаларға тікелей шақырулар жасаған. Бұл тіпті қарапайым жобалар үшін де күрделі бағдарламалауға әкелді. Бұл мәселені шешу үшін 1980-ші жылдардың ортасында Sun компаниясының NeWS терезелік жүйесімен объектіге бағдарланған бағдарламалау моделін енгізуге тырысты, бірақ күрделі қолданбалық бағдарламалау интерфейсі (API) және жалпы нашар өнімділік нақты қолданысқа аз әкелді және жүйе ақырында тоқтатылды. Сол кезде Sun басқа нұсқаларды іздеуді бастады. Taligent операциялық жүйелер және объект нарықтарында бәсекелес деп есептелді, ал Microsoft-тың Cairo жобасы да ескерілді, тіпті ешқандай өнім шығарылмағанмен де. Taligent-тің теориялық жаңалығы көбінесе NeXT-тің ескі, бірақ толыққанды және коммерциялық тұрғыда қалыптасқан платформасымен салыстырылды. Sun NeXT компаниясымен серіктестік құрып, "Taligent және Cairo-ға қарсы алдын ала соққы беру" мақсатымен өзінің OpenStep объектілік қолданбалық базасын құру туралы шешім қабылдамас бұрын Taligent компаниясымен зерттеу кездесулерін өткізді. Бұл шешімді басқару үшін Macintosh және NeXTStep-тің негізін қалаушы Бад Триббл SunSoft компаниясының Объектілік өнімдер вице-президенті болып тағайындалды. 1993 жылғы серіктестік аясында Sun NeXT компаниясына 10 миллион доллар инвестициялады. Бұл келісім "NeXT қауымдастығы үшін соңғы төрт жылдағы алғашқы жақсы жаңалық" деп сипатталды. Негізгі идея NeXTSTEP операциялық жүйесінің объектілік қабаттарының қысқартылған нұсқасын алып, оны Sun-нің Solaris операциялық жүйесінде, әсіресе SPARC негізіндегі аппараттық құралдарда жұмыс істеуге бейімдеу болды. OpenStep жұмысының басым бөлігі NeXTSTEP-тің Mach немесе NeXT-ке тән жабдыққа тәуелді бөліктерін жою болды. Бұл негізінен Display PostScript, Objective C орындалу ортасы және компиляторлары, сондай-ақ NeXTSTEP Objective C кітапханаларының көп бөлігінен тұратын кішірек жүйеге әкелді. Негізгі операциялық жүйе немесе төменгі деңгейдегі дисплей жүйесі кірмеді. Стив Джобс: "Біз бүгін алға шықтық, бірақ жарыс әлі аяқталған жоқ. [1996 жылы] Cairo бізге өте жақын болады, ал Taligent артта қалады". Sun компаниясының бас директоры Скотт Макнили: "Бізде ешқандай кепілдік жоқ. Біз бір компания, бір архитектура шешімін қабылдадық, Taligent HP-ге қосылып, «Трофейлі әйел» сияқты болғанмен емес". NeXTSTEP-тің ерте нұсқалары "NX" префиксін қолданды және төменгі деңгейдегі деректер құрылымдары үшін стандартты Unix libc түрлеріне сүйенген Application Kit-ті ғана қамтыды. 1997 жылы Apple Computer компаниясы NeXT компаниясын сатып алғанға дейін OPENSTEP NeXT-тің негізгі операциялық жүйе өнімі болып қала берді. OPENSTEP кейін қолданыстағы классикалық Mac OS технологияларымен біріктіріліп, Mac OS X құрылды. iPhone және iPad-тің iOS-ы да OPENSTEP-тің ұрпағы, бірақ сенсорлық құрылғыларға бағытталған. Sun бастапқыда OpenStep ортасын қабылдады, себебі ол Sun-нің CORBA-ға сәйкес келетін объектілік жүйесі Solaris NEO (бұрынғы Project DOE) толықтыруға арналған, объектіге бағдарланған CORBA құбырларын толықтыру үшін объектіге бағдарланған пайдаланушы интерфейсі құрал жиынтығын ұсынуды көздеді. және 1996 жылдың тамыз айында коммерциялық емес мақсатта, ал 1996 жылдың қыркүйек айында сатуға қолжетімді болды. OpenStep/Solaris тек SPARC архитектурасы үшін шығарылды.
OpenStep-те құру
OpenStep-тегі стандарттау сонымен қатар OPENSTEP платформасында жеткізілген бірнеше жаңа кітапханалық жиынтықтарды жасауға мүмкіндік берді. Операциялық жүйеге қарағанда, бұл жиынтықтар іс жүзінде кез келген операциялық жүйеде дербес жұмыс істеуге арналған. Идеясы – OpenStep кодын CORBA немесе басқа жүйелерді пайдаланудың орнына, әртүрлі платформаларда жұмыс істейтін, желілік ауқымдағы қосымшалар үшін негіз ретінде қолдану болды. Осы жиынтықтардың ішіндегі ең маңыздысы – Портативті таралған объектілер (PDO) болды. PDO, негізінен, OpenStep-тің күрдегінен айырылған, тек Foundation Kit технологиясын қамтитын және қашықтан шақыруды қамтамасыз ету үшін жаңа кітапханалармен біріктірілген нұсқасы еді. OpenStep қолданбалар жұмыс істейтін операциялық жүйені анықтаса, PDO-да кітапханалар қолданбаның өзіне компиляцияланды, нәтижесінде белгілі бір платформа үшін дербес "туған" қолданба құрылды. PDO оңай тасымалданатындай кішкентай болды және барлық негізгі серверлерге арналған нұсқалары шығарылды. 1990 жылдардың ортасында NeXT қызметкерлері CORBA журналындағы кейбір мақалаларға бірнеше жолдық кодпен шешімдер ұсынды, ал түпнұсқа мақалалар бірнеше бетке созылған. PDO-ны пайдалану үшін қосалқы кодтың (Objective C және кітапханалар) орнатылуы қажет болғанымен, PDO қолданбалары ұқсас CORBA шешімдеріне қарағанда айтарлықтай кішірек болды, әдетте шамамен жартысынан үштен бірінің көлемінде. Сол сияқты, D'OLE да сондай қызметтерді ұсынды, бірақ нәтижесінде алынған объектілерді COM объектілері ретінде ұсынды, мақсаты – бағдарламашыларға Microsoft Windows қолданбаларынан шақырылатын, қуатты платформаларда жұмыс істейтін COM қызметтерін жасауға мүмкіндік беру еді. Мысалы, D'OLE арқылы жоғары қуатты қаржылық модельдеу қолданбасын жасап, оны тікелей Microsoft Excel-ден шақыруға болады. D'OLE алғаш рет шығарылған кезде, OLE тек бір машинада жұмыс істейтін қолданбалар арасында байланыс орнататын. PDO NeXT-ке Microsoft өзі осы мүмкіндікті (DCOM) іске асыра алмас бұрын, желі арқылы басқа Microsoft қолданбаларымен сөйлесетін Excel-ді көрсетуге мүмкіндік берді. OpenStep-те жасалған тағы бір жиынтық – Объектілердің реляциялық карталау өнімі болып табылатын Enterprise Objects Framework (EOF) еді.
Махқа арналған OPENSTEP
NeXT-тің алғашқы операциялық жүйесі NeXTSTEP болды, бұл бастапқыда тек NeXT-тің Motorola 68k негізіндегі жұмыс станцияларында ғана жұмыс істейтін, бірақ кейін 32 биттік Intel x86 негізіндегі "IBM үйлесімді" жеке компьютерлерде, Hewlett Packard-тың PA RISC негізіндегі жұмыс станцияларында және Sun Microsystems-тің SPARC негізіндегі жұмыс станцияларында жұмыс істеу үшін түрлендірілді. NeXT өзінің қолданыстағы Mach негізделген операциялық жүйесінде OpenStep-тің іске асырылуын аяқтады және оны Mach 4.0 (шілде, 1996), 4.1 (желтоқсан, 1996) және 4.2 (қаңтар, 1997) үшін OPENSTEP деп атады. Бұл, мәні жағынан, NeXTSTEP 4.0 болды және NeXTSTEP-тің негізгі технологияларын (мысалы, DPS, UNIX негіздері, Dock және Shelf сияқты пайдаланушы интерфейсінің ерекшеліктері және т.б.) сақтап, классикалық NeXTSTEP пайдаланушы интерфейсі мен стильдерін ұстады. NeXTSTEP 3.3-ке қарағанда, Mach үшін OPENSTEP драйверлерді қолдауды едәуір жақсарту арқылы одан әрі жетілдірілді, бірақ драйверлерді жазу ортасы объектіге бағытталған DriverKit енгізілгеннен кейін өзгерді. OPENSTEP for Mach Intel x86 негізіндегі дербес компьютерлерді, Sun-ның SPARC жұмыс станцияларын және NeXT-тің 68k негізіндегі архитектураларын қолдады, ал HP PA RISC нұсқасы қолдаудан алынды. Бұл нұсқалар NeXTSTEP-те қолданылатын Mach негізделген операциялық жүйеде жұмыс істеуін жалғастырды. OPENSTEP for Mach 1995 жылдан бастап NeXT-тің негізгі операциялық жүйесіне айналды және негізінен Intel платформасында қолданылды. Бұл жүйе толыққанды OpenStep іске асырылуымен қатар, кері үйлесімділік үшін NeXTSTEP кітапханаларының толық жиынтығымен бірге келді. OpenStep-те кітапхана нұсқаларын басқару оңай болғандықтан, бұл оңай жасалды және OPENSTEP осы себепті ауыр болған жоқ.
Solaris OpenStep- тің атауы
SPARC үшін OPENSTEP for Mach портынан өзге, Sun және NeXT компаниялары Sun-ның Solaris операциялық жүйесінде іске қосылатын OpenStep стандартына сәйкес фреймворктер жиынтығын жасады. Solaris OpenStep-ті жасағаннан кейін Sun OpenStep-ке деген қызығушылығын жоғалтып, Java-ға көшті. Java, виртуалды машинаны дамыту ортасы ретінде, OpenStep-ке тікелей бәсекелес болды. Басқа нұсқаларынан ерекшелігі, Solaris OpenStep-тің Interface Builder және Project Builder құралдары Workshop OpenStep деп аталатын жеке пакет ретінде сатылды.
OPENSTEP Enterprise (ОПЕНСТЕП Кәсіпорын)
NeXT сонымен қатар Windows NT 4.0 үстінде жұмыс істейтін OPENSTEP Enterprise (көбінесе OSE деп қысқартылады) деп аталатын нұсқасын ұсынды. Бұл OpenStep спецификациясы бойынша жасалған бағдарламалардың көшіруге оңайлығының нақты дәлелі болды. Mach үшін жасалған OPENSTEP бағдарламаларын OSE-ге көшіру өте оңай болды. Бұл олардың бұрынғы клиенттеріне құралдарын және қолданбаларын пайдалануды жалғастыруға мүмкіндік берді, бірақ енді оларды Windows жүйесінде іске қоса алатын болды, көптеген клиенттер осы жүйеге көшу процесінде болғандықтан. UI интерфейсі тұрғысынан толық сәйкестік болған жоқ, бұл мүмкін, OPENSTEP терезе графикасын Display Postscript сервері арқылы бағыттап жібергендіктен, ол да Windows-қа көшірілген еді. Дегенмен, OSE жақсы жұмыс істеді және OpenStep-тің коммерциялық өмірін ұзартты. NeXT компаниясы 1997 жылы Apple компаниясымен сатып алынар алдында OPENSTEP және OSE екі рет жаңартылды (және бір маңызды жаңарту ешқашан жарық көрмеді).
Rhapsody, Mac OS X Server 1.0 (Mac OS X Server 1.0) дегенді қолдану
NeXT компаниясын сатып алғаннан кейін Apple Rhapsody-ді Mac және стандартты PC-лер үшін OPENSTEP for Mach-тің жаңартылған нұсқасы ретінде шығаруды жоспарлаған. Rhapsody – бұл Mac OS 8-дің Copland интерфейсімен және Java мен ColorSync және QuickTime сияқты Apple-дің өзіндік технологияларын қолдаумен жабдықталған OPENSTEP for Mach; оны OPENSTEP 5 деп санауға болады. Rhapsody-дің екі әзірлеуші нұсқасы шығарылды, олар Developer Preview 1 және 2 деп аталды; олар Intel және PowerPC аппараттық құралдарының шектеулі жиынтығында жұмыс істеді. Mac OS X Server 1.0 – бұл операциялық жүйенің алғашқы коммерциялық нұсқасы және ол тек PowerPC Mac аппараттық құралдары үшін ғана жеткізілді.
Darwin, Mac OS X 10.0 және одан кейінгілер
Display Postscript WindowServer-ді Quartz-бен алмастырғаннан кейін және Carbon-ды қосу арқылы классикалық Mac OS қолданбаларымен кері үйлесімділікті жақсартып, әзірлеушілерге жауап бергеннен кейін, Apple 10.0 нұсқасынан бастап Mac OS X және Mac OS X Server-ді шығарды; Mac OS X енді macOS деп аталады. macOS-тің негізгі бағдарламалау ортасы негізінен OpenStep (XML қасиеттерінің тізімі және интернет байланыстары үшін URL сыныптары сияқты бірнеше қосымшалармен) қазір Cocoa деп аталатын дамыту кітапханалары мен құралдарының macOS порттарынан тұрады. macOS қазір әлемдегі ең танымал Unix-қа ұқсас операциялық жүйеге айналды, бірақ macOS енді OpenStep стандартына сәйкес келмейді.
GNUstep-тің атауы
GNUstep – NeXT кітапханаларының тегін бағдарламалық қамтамасыздылу іске асырылымы, NeXTSTEP дәуірінде басталып, OPENSTEP-тен бұрын пайда болды. OPENSTEP және OSE компаниясы Apple-ға сатылып, ол басқа платформалар үшін OpenStep-ті іске асырудың коммерциялық дамуын тоқтатты. Ал GNUstep – Cocoa/OPENSTEP кітапханаларының портативті, тегін бағдарламалық қамтамасыздылуын жасауға бағытталған, үздіксіз дамып келе жатқан ашық кодты жоба. GNUstep толыққанды даму ортасын, macOS-тің Cocoa фреймворкінен кейбір жаңа жетістіктерін қайта іске асыруды, сондай-ақ API-ға өзіндік кеңейтімдерді де ұсынады.