Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Архитектура BeOS

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

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

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

Комплекты [ править ]

Комплект приложений

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

Комплект для хранения

Комплект Storage предоставляет методы для управления файлами от создания и управления символическими ссылками до панелей открытия / сохранения файлов для графических приложений, а также работы с атрибутами 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 обеспечивает аппаратную абстракцию ввода и вывода MIDI, а также программный синтезатор (предоставленный Headspace в BeOS R5). libmidi.so предоставляет старый MIDI API эпохи BeOS R3, libmidi2.so предоставляет API R4 +.

Игровой комплект

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

Комплект OpenGL

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

Комплект устройства

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

Локальный комплект

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

Комплект услуг

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

Веб-комплект

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

Комплект поставки

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

Реализации, отличные от BeOS [ править ]

Большая часть Be API была переработана Haiku для замены BeOS с открытым исходным кодом, хотя в попытке наверстать упущенное за прошедшие годы после BeOS R5 были добавлены некоторые дополнительные функции, начиная от крупных изменений в Mail kit и заканчивая поддержкой IMAP , зашифрованные соединения и несколько учетных записей, а также переход на поддержку OpenGL 1.5 через Mesa 3D .

Альтернативные системы пытались черпать вдохновение ( Syllable ) в API BeOS, но не предпринимают попыток предоставить основу для переноса приложений.

Частный перенос большей части API на Microsoft Windows и более поздние версии Linux (с использованием GTK + ) был выполнен Gobe Software, чтобы позволить им переносить свой офисный пакет Gobe ​​Productive на эти платформы из BeOS, где он изначально был разработан.

Документация [ править ]

Весь 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. ^ Тесты ATI Radeon / Voodoo2 OpenGL, BeOS против Windows98 снова! Кто быстрее? , Евгения Лоли, 2001 16 октября, BeNews
  2. ^ ACCESS Co. выпускает информационные бюллетени BeBook и Be , автор: koki, 2007-04-03, Haiku Project