Кіріспе

Ашық кодты виджеттер жиынтығы және қосымшаларды әзірлеу құралдары

GNUstep – Unix сияқты операциялық жүйелер мен Microsoft Windows үшін Cocoa (бұрын OpenStep) Objective C фреймворктарының, виджеттер жиынтығының және қосымшаларды әзірлеу құралдарының тегін бағдарламалық қамтамасы. Ол GNU жобасының бір бөлігі. GNUstep платформалық, объектіге бағытталған IDE мүмкіндігіне ие. Стандартты Objective C интерфейсінен өзге, GNUstep Java, Ruby, GNU Guile және Scheme үшін де байланыстарды ұсынады. GNUstep әзірлеушілері үйлесімділікті сақтау үшін Apple Cocoa-ға енгізілген кейбір өзгерістерді қадағалайды. GNUstep қосымша интерфейсінің бастаулары Cocoa-ның бастауларымен бірдей: NeXTSTEP және OpenStep. Осылайша, GNUstep Apple компаниясы NeXT технологиясын сатып алып, оны алғашқы Mac OS X әзірлеуге енгізер алдында пайда болды, ал GNUstep бастапқыда GNU әзірлеушілерінің NeXTSTEP-тің техникалық тұрғыдан амбициялы және бағдарламашыларға ыңғайлы мүмкіндіктерін қайта жасауға жасаған тырысы болды.

Тарих

GNUstep Пауль Кунц және Стэнфорд сызықтық үдеткіш орталығының басқалары HippoDraw-ды NeXTSTEP-тен басқа платформаға көшіруді қалаған кезде басталды. HippoDraw-ды бастапқы кодтан қайта жазудың және тек қолданба дизайнын пайдаланудың орнына, олар қолданбаның тәуелділігі болған NeXTSTEP объект қабатын қайта жазуға шешім қабылдады. Бұл libobjcX-тің алғашқы нұсқасы болды. Осы арқылы олар HippoDraw-ды X Window System жүйесінде жұмыс істейтін Unix жүйелеріне қолданба кодын бір өзгертпестен көшіре алды. 1994 жылы OpenStep спецификациясы жарияланғаннан кейін, олар жаңа API-ға сәйкес келетін жаңа objcX жазуға бекінді. Бұл бағдарламалық құрал "GNUstep" деп аталды.

Рендеринг

GNUstep Objective C бағдарламалау тілінде жазылған графикалық басқару элементтерінің жиынтығын қамтиды. GNUMail графикалық пайдаланушы интерфейсі (GUI) графикалық басқару элементтерінен құралған. GNUMail терезелік жүйемен, мысалы, X11 немесе Wayland-пен өзара әрекеттесуі керек, және оның графикалық пайдаланушы интерфейсі көрсетілуі тиіс. GNUstep-тің артқы бөлігі (backend) пайдаланушы интерфейсі кітапханасының нақты терезелік жүйеге қосылуы үшін қолданылатын функциялар жиынтығын ұсынады. Ол сонымен қатар, кең таралған PostScript функцияларын эмуляциялайтын рендеринг қозғалтқышын қамтиды. gnustep back жинағы келесі артқы бөліктерді ұсынады:

cairo – Cairo 2D графикалық кітапханасын пайдаланатын әдепкі артқы бөлік. winlib – Microsoft Windows жүйелеріндегі әдепкі артқы бөлік. Cairo және Windows API нұсқалары. art – ескі (қолданудан тоқтатылған) unix-тәрізді жүйелердегі артқы бөлік. Libart векторлық графикалық кітапханасы сияқты PostScript-ке ұқсас 2D графиканы қолданады. xlib – ескі (қолданудан тоқтатылған) X11 артқы бөлігі.

Қолданбалар

Мұнда GNUstep үшін жазылған немесе оған көшірілген қосымшалардың бірнеше мысалы келтірілген.

GNUstep-тің бұтақтары

Universal Windows Platform, оның құрамында GNUstep-тің түрлі бөліктерімен және Cocoa Touch API сияқты Microsoft-тің өзіндік іске асыруларын қамтитын WinObjC жиынтығы бар.

Негізгі жиынтық

Foundation Kit негізгі кластарды, мысалы, орауыш кластар мен деректер құрылымы кластарын қамтиды.

Қолданбалық жиынтық

Қолданбалық жиынтық графикалық пайдаланушы интерфейсі мүмкіндіктеріне арналған сыныптарды қамтиды.