イントロダクション
■ Gtk+ とは?
Gtk+ は、グラフィカルユーザインターフェース(GUI)
を提供するためのツールキット(ライブラリ)
で、効率的で高い柔軟性と使いやすさを備えています。
もともとは X Window System 用ですが、
Windows バージョンも現在開発中です。
Gtk+ は以下の 3つのコンポーネントからなっています。
- GLib
Gtk の移植性を高めるためのデータ型や、
文字列操作、連結リスト操作を行う関数群をまとめたライブラリ。
ruby/gtk から GLib の関数群を直接使う必要はまずありません。
- GDK
ウィンドウシステムに対する軽量な wrapper。
ウィンドウの生成や描画機能を持つ。
- GTK
GDK の上に構築されたウィジェットセット。
Gtk+ は C 言語で記述されていますが、
全面的にオブジェクト指向の手法を取り入れており、
一貫したプログラミングインターフェースの提供を可能にしています。
また、C以外の言語からの利用も考慮されており、
ruby を始め、
C++ や Perl など様々な言語のバインディングが開発されています。
■ Ruby/Gtk とは?
Ruby/Gtk は、オブジェクト指向スクリプト言語 Ruby から
Gtk+ を使うための拡張ライブラリです。
現在のところ X Window System と
Unix オペレーティングシステムの組合わせで使うことを前提としていますが、
将来は mswin32 環境でも使えるようになるかもしれません。
オブジェクト指向の技法で構築されている Gtk+ と、
最初からオブジェクト指向言語として設計されている
Ruby の相性は抜群で、
C 言語や他のオブジェクト指向モドキ言語から使うよりも
はるかに自然で使いやすいものになっています。
Gtk+ は、
Ruby から使うのが最適であると言っても過言ではないのではないでしょうか。
■ スクリプト言語のメリット
スクリプト言語は、生産性が高く、
短いコードで多くのことができる反面、
インタープリタ型のため性能が低いとされています。
たしかにそうですが、
GUI なアプリケーションについては、
メニューを描画したりリストをスクロールしたりといった処理は
C で書かれたライブラリレベルで処理されるため、
ruby/gtk で組んでも
C で組んだものとくらべて十分遜色のないレベルのものが作れます。
それよりも、
ruby/gtk ではGUI部品を生成したり、画面に配置したりなどが、
C で行うよりもはるかに手軽に行えますし、
コールバック動作の記述もずっと簡単ですので、
そちらのメリットの方がはかりしれないでしょう。
■ ウィジェット
ウィジェット(widget)とは、ボタンやスクロールバーなどの
GUI の部品のことです。
Ruby/Gtk では以下のようなウィジェットが使えます。
(testgtk.rb より抜粋。使えるウィジェットはこれだけではありません)
■ 用語について
- Gtk+ の + って何?
昔 Gtk という名前の GUI ツールキットがあったようです。
これはフラットな階層のウィジェットセットでした。
Gtk+ の + は、もともとの Gtk に対してオブジェクト指向の技法を取り入れ、
拡張されたものというような意味です。
ただ現在は Gtk+ のことを単に Gtk と呼ぶことも多いです。
- Ruby/Gtk とはどの部分を指しているのか?
狭義には拡張ライブラリのことを指しますが、
ruby 本体も含めた総称というニュアンスで使われることもあります。
ruby では拡張ライブラリをダイナミックロードできるので、
ruby/gtk という(rubyとは別の)言語があるわけではありません。
- 大文字と小文字の区別は?
Ruby/Gtk, ruby/gtk, Ruby, ruby, Gtk, gtk などいろいろな表記がありますが、
大文字でも小文字でも意味は同じです。
特に表記上のルールはありません。
次へ
[TOP]
[ML topics]
[GTK]
[Today's goo analyzer]
Written by
akaishi@ruby.freak.ne.jp