В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения ) |
Разработчик(и) | Разработчики GNUstep |
---|---|
Стабильный релиз | make 2.9.2, base 1.30.0, gui 0.31.1, back 0.31.0 / 6 июня 2024 г. ( 2024-06-06 ) |
Предварительный релиз | в репозитории программного обеспечения GitHub |
Репозиторий |
|
Написано в | Objective-C |
Операционная система | Кроссплатформенный |
Тип | Набор инструментов для виджетов |
Лицензия | GNU General Public License для приложений. GNU Lesser General Public License для библиотек. |
Веб-сайт | gnustep.org |
GNUstep — это свободное программное обеспечение, реализующее фреймворки Cocoa (ранее OpenStep ) Objective-C , набор виджетов и инструменты разработки приложений для Unix-подобных операционных систем и Microsoft Windows . Является частью проекта GNU .
GNUstep представляет собой кроссплатформенную объектно-ориентированную IDE . Помимо интерфейса Objective-C по умолчанию , GNUstep также имеет привязки для Java , Ruby , [1] GNU Guile и Scheme . [2] Разработчики GNUstep отслеживают некоторые дополнения к Cocoa от Apple , чтобы оставаться совместимыми. Корни интерфейса приложений GNUstep те же, что и корни Cocoa: NeXTSTEP и OpenStep . Таким образом, GNUstep предшествовал Cocoa, который появился, когда Apple приобрела технологию NeXT и включила ее в разработку оригинальной Mac OS X , в то время как GNUstep изначально был попыткой разработчиков GNU воспроизвести технически амбициозные удобные для программистов функции NeXTSTEP.
GNUstep начался, когда Пол Кунц и другие в Stanford Linear Accelerator Center захотели перенести HippoDraw из NeXTSTEP на другую платформу. Вместо того, чтобы переписывать HippoDraw с нуля и повторно использовать только дизайн приложения, они решили переписать слой объектов NeXTSTEP , от которого зависело приложение. Это была первая версия libobjcX . Она позволила им перенести HippoDraw на системы Unix, работающие под управлением X Window System, не изменяя ни единой строки исходного кода приложения. После того, как спецификация OpenStep была опубликована в 1994 году, они решили написать новый objcX , который бы соответствовал новым API. Программное обеспечение стало известно как «GNUstep». [3]
Foundation Kit предоставляет базовые классы, такие как классы-оболочки и классы структур данных. Application Kit предоставляет классы, ориентированные на возможности графического пользовательского интерфейса . GNUstep содержит набор графических элементов управления , написанных на языке программирования Objective-C.
Графический пользовательский интерфейс (GUI) GNUMail состоит из элементов управления графикой. GNUMail должен взаимодействовать с оконной системой , например X11 или Wayland , и его графический пользовательский интерфейс должен быть визуализирован . Бэкэнд GNUstep предоставляет небольшой набор функций, используемых библиотекой пользовательского интерфейса для взаимодействия с фактической оконной системой . Он также имеет механизм визуализации , который эмулирует общие функции Postscript . Пакет gnustep-back предоставляет следующие бэкэнды:
GNUstep наследует некоторые принципы проектирования, предложенные в OPENSTEP (GNUstep появился раньше Cocoa, но Cocoa основан на OPENSTEP), а также язык Objective-C .
Помимо интерфейса Objective-C, некоторые небольшие проекты под эгидой GNUstep реализуют другие API от Apple:
По состоянию на февраль 2020 года [обновлять]не существует проектов, разрабатывающих язык программирования Swift для среды GNUstep Objective-C.
Вот несколько примеров приложений, написанных для GNUstep или портированных на него.
Примечание: проект Microsoft WinObjC содержит дружественную версию этой библиотеки, которая включает обходной путь для проблемы инкрементального связывания.