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包括了界面包的大部分内容。
内核包
The Kernel kit provides threading, semaphores and the ability to access system information, and is also in libbe.so
Support Kit
The Support kit provides more advanced functions which do no readily fall into another kit, such as assisted memory allocation and list support.
Network Kit
The Network kit provides either a rudimentary (BeOS R5 and lower) or almost complete (BeOS Dano and higher) implementation of Berkeley sockets and BIND as well as "native" functions based on the Nettle C++ networking library. libnet.so provides the Berkeley sockets on R5, later replaced by the more common libsocket/libbind.so nomenclature; and libnetapi on R5, later replaced by libbnetapi provides the modified version of Nettle.
Mail Kit
The Mail kit provides a native email format as well as a way to use the system to fetch and receive email using standard protocols (POP3 and SMTP). The Mail kit is supported in libmail.so
Translation Kit
The Translation kit provides a method whereby both images and plain text formats are handled by addons allowing applications to support only one format, a native intermediate one, and save/load to any addon-supported format. The API also allows video and audio translation through the library, although this was superseded by BeOS R4 and immediately disabled. The Translation kit is supported in libtranslation.so
Media Kit
The Media kit provides an audio and video input/output abstraction layer based on pluggable addons, as well as handling sound mixing, audio and video format translation and other media related functions. Media kit functions are supported by libmedia.so
MIDI Kit
The MIDI kit provides MIDI hardware input and output abstraction as well as a software synthesiser (provided by Headspace) in BeOS R5). libmidi.so provides the old, BeOS R3 era MIDI API, libmidi2.so provides the R4+ API.
Game Kit
The Game kit provides a number of sound formats suited to computer game audio output, as well as the ability to run full-screen applications and use video overlays.
OpenGL Kit
The OpenGL kit provides an implementation of OpenGL as well as supporting classes to allow its use in native applications. In BeOS R5, the supported OpenGL version was 1.1, and was software accelerated, although the kit was hardware-neutral, and in fact outperformed many hardware implementations that were running on competing platforms which could not deliver similar latency/bandwidth performance due to underlying inefficiencies in their design or implementation [1].
Device Kit
The Device kit provides platform-abstracted direct hardware access to serial and parallel ports, as well as the BeBoxs infamous GeekPort.
Non-BeOS implementations
The majority of the Be API has been reimplemented by Haiku for their opensource BeOS replacement, although in an effort to catch up with the intervening years since BeOS R5 some additional functionality has been added, ranging from large changes to the Mail kit to support IMAP, encrypted connections and multiple accounts, and a move to OpenGL 1.5 support via Mesa 3D.
Alternative systems have attempted to draw some inspiration (Syllable) from the BeOS API, but are not making attempts to provide a base to port applications.
A private port of much of the API to Microsoft Windows and later Linux (using GTK+) was done by Gobe Software to enable them to port their Gobe Productive office suite to these platforms from BeOS, where it had originally been developed.
Documentation
The entire API, as it was at the stage of BeOS Revision 3, was documented in two paper books - the Be Developer Guide and Be Advanced Topics, released by O'Reilly Media under a Be, Inc imprint in 1997/8. In addition, a digital representation of this was provided and updated, albeit slightly shoddily towards the end, with BeOS itself. In 2007, ACCESS Co Ltd, the owners of Be, Inc's intellectual property, released the text of this under a Creative Commons licence. [2].