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