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包提供MIDI硬件的输入输出的抽取。在BeOS R5中包含一个由Headspace提供的软件合成器。libmidi.so提供了BeOS R3时代的旧的MIDI API，libmidi2.so为BeOS R4及更高版本提供API。

游戏包
游戏包提供适合计算机游戏输出的音频格式，以及通过视频叠加来运行全屏应用程序。

OpenGL包
OpenGL包提供完整的OpenGL执行能力，以及使其在原生程序中生效的支持类。在BeOS R5中支持OpenGL 1.1，尽管该包是硬件中立的，该版本可以使用软件加速。事实上，这个方式甚至胜过在竞争平台上使用硬件加速方式的效果。基于效率底下的设计，那些竞争平台无法传递类似的潜在的、抑或是带宽上的表现。.

设备包
设备包提供从平台分离的通过直接访问串口、并口，以及BeBox中并不知名的GeekPort。

非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公司知识产权的拥有者爱可信公司以创作共用协议释出了这些文档。.

Category:BeOS
Category:应用程序接口