GNUstep - GNUstep - Wikipedia

GNUstep жобасы
GNUstep logo.svg
GNUstep скриншоты, терезе жасаушы және GNUstep кітапханаларымен дамытылған әр түрлі қосымшалар, оның ішінде гомоку ойыны, калькулятор және TextEdit. [1]
GNUstep скриншоты, көрсетілуде Терезе жасаушы және GNUstep кітапханаларымен жасалған әр түрлі қосымшалар, соның ішінде а гомоку ойын, калькулятор, және TextEdit.[1]
ӘзірлеушілерGNUstep Developers
Тұрақты шығарылым
2.8.0 жасаңыз, базасы 1.27.0, gui 0.28, артына 0.28 / 2020 ж. 5 сәуір; 8 ай бұрын (2020-04-05)
Алдын ала қарау
тек SVN бағдарламалық қамтамасыз ету репозиторийінде
ЖазылғанМақсат-С
Операциялық жүйеКросс-платформа
ТүріВиджет құралдар жинағы
ЛицензияGNU жалпыға ортақ лицензиясы қосымшалар үшін
GNU кіші жалпыға ортақ лицензиясы кітапханаларға арналған.
Веб-сайтwww.gnustep.org

GNUstep Бұл ақысыз бағдарламалық жасақтама жүзеге асыру Какао (бұрын OpenStep ) Мақсат-С шеңберлер, виджет құралдар жинағы, және қосымшаларды әзірлеу құралдары Unix тәрізді операциялық жүйелер және Microsoft Windows. Бұл GNU жобасы.

GNUstep кросс-платформасымен ерекшеленеді, объектіге бағытталған IDE. Әдепкіден басқа Мақсат-С GNUstep интерфейсі де бар байланыстыру үшін Java, Рубин,[2] GNU Guile және Схема.[3] GNUstep әзірлеушілері Apple-дің кейбір толықтыруларын қадағалайды Какао үйлесімді болу үшін. GNUstep қолданбалы интерфейсінің тамыры какао тамырымен бірдей: Келесі қадам және OpenStep. Осылайша, GNUstep пайда болған какаодан бұрын пайда болды алма сатып алынған Келесі технологиясы және оны түпнұсқаны әзірлеуге қосқан Mac OS X, ал GNUstep бастапқыда күш салған GNU техникалық өршіл NeXTSTEP бағдарламашысының мүмкіндіктерін қайталауға арналған әзірлеушілер.

Тарих

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

Бағдарламалық жасақтама архитектурасы

Сияқты Linux жұмыс үстелінің бумасының бағдарламалық жасақтамасын сипаттайды дисплей сервері, графикалық басқару элементтерінің кітапханалары немесе графикалық қабықшалар.

Көрсету

GNUstep құрамында жиынтық бар графикалық басқару элементтері Objective-C бағдарламалау тілінде жазылған.

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

  • Каир - әдепкі backend Каир 2D графикалық кітапхана.
  • winlib - Microsoft Windows жүйелеріндегі әдепкі backend. Каир және Windows API нұсқалары.
  • өнер - ескі (ескірген) артқы жүйеге ұқсас жүйелер. PostScriptlike 2D графикалық кітапханасын пайдаланады Libart.
  • xlib - ескі (ескірген) X11 артқы жағы.

Парадигмалар

GNUstep OPENSTEP (GNUstep какаодан бұрын болған, бірақ какао OPENSTEP негізінде жасалған) ұсынылған кейбір жобалау принциптерін мұра етеді, сонымен қатар Мақсат-С тіл.

Басқа интерфейстер

Objective-C интерфейсінен басқа, GNUstep қолшатырының шеңберіндегі кейбір шағын жобалар Apple-дің басқа API-лерін іске асырады:

  • Бор кітапханасы оларды жүзеге асыруға бағытталған Carbon API. Бұл өте толық емес.[5]
  • CoreBase кітапханасы үйлесімді етіп жасалған Негізгі қор. Base (Foundation Kit) компоненті оның айналасында жай орам бола алатындай толық емес.[6]
  • QuartzCore кітапханасы жүзеге асырады Негізгі анимация API.[7] Opal кітапханасы жүзеге асырады Кварц 2D.

2020 жылдың ақпан айындағы жағдай бойынша, құрылыс жобалары жоқ Жылдам бағдарламалау тілі GNUstep Objective-C ортасына қарсы.

Қолданбалар

GNUstep-ке арналған немесе портативті бағдарламалардың кейбір мысалдары.[8]

Басынан бастап жазылған

NeXTSTEP, OPENSTEP немесе macOS порталы

GNUstep шанышқылары

Сынып мүмкіндіктері

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

The Негіз жиынтығы қаптама кластары және мәліметтер құрылымының кластары сияқты негізгі кластарды ұсынады.

  • жіптер
  • коллекциялар (массивтер, жиынтықтар, сөздіктер) және санақшылар
  • файлдарды басқару
  • нысанды мұрағаттау
  • кеңейтілген күн манипуляциясы
  • үлестірілген нысандар және процесаралық байланыс
  • URL өңдеу
  • хабарламалар (және таратылған хабарламалар)
  • оңай көп бұрандалы
  • таймерлер
  • құлыптар
  • ерекше жағдайларды өңдеу

Қолданба жинағы

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

  • пайдаланушы интерфейсінің элементтері (кестені қарау, браузерлер, матрицалар, айналдыру көріністері)
  • графика (WYSIWYG, посткриптерге ұқсас графика, безендіру жолдары, кескінді бірнеше кескінмен өңдеу, графикалық контекстер)
  • түстерді басқару (құрылғының түстеріне қарсы калибрленген; CMYK, RGB, HSB, сұр және атаулы түсті көріністер; альфа мөлдірлігі)
  • мәтіндік жүйенің мүмкіндіктері: мәтіннің бай форматы, мәтіндік қосымшалар, орналасу менеджері, тергіш, ережелер, абзац мәнерлері, қаріптерді басқару, емле
  • құжат айналымы
  • басып шығару мүмкіндіктері: басып шығару операциялары, баспа панелі және беттің орналасуы
  • менеджерге көмек
  • тақта (клип тақтасы) қызметтері
  • емле тексерушісі
  • қосымшаларға арналған жұмыс кеңістігінің байланыстары
  • жылжыту операциялар
  • қызметтер қосымшалар арасында бөлісу

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Орналастырылған Келесі қадам. Libobjc2-мен жасалған жақында жасалған нұсқалар портативті нұсқаны қолдана алады Mac OS X Snow Leopard
  2. ^ «GNUstep Developer Tools - RIGS». www.gnustep.org. Алынған 10 сәуір 2018.
  3. ^ GScheme Мұрағатталды 2005-12-18 Wayback Machine
  4. ^ «GNUstep тарихы». gnustep.made-it.com. Алынған 10 сәуір 2018.
  5. ^ «gnustep / libs-bor: Бор - көміртектен бұрын пайда болатын атом». GitHub. GNUstep. 23 наурыз 2019.
  6. ^ «gnustep / libs-corebase». GNUstep. 19 қараша 2019.
  7. ^ «gnustep / libs-quartzcore». GNUstep. 11 желтоқсан 2019.
  8. ^ «Санат: Өтініштер - GNUstepWiki». wiki.gnustep.org. Алынған 10 сәуір 2018.
  9. ^ «GNUstep Objective-C Runtime 2.0». GitHub. Ескерту: Microsoft-тың WinObjC жобасында осы кітапхананың достық шанышқысы бар, ол қосымша байланыстыру мәселесін шешуді қамтиды.

Сыртқы сілтемелер