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].
裝置包提供從平台分離的通過直接訪問序列埠、並列埠,以及BeBox中並不知名的GeekPort。
大部分的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].
|
---|
概論 | |
---|
BeOS歷史版本 | |
---|
基於BeOS的其他作業系統 | |
---|
相關公司 | |
---|
相關技術 | |
---|
相關硬件 | |
---|