古い処理系なので、フレームワーク等は一切無し。Mac の ToolBox を直接呼び出すことになります。
というわけで、他の OS? との GUI を比較してみました。
とはいっても、AmigaOS と X11R6 しか比較対象が無いですが。(Win32 はどうなんでしょう)/PPそれぞれ、OS が標準で備えているインターフェースを使った場合です。(Amiga の場合は Intuition、X11 だと Xlib)FONT size -2 X11 に付いては嘘を書いているかも... Xlib を直接使った事はほとんど無いので。
メッセージの扱い
- Amiga
- メッセージはウインドウ毎に送られる。
- X11
- メッセージはウインドウ毎に送られる。ただし、全てのウィジェット(ボタン等) はウインドウとして実装されるので、実質ウィジェット毎に送られているとみなして良い。
- Mac
- メッセージはアプリケーション毎に送られる。
ウインドウの移動等
- Amiga
- ウインドウのドラッグ、ボタンの反応はシステムが自動で行う。更に、ウインドウの隠れた部分の再描画も標準でやってくれる。
- X11
- ウインドウのドラッグ、タイトルバーのボタンはシステム(実際はウインドウマネージャー?) が担当。ウインドウの隠れた部分の再描画は標準では無いが、オプション機能(Backing Store)として存在する。
- Mac
- ウインドウのドラッグも、クローズボタンの反応時の表示変更も、プログラマが実装。実際は関数を一つ呼び出すだけだが、面倒な事この上ない。
他のアプリケーションを意識する必要があるか
- Amiga
- 他のアプリケーションの動作は考えなくても良い。
- X11
- 他のアプリケーションの動作は考えなくても良い。(Unix 上では)
- Mac
- 他のアプリケーションの動作も考えなくてはならない。きちんと処理しないと、バックグラウンドのアプリケーションの再描画すらされなくなる。(どうして? これ)
というわけで、Mac が一番原始的です。 Mac のプログラマは凄すぎます。よくもまあこんな環境で...
0 件のコメント:
コメントを投稿