Jump to content

GNUстеп

(Перенаправлено с Горма (вычисления) )
GNUстеп
Разработчик(и) Разработчики GNUstep
Стабильная версия
сделать 2.9.2, база 1.30.0, графический интерфейс 0.31.1, назад 0.31.0 / 6 июня 2024 г .; 57 дней назад ( 06.06.2024 )
Предварительный выпуск
в репозитории программного обеспечения GitHub
Репозиторий
Написано в Цель-C
Операционная система Кросс-платформенный
Тип Набор инструментов для виджетов
Лицензия Стандартная общественная лицензия GNU для приложений
Меньшая стандартная общественная лицензия GNU для библиотек.
Веб-сайт www .gnustep .org

GNUstep — это бесплатная программная реализация фреймворка ( ранее OpenStep ) Objective-C Cocoa , набора инструментов для виджетов и инструментов разработки приложений для Unix-подобных операционных систем и Microsoft Windows . Это часть проекта GNU .

GNUstep представляет собой кроссплатформенную объектно-ориентированную среду разработки . Помимо интерфейса Objective-C по умолчанию , GNUstep также имеет привязки для Java , Ruby , [2] GNU Коварство и схема . [3] Разработчики GNUstep отслеживают некоторые дополнения к Apple Cocoa , чтобы они оставались совместимыми. Корни интерфейса приложения GNUstep такие же, как и корни Cocoa: NeXTSTEP и OpenStep . Таким образом, GNUstep предшествует Cocoa, который появился, когда Apple приобрела технологию NeXT и включила ее в разработку оригинальной Mac OS X , в то время как GNUstep изначально был попыткой разработчиков GNU воспроизвести технически амбициозные функции NeXTSTEP, удобные для программистов.

GNUstep зародился, когда Пол Кунц и другие сотрудники Стэнфордского центра линейных ускорителей захотели перенести HippoDraw с NeXTSTEP на другую платформу. Вместо того, чтобы переписывать HippoDraw с нуля и повторно использовать только дизайн приложения, они решили переписать уровень NeXTSTEP объектный , от которого зависело приложение. Это была первая версия libobjcX . Это позволило им портировать HippoDraw на системы Unix, работающие под управлением X Window System, не изменяя ни единой строки исходного кода своего приложения. После того, как спецификация OpenStep была опубликована в 1994 году, они решили написать новый objcX , который будет соответствовать новым API. Программное обеспечение станет известно как «GNUstep». [4]

Архитектура программного обеспечения

[ редактировать ]
Иллюстрирует программные компоненты стека настольных компьютеров Linux, такие как сервер отображения , библиотеки элементов управления графикой или графические оболочки .

Рендеринг

[ редактировать ]

GNUstep содержит набор графических элементов управления , написанных на языке программирования Objective-C.

Графический интерфейс пользователя (GUI) GNUMail состоит из графических элементов управления. GNUMail должен взаимодействовать с оконной системой , например X11 или Wayland , и должен отображаться его графический интерфейс пользователя . Серверная часть GNUstep предоставляет небольшой набор функций, используемых библиотекой пользовательского интерфейса для взаимодействия с реальной оконной системой . Он также имеет механизм рендеринга , который эмулирует общие Postscript функции . Пакет gnustep-back предоставляет следующие серверные части:

  • cairo — серверная часть по умолчанию, использующая библиотеку 2D-графики Cairo .
  • winlib — серверная часть по умолчанию в системах Microsoft Windows. Варианты Cairo и Windows API .
  • art — старый (устаревший) бэкэнд в unix-подобных системах. Использует векторную PostScript-подобную библиотеку 2D-графики Libart .
  • xlib – старый (устаревший) бэкенд X11.

Парадигмы

[ редактировать ]

GNUstep наследует некоторые принципы проектирования, предложенные в OPENSTEP (GNUstep предшествует Cocoa, но Cocoa основан на OPENSTEP), а также язык Objective-C .

Другие интерфейсы

[ редактировать ]

Помимо интерфейса Objective-C, некоторые небольшие проекты под эгидой GNUstep реализуют другие API от Apple:

  • Библиотека Boron направлена ​​на реализацию Carbon API . Это очень неполно. [5]
  • Библиотека CoreBase разработана для совместимости с Core Foundation . Он недостаточно полон, чтобы компонент Base (Foundation Kit) был просто его оболочкой. [6]
  • Библиотека QuartzCore реализует API-интерфейсы Core Animation . [7] Библиотека Opal реализует Quartz 2D .

По состоянию на февраль 2020 г. , нет проектов, которые создают язык программирования Swift для среды GNUstep Objective-C.

Приложения

[ редактировать ]

Вот несколько примеров приложений, написанных или перенесенных на GNUstep. [8]

Написано с нуля

[ редактировать ]

Портировано из NeXTSTEP, OPENSTEP или macOS.

[ редактировать ]

Форки GNUstep

[ редактировать ]

Возможности класса

[ редактировать ]

Фондовый комплект

[ редактировать ]

Foundation Kit предоставляет базовые классы, такие как классы-оболочки и классы структуры данных.

Комплект приложений

[ редактировать ]

Комплект приложений предоставляет классы, ориентированные на возможности графического пользовательского интерфейса .

См. также

[ редактировать ]
  1. ^ Портировано с NeXTSTEP . Последние сборки, созданные с помощью libobjc2, могут использовать более новую версию, перенесенную из Mac OS X Snow Leopard.
  2. ^ «Инструменты разработчика GNUstep — RIGS» . www.gnustep.org . Проверено 10 апреля 2018 г.
  3. ^ GScheme. Архивировано 18 декабря 2005 г. в Wayback Machine.
  4. ^ «История GNUstep» . gnustep.made-it.com . Проверено 10 апреля 2018 г.
  5. ^ «gnustep/libs-boron: Бор — это атом, стоящий перед углеродом» . Гитхаб . GNUстеп. 23 марта 2019 г.
  6. ^ "gnustep/libs-corebase" . GNUстеп. 19 ноября 2019 г.
  7. ^ "gnustep/libs-quartzcore" . GNUстеп. 11 декабря 2019 г.
  8. ^ «Категория: Приложения — GNUstepWiki» . wiki.gnustep.org . Архивировано из оригинала 23 марта 2021 года . Проверено 10 апреля 2018 г.
  9. ^ «GNUstep Objective-C Runtime 2.0» . Гитхаб . Примечание. Проект WinObjC компании Microsoft содержит дружественную версию этой библиотеки, включающую решение проблемы постепенного связывания.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 92a84b8826506b8f59c195d0e1aab6ac__1722324120
URL1:https://arc.ask3.ru/arc/aa/92/ac/92a84b8826506b8f59c195d0e1aab6ac.html
Заголовок, (Title) документа по адресу, URL1:
GNUstep - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)