BeOS API

BeOS API

The BeOS API, often called the Be API after Be Inc., is the application programming interface required to write graphical native applications on BeOS, and hence its derivatives such as ZETA.

The API is divided into a number of "kits", which collect related classes together and bear some relation to the library which contains the supporting code.

It is almost entirely C++, with third-party bindings for most classes in Python and a tiny subset of classes, mostly Storage kit related, in Perl

Kits

Application Kit

The Application kit contains the basic classes required to launch a BeOS application, as well as support for the global clipboard, inter-application and internal messaging, timers, rosters and other functions seen as required to support any graphical application. Application kit classes are supported by libbe.so

torage Kit

The Storage kit provides methods for manipulating files from creating and managing symlinks all the way to the file open/save panels for graphical applications, as well as dealing with Be File System attributes. Storage kit classes are mostly in libtracker.so, Tracker being the native file manager on the OS.

Interface Kit

The Interface kit provides a large collection of widgets for building graphical applications from the main window class down to dialogue boxes, including font handling and rendering control. The majority of libbe.so comprises this kit.

Kernel Kit

The Kernel kit provides threading, semaphores and the ability to access system information, and is also in libbe.so

upport 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 nomaculture; 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 [http://web.archive.org/web/20010202233200/http://www.benews.com/story/3587] .

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 [http://www.gobe.com 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. [http://haiku-os.org/news/2007-04-03/access_co_releases_bebook_and_be_newsletters] .


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • BeOS — R4.5 Company / developer Be Inc. OS family BeOS Working state Discontinued/Historic …   Wikipedia

  • BEOS — est un système d exploitation développé par la société américaine Be Inc., fondée par le français Jean Louis Gassée, un ex dirigeant d Apple à partir de 1991. Initialement conçu pour un ordinateur spécifique, la BeBox, il a d abord été adapté au… …   Wikipédia en Français

  • Beos — est un système d exploitation développé par la société américaine Be Inc., fondée par le français Jean Louis Gassée, un ex dirigeant d Apple à partir de 1991. Initialement conçu pour un ordinateur spécifique, la BeBox, il a d abord été adapté au… …   Wikipédia en Français

  • BeOS — Saltar a navegación, búsqueda BeOS Parte de la familia BeOS Desarrollador Be Incorporated www.beincorporated.com …   Wikipedia Español

  • BeOS — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии …   Википедия

  • Vergleich von Betriebssystemen — Grober Stammbaum einiger wichtiger Betriebssysteme Diese Tabellen stellen einen Vergleich von ausgewählten Betriebssystemen dar. Betriebssysteme, deren Entwicklung und Support eingestellt worden ist, werden nicht behandelt. Da Linux… …   Deutsch Wikipedia

  • Haiku (operating system) — Haiku Company / developer Haiku Project OS family …   Wikipedia

  • Comparison of operating systems — Usage share of web client operating systems. (Source: Median values from Usage share of operating systems for August 2011.)   Windows XP (35.21%) …   Wikipedia

  • Haiku (sistema operativo) — Este artículo o sección se refiere o está relacionado con un software futuro o en desarrollo. La información de este artículo puede cambiar frecuentemente. Por favor, no agregues datos especulativos y recuerda colocar referencias a fuentes… …   Wikipedia Español

  • Comparaison des systèmes d'exploitation — Tableau synoptique des systèmes d exploitation Le tableau ci dessous compare les caractéristiques générales et techniques des systèmes d exploitation les plus connus. Pour plus d informations sur un système, regardez l article correspondant. Les… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”