第0章 はじめに
第1章 BeOSとは何か
1.1  これまでの経緯
1.2  大まかな特徴
1.3  サポート機種
1.4  BeOSの入手方法
1.5  インストール手順
1.6  日本語フォントについて
第2章 BeOSのアーキテクチャとAPI
2.1  内部構造の概観
2.2  BeOSのシステム構成
2.3  サーバモジュール
2.4  デバイスドライバ
2.5  三種類の実行形式
2.6  APIの概観
第3章 アプリケーション内部の仕組み
3.1  BeOSのアプリケーション
3.1.1  一般的な外観
3.1.2  ファイルのオープンとセーブ
3.1.3  初期設定ファイル
3.2  アプリケーションの内部動作
3.2.1  アプリケーションの実行
3.2.2  入力イベントの通知
3.2.3  他のOSとの比較
3.2.4  BLooperとメッセージループ
3.2.5  BHandlerによるメッセージ応答
3.3  マルチスレッドによる並行処理
3.3.1  並行処理と共有データ
3.3.2  スレッド間通信とメッセージ
3.3.3  並行処理と非同期メッセージ
3.4  データの保存
3.5  BMessageと構造化データ
第4章 プログラミングを始める前に
4.1  BeOSの開発環境
4.1.1  開発環境とは
4.1.2  CodeWarrior IDE
4.1.3  シェル端末とmake
4.1.4  その他のツール
4.2  アプリケーション作成に必要なファイル
4.3  BeIDEによる開発
4.3.1  サンプルアプリケーション
4.3.2  リソースファイルの作成
4.3.3  プロジェクトファイルの作成とファイルの登録
4.3.4  プロジェクトのパラメータ設定
4.3.5  makeコマンドの実行
4.4  Terminalとmakeを使った開発
4.4.1  サンプルアプリケーション
4.4.2  リソースファイルの作成
4.4.3  Makefileの作成とファイルの登録
4.4.4  コンパイラとリンカに対するオプション設定
4.4.5  makeコマンドの実行
4.5  ソースレベルデバッガの利用
4.6  C++でのプログラミング
4.6.1  C++に関する参考書
4.6.2  本書でのプログラミング作法
第5章 アプリケーション最初の一歩
5.1  空っぽのアプリケーション
5.1.1  アプリケーションオブジェクト
5.1.2  ウィンドウを出さなきゃね
5.1.3  アプリケーションフレームワーク
5.2  ウィンドウに絵を描きたい
5.2.1  他人と同時にゃ描けないぜ
5.2.2  消えても消えても描き直せ
5.3  まとめと練習問題
第6章 ボタンがなくちゃ始まらない
6.1  マウスクリックに応答せよ
6.1.1  どこを押したらいいんだい
6.1.2  イベントとメッセージ
6.1.3  メッセージプロトコル
6.2  標準部品を便利に使おう
6.2.1  ボタンの数を増やしたら
6.2.2  部品があるなら作って貼るだけ
6.2.3  その他の標準ビュー部品
6.3  もっとアプリケーションらしく
6.4  まとめと練習問題
第7章 もっと動きを
7.1  時計じかけのアニメーション
7.1.1  サンプルの機能と構造
7.1.2  サンプルのソースコード
7.1.3  Pulse()のどこがいけないの
7.2  ちらつきを無くすには
7.2.1  改善目標
7.2.2  オフスクリーン描画とBBitmap
7.2.3  改良版ClockworkWave
7.3  マルチスレッドとメッセージ
7.3.1  いつになったら起こせばいいの
7.3.2  モーニングコールの取消し
7.3.3  取り込み中につきお待ち下さい
7.4  まとめと練習問題
第8章 伝えたいメッセージ
8.1  メッセージが届くまで
8.1.1  Messengerアプリケーションの機能と構造
8.1.2  Messengerアプリケーションのソースコード
8.1.3  他のチームに届けるときは
8.2  伝える相手を探すには
8.2.1  誰に何を伝えるの
8.2.2  スクリプティングの基本要素
8.2.3  スクリプティング・フレームワーク
8.2.4  汎用スイートと遠隔オブジェクト
8.3  メッセージばかりじゃ物足りない
8.3.1  Scriptorアプリケーションの機能と構造
8.3.2  Scriptorアプリケーションのソースコード
8.3.3  スクリプトを書いて動かすには
8.4  まとめと練習問題
第9章 ファイルを操ろう
9.1  ファイルを探す
9.1.1  BeFSのファイル検索機能
9.1.2  FileSearchが利用するAPI
9.1.3  FileSearchの外部仕様
9.1.4  FileSearchのモジュール構成
9.1.5  FileSearchのソースコード
9.2  名前と体と付属物
9.2.1  ファイルに関する三通りの情報
9.2.2  ファイルシステムとデータベース
9.3  分類できたらもっと便利
9.3.1  InfoChestが利用するAPI
9.3.2  InfoChestの外部仕様
9.3.3  InfoChestのモジュール構成
9.3.4  InfoChestのソースコード
9.4  まとめと練習問題
第10章 メモを書いたら貼りつけろ
10.1  エディタを作ろう
10.2  データを保存するには
10.3  レプリカント誕生秘話
10.4  まとめと練習問題
第11章 メールを送ろう
11.1  ソケットだったら知ってるよ
11.2.1  Mail Kitの使い方
11.3  まとめと練習問題

Art of BeOS Programming
koga@stprec.co.jp