GNUstep

редактировать
Проект GNUstep
GNUstep logo.svg
Снимок экрана GNUstep, показывающий Window Maker и различные приложения, разработанные с помощью библиотек GNUstep, включая игру гомоку, калькулятор и TextEdit. [1] Снимок экрана GNUstep, показывающий Window Maker и различные приложения, разработанные с помощью библиотек GNUstep, включая игру гомоку, калькулятор и TextEdit.
Разработчик (и) GNUstep Developers
Стабильный выпуск make 2.8.0, base 1.27.0, gui 0.28, back 0.28 / 5 апреля 2020 г.; 6 месяцев назад (2020-04-05)
Предварительная версия только в репозитории программного обеспечения SVN
Написано наObjective-C
Операционная система Кросс-платформенная
Тип Набор инструментов виджетов
Лицензия Стандартная общественная лицензия GNU для приложений. Стандартная общественная лицензия ограниченного применения GNU для библиотек.
Веб-сайтwww.gnustep.org

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

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

Содержание
  • 1 История
  • 2 Архитектура программного обеспечения
    • 2.1 Рендеринг
    • 2.2 Парадигмы
    • 2.3 Другие интерфейсы
  • 3 Приложения
    • 3.1 Написано с нуля
    • 3.2 Портировано из NeXTSTEP, OPENSTEP или macOS
    • 3.3 Форки GNUstep
  • 4 Возможности класса
    • 4.1 Foundation Kit
    • 4.2 Application Kit
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
История

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

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

Рендеринг

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

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

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

Paradigms

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

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

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

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

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

Приложения

Вот несколько примеров приложений, написанных для GNUstep или перенесенных на него.

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

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

Форки GNUstep

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

Foundation Kit

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

  • строки
  • коллекции (массивы, наборы, словари) и перечислители
  • управление файлами
  • архивирование объектов
  • расширенное управление датами
  • распределенные объекты и межпроцессное взаимодействие
  • обработка URL-адресов
  • уведомления (и распределенные уведомления)
  • простая многопоточность
  • таймеры
  • блокирует
  • обработка исключений

Application Kit

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

  • элементы пользовательского интерфейса (представления таблиц, браузеры, матрицы, представления прокрутки)
  • графика (WYSIWYG, графика, подобная постскриптум, пути Безье, обработка изображений с несколькими представлениями, графические контексты)
  • управление цветом (калибровка по сравнению с цветами устройства; CMYK, RGB, HSB, представления серого и именованного цвета; альфа-прозрачность)
  • особенности текстовой системы: формат расширенного текста, вложения текста, диспетчер макета, наборщик, правила, стили абзацев, управление шрифтами, орфография
  • управление документами
  • печать функции: операции печати, панель печати и макет страницы
  • менеджер справки
  • картон (он же буфер обмена) услуги
  • проверка орфографии
  • привязки рабочего пространства для приложений
  • перетаскивание операции
  • службы совместное использование приложений
См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
  • Darling (программное обеспечение), уровень совместимости, основанный на GNUstep
  • Étoilé, рабочий стол на основе GNUstep среда
  • GNUstep Renaissance, структура для XML-описания переносимых пользовательских интерфейсов GNUstep / Mac OS X
  • Miller Columns, метод просмотра дерева файлов в программе просмотра файлов GWorkspace использует свойство
  • list, часто используемый формат файла для хранения пользовательских настроек
  • StepTalk, среда сценариев
  • Window Maker, оконный менеджер, предназначенный для эмуляции графического интерфейса NeXT как часть более широкого проекта GNUstep
Ссылки
Внешние ссылки
На Wikimedia Commons есть носители, связанные с GNUstep.
Последняя правка сделана 2021-05-21 09:11:55
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте