BeOS
- 1 year ago
- 0
- 0
BeOS API , часто называемый также Be API после закрытия Be Inc. , представляет собой интерфейс прикладного программирования, необходимый для написания графических нативных приложений на BeOS и, следовательно, его производных, таких как Haiku и ZETA .
API разделен на несколько «наборов», которые собирают вместе связанные классы и имеют некоторое отношение к библиотеке, содержащей вспомогательный код.
Это почти полностью C++ , со сторонними привязками для большинства классов в Python и крошечным подмножеством классов, в основном связанных с Storage Kit, в Perl .
Комплект разработки приложений содержит базовые классы, необходимые для запуска приложения BeOS, а также поддержку глобального буфера обмена, межприложений и внутреннего обмена сообщениями, таймеров, списков и других функций, необходимых для поддержки любого графического приложения. Классы комплектов разработки приложений находятся в библиотеке libbe.so
Комплект хранения предоставляет методы для управления файлами от создания и управления символическими ссылками до панелей открытия/сохранения файлов для графических приложений, а также работы с атрибутами Be File System . Классы комплектов хранения в основном находятся в библиотеке libtracker.so. ОС предоставляет свой собственный файловый менеджер Tracker .
Комплект для разработки интерфейсов предоставляет большую коллекцию виджетов для создания графических приложений от класса главного окна до диалоговых окон, включая управление шрифтами и управление рендерингом . В большей части этот комплект разработки содержится в библиотеке libbe.so.
Комплект ядра предоставляет потоки , семафоры и возможность доступа к системной информации. Находится он в библиотеке libbe.so
Комплект поддержки предоставляет более продвинутые функции, которые не находятся в других комплектах, такие как вспомогательное выделение памяти и поддержка списков.
Сетевой комплект обеспечивает либо элементарную (BeOS R5 и ниже), либо почти полную (BeOS Dano и выше) реализацию сокетов Berkeley и BIND , а также «родные» функции на основе сетевой библиотеки Nettle C++. libnet.so предоставляет сокеты Беркли на R5, позже замененные более распространенной номенклатурой libsocket/libbind.so; libnetapi в R5, позже замененный на libbnetapi, предоставляет модифицированную версию Nettle.
Почтовый комплект обеспечивает собственный формат электронной почты, а также способ использовать систему для доставки и получения электронной почты с использованием стандартных протоколов ( POP3 и SMTP ). Почтовый комплект находится в библиотеке libmail.so
Комплект перевода предоставляет метод, с помощью которого как изображения, так и форматы обычного текста обрабатываются дополнениями, позволяя приложениям поддерживать только один формат, собственный промежуточный, и сохранять/загружать в любой поддерживаемый дополнением формат. API также позволяет переводить видео и аудио через библиотеку, хотя это было заменено BeOS R4 и немедленно отключено. Комплект перевода поддерживается библиотекой libtranslation.so
Комплект для работы с медиа файлами обеспечивает уровень абстракции аудио и видео ввода/вывода на основе подключаемых дополнений, а также обработку микширования звука, трансляцию аудио и видео форматов и другие функции, связанные с медиа. Функции данного комплекта поддерживаются библиотекой libmedia.so
Комплект MIDI обеспечивает аппаратную абстракцию ввода и вывода MIDI, а также программный синтезатор (предоставленный Headspace в BeOS R5). Библиотека libmidi.so предоставляет старый MIDI API эпохи BeOS R3, libmidi2.so предоставляет R4+ API.
Комплект разработки игр предоставляет несколько звуковых форматов, используемых для вывода звука компьютерных игр, а также возможность запускать полноэкранные приложения и использовать наложения видео.
Комплект OpenGL предоставляет реализацию OpenGL , а также вспомогательные классы, позволяющие использовать его в собственных приложениях. В BeOS R5 поддерживаемая версия OpenGL была 1.1 и имела программное ускорение. Этот комплект не зависел от оборудования и фактически превосходил многие аппаратные реализации, которые работали на конкурирующих платформах и которые не могли обеспечить аналогичную производительность задержки/пропускной способности из-за неэффективности в их дизайне или реализации .
Комплект для работы с устройствами обеспечивает абстрагированный от платформы прямой аппаратный доступ к последовательным и параллельным портам, а также к печально известному GeekPort BeBox .
Комплект локализации предоставляет классы для локализации приложений на разные языки, часовые пояса, соглашения о форматировании чисел и т. д. Этот набор можно найти только в Haiku реализации BeOS API.
Комплект служб обеспечивает легкое прямое подключение к веб-службам. Этот комплект можно найти только в Haiku реализации BeOS API.
Web Kit предоставляет средства визуализации веб-страниц и является ответвлением от Apple Webkit . Этот комплект можно найти только в Haiku реализации BeOS API.
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 .