[ruby-list:48532] Ruby-GNOME2プロジェクトの近況紹介
From:
Kouhei Sutou <kou@...>
Date:
2011-11-18 13:55:06 UTC
List:
ruby-list #48532
須藤です。 Ruby-GNOME2はRubyでRubyらしくGUIアプリケーションを開発できる ようにするためのライブラリ群です。LinuxやWindowsやMac OS Xな どマルチプラットフォームで動作するGUIライブラリであるGTK+を ベースとしているため、多くの環境で動作でします。 Ruby-GNOME2チームは特にここ数ヶ月頑張って開発しているので、ど んな感じになっているかを紹介します。(この内容も開発チームの 1人のNikolaiさんが作ってくれました。ほとんど私だけがコミット していた時期もあったので実に感慨深いです。) * Ruby 1.9 現在のRuby-GNOME2はRuby 1.8 ABIでもRuby 1.9.1 ABIでも警告や エラーがでずにコンパイル・実行できます。つまり、Ruby 1.8.7, 1.9.1, 1.9.2, 1.9.3のどれでも動くということです。 また、Ruby 1.9での文字列エンコーディングにも対応しています。 Ruby 1.9で、より並行に処理を実行できるような改善作業にも着手 していますが、これはまだ時間がかかりそうです。 * メモリ管理 メモリアロケーション周りを徹底的に検査して、たくさんのメモリ リークを修正しています。 ガベージコレクションまわりの処理も改良していて、以前のリリー スではなんかよくわからないタイミングで起きていたような問題も 修正しています。(GCまわりの修正で、まだリリースに含まれてい ないものもあるので近いうちにリリースしたいなぁ。) * ビルドしやすくなりました ビルドシステムを大幅に改良し、gemやWindows用のバイナリ入り gemもサポートできるようになっています。 * ドキュメントを書きやすくなりました(そう遠くない将来に) 現在、RD + Hikiベースで構築しているドキュメントシステムを YARDベースのものにしようとしていて、すでにその作業に着手して います。これによりドキュメントの質も参照のしやすさもよりよく なるはずです。 * 新しいAPIを定義しやすくなりました GTK+が提供するCの関数をRubyのメソッドに関連付ける処理を簡潔 にしました。これによりドキュメントも書きやすくなり、新しい APIへの対応もしやすくなります。 * バグ修正 上記のようなたくさんの変更の結果、ソースコードをレビュー・更 新することになりました。そのおかげで多くのバグが修正されまし た。 * GTK+ 3対応 GTK+ 3への対応を開始しました。完全にGTK+ 3に対応するには多く の作業がありますが、将来のことを考え、今からGTK+ 3を見越した 開発体制とすることにしました。そのため、今後はGTK+ 3対応の開 発をメインとして、GTK+ 2の対応はメンテナンス程度とすることに します。 * GitHubへ移行 Ruby-GNOME2はメインのリポジトリをGitHubのgitリポジトリに移行 しました。以前使っていたSourceForge.netのSubversionリポジト リは今でも参照可能ですが、今後は更新されません。 Ruby-GNOME2のリポジトリはここになります。 https://github.com/ruby-gnome2/ruby-gnome2 * GObject-introspection GObject-introspection採用の検討を始めました。これもそれなり の規模の作業になると思いますが、将来的にはわりにあうのではな いかと思っています。 * 開発参加お誘い 活発に開発を続けられて、こうしていろいろ開発状況を紹介できて すばらしいなぁと思います。これからも便利に使いやすくてなるよ うに開発を続けていければいいなぁと思っています。そして、その ようなGUIライブラリをできるだけ早くリリースできればいいなぁ と思っているのですが、ここに紹介したように大きな作業や着手し たばかりの作業もいろいろあり、大変な面もあるだろうなぁと思っ ています。 ドキュメントの改良やRuby 1.9、GTK+ 3への対応強化など、できる だけ早く、使いやすいGUIライブラリを提供できるように、みなさん がGitHubでforkしてpull requestを送って協力してくれるのを楽し みにしています!