BeOS API
BeOS API亦被Be公司稱作Be API after Be Inc.,是在BeOS上編寫圖形應用程序所需要的應用程序接口,並由此延伸出了Magnussoft ZETA。
該API被分為數個「包」,「包」中包含類似的類,並容忍一些與包含支持代碼的庫的聯繫。
該API與C++基本相同,但包含一些第三方綁定的包含大部分Python的類,以及主要在存儲包中使用到的一個小的Perl庫的子集。
包
編輯程序包
編輯程序包包含用於運行BeOS程序的基本類,以及對全局剪切板的支持,程序內部及系統內部通信和計時器,名冊和其他支持圖形應用程序的功能。程序包所包含的類亦被libbe.so支持。
存儲包
編輯存儲包提供各種操控文件的方法,從創建、管理可以打開或保存應用程序面板的符號鏈接到修改Be文件系統的屬性。存儲包的類基本上包含在libtracker.so中,所以Tracker即為BeOS原生的文件管理器。
界麵包
編輯界麵包提供數量可觀的控件可供用於構建應用程序,從主窗口類到對話框,以及控制字體的處理和渲染。libbe.so包括了界麵包的大部分內容。
內核包
編輯內核包提供線程,信號標以及訪問系統信息的能力,亦包含於libbe.so中。
支持包
編輯支持包提供不易被分配在其他包中的先進功能,例如輔助內存分配以及對列表的支持。
網絡包
編輯網絡包提供基本的(在BeOS R5及更低版本中)或基本完整的(在BeOS Dano及更高版本中)對伯克利套接字及BIND的支持,基於Nettle C++網絡庫的「原生」功能。libnet.so為R5提供伯克利套接字的支持,後來基於系統命名法被更換為更為普遍的libsocket.so及libbind.so;R5上的libnetapi.so在後來被libbnetapi替換以提供修改版的Nettle C++網絡庫。
郵件包
編輯郵件包提供原生的電子郵件格式和用來收取、發送郵件的標準協議(POP3和SMTP)。郵件包包含在libmail.so中。
翻譯包
編輯翻譯包提供一種將圖片和純文本通過以插件來處理,因而使應用程序支持一種即時的原生方式來保存、讀取插件所支持的格式。該API同樣支持通過庫進行的視頻、音頻翻譯,儘管這種方式在BeOS R4中被廢棄並隨後被停用。翻譯包通過libtranslation.so提供支持。
媒體庫
編輯媒體庫基於可選的插件來提供音頻及視頻輸入輸出的抽象層,以及處理混音,視頻和音頻的格式轉換和其他相關功能。媒體包通過libmedia.so提供支持。
MIDI包提供MIDI硬件的輸入輸出的抽取。在BeOS R5中包含一個由Headspace提供的軟件合成器。libmidi.so提供了BeOS R3時代的舊的MIDI API,libmidi2.so為BeOS R4及更高版本提供API。
遊戲包
編輯遊戲包提供適合計算機遊戲輸出的音頻格式,以及通過視頻疊加來運行全屏應用程序。
OpenGL包提供完整的OpenGL執行能力,以及使其在原生程序中生效的支持類。在BeOS R5中支持OpenGL 1.1,儘管該包是硬件中立的,該版本可以使用軟件加速。事實上,這個方式甚至勝過在競爭平台上使用硬件加速方式的效果。基於效率底下的設計,那些競爭平台無法傳遞類似的潛在的、抑或是帶寬上的表現。[1].
設備包
編輯非BeOS實現方式
編輯大部分的Be API在Haiku這個開源BeOS替代品中被重新實現,以趕上自Be公司被Palm收購後多年的差距,為郵件包增加了對IMAP的支持,加密連接和多賬戶支持,並且通過Mesa 3D實現了OpenGL 1.5的支持。
替代的系統嘗試通過Be API得到一些靈感(例如Syllable Desktop),但並非完全移植。
Gobe Software將Be API移植到微軟Windows操作系統,後期通過GTK+移植到Linux操作系統,以移植他們先前為BeOS開發的Gobe Productive辦公套件。
文檔
編輯所有的API在BeOS R3階段被記錄在兩本紙質書籍中——Be Developer Guide和Be Advanced Topics,由奧萊理出版公司在Be公司的許可下於1997年八月出版發行。此外,電子版在亦被發行和更新,儘管略顯粗燥。在2007年,Be公司知識產權的擁有者愛可信公司以創作共用協議釋出了這些文檔。[2].