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 и имела программное ускорение. Этот комплект не зависел от оборудования и фактически превосходил многие аппаратные реализации, которые работали на конкурирующих платформах и которые не могли обеспечить аналогичную производительность задержки/пропускной способности из-за неэффективности в их дизайне или реализации[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[2].

Ссылки править

  1. Евгения Лоли. [https://web.archive.org/web/20010202233200/http://www.benews.com/story/3587 ATI Radeon/Voodoo2 OpenGL Benchmarks BeOS vs. Windows98 again! Who's faster?] (англ.). BeNews (16 октября 2001). Дата обращения: 30 января 2021. Архивировано 2 февраля 2001 года.
  2. Koki. ACCESS Co. Releases BeBook and Be Newsletters (англ.). Haiku (4 марта 2007). Дата обращения: 30 января 2021. Архивировано 3 февраля 2021 года.