Interested Article - BeOS API

BeOS API , часто называемый также Be API после закрытия Be Inc. , представляет собой интерфейс прикладного программирования, необходимый для написания графических нативных приложений на BeOS и, следовательно, его производных, таких как Haiku и ZETA .

API разделен на несколько «наборов», которые собирают вместе связанные классы и имеют некоторое отношение к библиотеке, содержащей вспомогательный код.

Это почти полностью C++ , со сторонними привязками для большинства классов в Python и крошечным подмножеством классов, в основном связанных с Storage Kit, в Perl .

Комплекты разработки

Application Kit

Комплект разработки приложений содержит базовые классы, необходимые для запуска приложения BeOS, а также поддержку глобального буфера обмена, межприложений и внутреннего обмена сообщениями, таймеров, списков и других функций, необходимых для поддержки любого графического приложения. Классы комплектов разработки приложений находятся в библиотеке libbe.so

Storage Kit

Комплект хранения предоставляет методы для управления файлами от создания и управления символическими ссылками до панелей открытия/сохранения файлов для графических приложений, а также работы с атрибутами Be File System . Классы комплектов хранения в основном находятся в библиотеке libtracker.so. ОС предоставляет свой собственный файловый менеджер Tracker .

Interface Kit

Комплект для разработки интерфейсов предоставляет большую коллекцию виджетов для создания графических приложений от класса главного окна до диалоговых окон, включая управление шрифтами и управление рендерингом . В большей части этот комплект разработки содержится в библиотеке libbe.so.

Kernel Kit

Комплект ядра предоставляет потоки , семафоры и возможность доступа к системной информации. Находится он в библиотеке libbe.so

Support Kit

Комплект поддержки предоставляет более продвинутые функции, которые не находятся в других комплектах, такие как вспомогательное выделение памяти и поддержка списков.

Network Kit

Сетевой комплект обеспечивает либо элементарную (BeOS R5 и ниже), либо почти полную (BeOS Dano и выше) реализацию сокетов Berkeley и BIND , а также «родные» функции на основе сетевой библиотеки Nettle C++. libnet.so предоставляет сокеты Беркли на R5, позже замененные более распространенной номенклатурой libsocket/libbind.so; libnetapi в R5, позже замененный на libbnetapi, предоставляет модифицированную версию Nettle.

Mail Kit

Почтовый комплект обеспечивает собственный формат электронной почты, а также способ использовать систему для доставки и получения электронной почты с использованием стандартных протоколов ( POP3 и SMTP ). Почтовый комплект находится в библиотеке libmail.so

Translation Kit

Комплект перевода предоставляет метод, с помощью которого как изображения, так и форматы обычного текста обрабатываются дополнениями, позволяя приложениям поддерживать только один формат, собственный промежуточный, и сохранять/загружать в любой поддерживаемый дополнением формат. API также позволяет переводить видео и аудио через библиотеку, хотя это было заменено BeOS R4 и немедленно отключено. Комплект перевода поддерживается библиотекой libtranslation.so

Media Kit

Комплект для работы с медиа файлами обеспечивает уровень абстракции аудио и видео ввода/вывода на основе подключаемых дополнений, а также обработку микширования звука, трансляцию аудио и видео форматов и другие функции, связанные с медиа. Функции данного комплекта поддерживаются библиотекой libmedia.so

MIDI Kit

Комплект MIDI обеспечивает аппаратную абстракцию ввода и вывода MIDI, а также программный синтезатор (предоставленный Headspace в BeOS R5). Библиотека libmidi.so предоставляет старый MIDI API эпохи BeOS R3, libmidi2.so предоставляет R4+ API.

Game Kit

Комплект разработки игр предоставляет несколько звуковых форматов, используемых для вывода звука компьютерных игр, а также возможность запускать полноэкранные приложения и использовать наложения видео.

OpenGL Kit

Комплект OpenGL предоставляет реализацию OpenGL , а также вспомогательные классы, позволяющие использовать его в собственных приложениях. В BeOS R5 поддерживаемая версия OpenGL была 1.1 и имела программное ускорение. Этот комплект не зависел от оборудования и фактически превосходил многие аппаратные реализации, которые работали на конкурирующих платформах и которые не могли обеспечить аналогичную производительность задержки/пропускной способности из-за неэффективности в их дизайне или реализации .

Device Kit

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

Local Kit

Комплект локализации предоставляет классы для локализации приложений на разные языки, часовые пояса, соглашения о форматировании чисел и т. д. Этот набор можно найти только в Haiku реализации BeOS API.

Services Kit

Комплект служб обеспечивает легкое прямое подключение к веб-службам. Этот комплект можно найти только в Haiku реализации BeOS API.

Web Kit

Web Kit предоставляет средства визуализации веб-страниц и является ответвлением от Apple Webkit . Этот комплект можно найти только в Haiku реализации BeOS API.

Package Kit

Package Kit предоставляет средства управления пакетами. Этот комплект можно найти только в Haiku реализации BeOS API.

Документация

Весь API, каким он был на стадии BeOS Revision 3, был задокументирован в двух бумажных книгах - Be Developer Guide и Be Advanced Topics, выпущенных O'Reilly Media под издательством Be, Inc. в 1997/8. Кроме того, было предоставлено цифровое представление об этом, и оно обновлялось самой BeOS. В 2007 году компания ACCESS Co Ltd, владельцы интеллектуальной собственности Be, Inc., опубликовала ее текст по лицензии Creative Commons .

Ссылки

  1. Евгения Лоли. [ ATI Radeon/Voodoo2 OpenGL Benchmarks BeOS vs. Windows98 again! Who's faster?] (англ.) . BeNews (16 октября 2001). Дата обращения: 30 января 2021. Архивировано 2 февраля 2001 года.
  2. Koki. (англ.) . Haiku (4 марта 2007). Дата обращения: 30 января 2021. 3 февраля 2021 года.
Источник —

Same as BeOS API