Ruby GUI 2008調査結果
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のどれか