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中。
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].