2008年後半、Rubyプログラマを対象とした調査をしました。デスクトップアプリケーションを作成するために使われているGUIライブラリの使用法と、GUIライブラリに対する考え方についての調査です。
English | 日本語
ダウンロード
- フルレポート: 背景、結果、解説(PDF、20ページ、英語)
- 設問毎の総計(PDF、16ページ、英語)
結果の要約
- 調査では全部で399個の回答を得ました。80%の人が最後まで調査に協力してくれました。回答者は次の3種類にわけることができます。1. RubyでGUIプログラミングをしたことがない人、2. 昔はしていたけど今はしていない人、3. 今もしている人。そして、これらの3種類はほぼ同数でした。
- 多くのGUI開発は1人で行っていました。そして、その開発は"単純におもしろいからやっている"プロジェクトまたはオープンソースソフトウェアとして行われていました。3人に1人は社内ツールを開発するためにGUIライブラリを使っていました。商用GUIソフトウェアとして使っている人の数は10%に達しませんでした。
- RubyでのGUI利用場面はバラバラです。調査では、現在、少なくとも1ダース(12)種類のGUIライブラリが使われていることがわかりました。多く使われているツールキットはShoes(21%)、Ruby-GNOME2(19%)、wxRuby (16%)でした。
- 1つ好みのツールキットを選ぶとしたら、という設問では、Ruby-GNOME2とShoesがそれぞれ26%の人に選ばれました。続いて、wxRubyが17%、RubyCocoaが11%となっていて、他のツールキットは10%に達しませんでした。
- 日本のRubyユーザとヨーロッパ・アメリカのRubyユーザで特筆すべき違いがありました。日本のRuby開発者はRuby-GNOME2がもっとも好まれているツールキットで過半数を越えていました(56%)。一方、Ruby-GNOME2のヨーロッパ・アメリカでの人気はShoes、wxRubyに続いて3番目でした。
- 2つの総合的なツールキット(GNOME2とWx)のどちらかが好まれているということはまったく予想していませんでした。どちらにも一般的に重要だと思われているGUIライブラリの機能が備わっているからです。これは、2つのツールキットの機能と見込みアプリケーション(開発する可能性のあるアプリケーション)の範囲が広く重なっていることを示唆しています。
- 新しいRubyの実装の出現と、その実装に関連のあるGUIライブラリがもうすでに利用されはじめています。MacRuby/Cocoaと(それよりも少し割合は低いですが)JRuby/Swigはよく使われていて、関心も持たれています。すべてのGUIライブラリのうち、ユーザのGUI開発要求に適している、と1番投票されたのはMacRuby/Cocoaでした。
- ユーザのGUI開発要求に適している、に1番投票されなかったのはRuby-Tkでした。1番多いのは機能が足りないという理由でした。また、現在使っている人の数より、将来使いたい人の数が少ない唯一のライブラリでした。標準ライブラリに含め続けるのは理にかなっていないかもしれません。
- 意見付きの回答のうち、60/40の割合でRuby標準配布物にはGUIライブラリを含めるべきではないという意見がありました。
- 使われるGUIライブラリがあまりにもばらばらだと潜在的なGUI開発者が増えません。ほとんど全員がRubyはGUIプログラミング言語として成長できるとみていますが、実際にはGUIにRubyは使われていません。その大きな理由はツールキットの未熟さにあります。RubyのGUIアプリケーションをエンドユーザに配布する方法には別の障害があります。
- Ruby 1.9のリリースはRubyでのGUI開発におけるいくつか認識されていた障害を解決します。例えば、高速化です。もっと重要なのはシステムレベルのスレッドを使えるということです。デスクトップアプリケーションプラットフォームとしてのRubyをさらに改良するためには、Rubyの参照実装に責任がある領域があります。例えば、バイトコード読み込み機能の提供です。
追加情報
この調査に参加してくれたみなさんと、この調査の作成に協力してくれたみなさんに感謝します。調査報告ではこちらで選んだ設問に対するまとめのみを提供しています。より詳細な解析を行いたい人には、喜んで匿名の生データを提供します。もし、興味がある人は以下の情報を手短に書いて私(Alex Fenton)にEメールを送ってください。(訳注: 英語で書いた方がよいと思います。)
- 目的とするデータの使用方法(非商用に限る)
- 個々の回答者のプライバシーを危険にさらすつもりがないという宣言
- 好みのデータ形式: CSV、Excel、Open Documentのどれか
![[pressure.to logo -> link to home]](/siteware/graphics/pressure_logo.gif)