BeOS API


BeOS_API
BeOSのAPIをしばしば呼ばれる、してAPIが後の株式会社ては、あるアプリケーション・プログラミング・インターフェースは、上のグラフィカルネイティブアプリケーションの書き込みに必要なBeOSのを、とのようなので、その誘導体俳句とZETA。
BeOSアーキテクチャ
APIはいくつかの「キット」に分割されており、関連するクラスをまとめて収集し、サポートコードを含むライブラリと何らかの関係を持っています。
これはほぼ完全にC ++であり、Pythonのほとんどのクラスにはサードパーティのバインディングがあり、Perlにはほとんどがストレージキットに関連するクラスの小さなサブセットが

コンテンツ
1 キット
2 BeOS以外の実装
3 ドキュメンテーション
4 参考文献

キット
アプリケーションキット
アプリケーションキットには、BeOSアプリケーションの起動に必要な基本クラスのほか、グローバルクリップボード、アプリケーション間および内部メッセージング、タイマー、名簿、およびグラフィカルアプリケーションのサポートに必要と思われるその他の機能のサポートが含まれています。アプリケーションキットクラスはlibbe.soでサポートされています
ストレージキット
ストレージキットは、シンボリックリンクの作成と管理から、グラフィカルアプリケーションのファイルオープン/保存パネルに至るまでのファイルの操作、およびBeファイルシステム属性の処理のためのメソッドを提供します。ストレージキットのクラスは主にlibtracker.soにあり、TrackerはOSのネイティブファイルマネージャーです。
インターフェースキット
インターフェイスキットは、メインウィンドウクラスからダイアログボックスまで、フォント処理やレンダリング制御などのグラフィカルアプリケーションを構築するためのウィジェットの大規模なコレクションを提供します。libbe.soの大部分はこのキットで構成されています。
カーネルキット
カーネルキットは、スレッド化、セマフォ、およびシステム情報にアクセスする機能を提供し、libbe.soにも含まれています。
サポートキット
サポートキットは、支援メモリ割り当てやリストサポートなど、他のキットには容易に分類されない、より高度な機能を提供します。
ネットワークキット
ネットワークキットは、BerkeleyソケットとBINDの基本的な(BeOS R5以下)またはほぼ完全な(BeOS Dano以降)実装と、Nettle C ++ネットワークライブラリに基づく「ネイティブ」機能を提供します。libnet.soは、R5でバークレーソケットを提供し、後でより一般的なlibsocket /libbind.soの命名法に置き換えられました。R5のlibnetapiは、後でlibbnetapiに置き換えられ、Nettleの修正バージョンを提供します。
メールキット
メールキットは、ネイティブの電子メール形式と、システムを使用して標準プロトコル(POP3およびSMTP)を使用して電子メールを取得および受信する方法を提供します。メールキットはlibmail.soでサポートされています
翻訳キット
翻訳キットは、画像とプレーンテキスト形式の両方をアドオンで処理する方法を提供します。これにより、アプリケーションは1つの形式、ネイティブの中間形式のみをサポートし、アドオンでサポートされている形式に保存/ロードできます。APIは、ライブラリを介したビデオとオーディオの翻訳も許可しますが、これはBeOS R4に置き換えられ、すぐに無効になりました。翻訳キットはlibtranslation.soでサポートされています
メディアキット
メディアキットは、プラグ可能なアドオンに基づくオーディオおよびビデオの入出力抽象化レイヤーを提供し、サウンドミキシング、オーディオおよびビデオ形式の変換、およびその他のメディア関連機能を処理します。メディアキットの機能はlibmedia.soでサポートされています
MIDIキット
MIDIのキットは、MIDIハードウェアの入出力抽象化ならびに(BeOSのR5にヘッドスペースによって提供される)ソフトウェア・シンセサイザーを提供します。libmidi.soは古いBeOSR3時代のMIDIAPIを提供し、libmidi2.soはR4 + APIを提供します。
ゲームキット
ゲームキットには、コンピュータゲームのオーディオ出力に適した多数のサウンド形式と、フルスクリーンアプリケーションを実行してビデオオーバーレイを使用する機能が用意されています。
OpenGLキット
OpenGLのキットには、実装の提供OpenGLをネイティブアプリケーションでの使用を許可するようにクラスをサポートするだけでなく。BeOS R5では、サポートされているOpenGLバージョンは1.1であり、ソフトウェアで高速化されましたが、キットはハードウェアに依存せず、実際には、根本的な非効率性のために同様の遅延/帯域幅パフォーマンスを提供できない競合プラットフォームで実行されていた多くのハードウェア実装を上回りました。それらの設計または実装において。
デバイスキット
デバイスキットは、シリアルポートとパラレルポート、およびBeBoxsの名高いGeekPortへのプラットフォーム抽象化された直接ハードウェアアクセスを提供します。
ロケールキット
ロケールキットは、アプリケーションをさまざまな言語、タイムゾーン、数値フォーマット規則などにローカライズするためのクラスを提供します。キットは、BeOSAPIのHaiku実装にのみ含まれています。
サービスキット
サービスキットは、Webサービスへの軽量の直接接続を提供します。このキットは、BeOSAPIのHaiku実装にのみ含まれています。
Webキット
Web Kitは、Webページをレンダリングする手段を提供し、AppleのWebkitのフォークです。このキットは、BeOSAPIのHaiku実装にのみ含まれています。
パッケージキット
パッケージキットは、パッケージ管理の手段を提供します。このキットは、BeOSAPIのHaiku実装にのみ含まれています。

BeOS以外の実装
Be APIの大部分は、オープンソースのBeOSの置き換えのために、Haikuによって再実装されましたが、BeOS R5以降の数年間に追いつくために、メールキットの大幅な変更からサポートまで、いくつかの追加機能が追加されました。IMAP、暗号化された接続と複数のアカウント、およびMesa3Dを介したOpenGL1.5サポートへの移行。
代替システムは、BeOS APIからいくつかのインスピレーション(Syllable)を引き出そうとしましたが、アプリケーションを移植するための基盤を提供しようとはし
Microsoft Windowsの以降のAPIの多くのプライベートポートのLinux(使用してGTK +は)ポートに自分のそれを可能にするためにGobeソフトウェアによって行われたGobe生産、それが最初に開発されていたのBeOS、からこれらのプラットフォームのオフィススイートを。

ドキュメンテーション
API全体は、BeOSリビジョン3の段階で、1997/8にBe、IncのインプリントでO’ReillyMediaからリリースされたBeDeveloperGuideとBeAdvancedTopicsの2冊の紙の本に記載されていました。さらに、これのデジタル表現が提供され、BeOS自体で更新されました。2007年、Be、Incの知的財産の所有者であるACCESS Co Ltdは、クリエイティブコモンズライセンスの下でこのテキストをリリースしました。

参考文献
^ ATI Radeon / Voodoo2 OpenGLベンチマーク、BeOS対Windows98再び!誰が速いですか?、Eugenia Loli著、2001年10月16日、BeNews
^ ACCESSCo。がBeBookとBeNewsletterをリリース、koki、2007年4月3日、Haiku Project