From: Masaaki A. <mas...@gm...> - 2011-11-06 15:55:04
|
青柳です。 まず、あまり期待しすぎないでください。。。 今作業しているのは、アプリを作る上で不満(実装不足とリファレンスの不備)があって、 それを解消するのが目的です。 自分にはGTK2にこだわる理由はないので、GTK3で開発できるようになったら、 さっさと移行したいと思っています。 > まず、Ruby/GTK2とRuby/GTK3は互換性がなくなります。 > これは、GTK+ 2とGTK+ 3で互換性がなくなっているためです。 > > ライブラリ名やgem名を変えて(*1)、requireする名前も変える(*2) > のがよいと思っています。 > > (*1) Ruby/GTK2 -> Ruby/GTK3、gtk2 -> gtk3 > (*2) require 'gtk2' -> require 'gtk3' > > なので、GObjectIntrospectionを使うなど新しい仕組みを入れるな > らRuby/GTK3のタイミングがよいと思っています。 > > なお、GObjectIntrospectionで何ができるかとかはYARD対応作業の > 中で見えてくることを期待しています。 > > ただし、世間がGTK+ 2からGTK+ 3に移行するのはあと2-3年くらい > かかる気がするので、しばらくはRuby/GTK2の方がメインだと思い > ます。 > >> もし、GTK2の実装の延長線上でGTK3に対応するという事にならないのであれば >> 今GTK2系を頑張っても仕方がないなぁと。。。 > > Ruby/GTK2の実装の延長上でRuby/GTK3になるかどうかは > GObjectIntrospection次第(もし他の何かがあればそれも検討する > のかも)なのでまだわからないと思っています。ただし、Rubyレベ > ルに提供するAPIの方針である「GTK+そのままのCっぽいAPIではな > くよりRubyらしいAPIを提供する」というのはRuby/GTK2でも > Ruby/GTK3でも変わらないので、今Ruby/GTK2で使いやすいAPIを作っ > ておくとRuby/GTK3の時にも活かせるはずです。特に、GTK+ 2の後 > 半で追加されたAPIはGTK+ 3でも残っているので、Ruby/GTK2から > Ruby/GTK3になったときに捨てるものではないはずです。 > > もし、GObjectIntrospectionを使ってどうにかして自動的に生成す > るようにしたとしても、最初にその仕組みを作ったときに意図した > とおりに自動生成できているかを確認するフェーズがあるはずです。 > そのとき、Ruby/GTK2ですでに実装があるとその確認がしやすくなっ > て役立つと思っています。 > > > ということで、以下のような理由でRuby/GTK2を最新のGTK+ 2に対 > 応する作業は無駄にはならないと思っています。 > > 1. あと数年はGTK+ 2の方がメインなので、Ruby/GTK3よりも > Ruby/GTK2の方が需要がある。 > 2. Ruby/GTK2で実装されたものがあると参照できるので > Ruby/GTK3を実装しやすい。 > > ただ、YARD対応など他の作業の方が↑よりも重要だなぁということ > であればそっちを優先するのもアリだと思います! 新しい仕組みを入れるタイミングとしてはいいとは思いますが、少なくとも自分には GObjectIntrospectionを利用してうまいことするアイディアは思いつかなそうです。 が、名前空間など色々整理したいところもあるので、GTK2はそのままでGTK3で作業を しちゃってもいい気がしてきました。 YARD対応(ソースにコメントを埋め込む作業)については、GObjectIntrospectionの 安定版がGTK3からのようなので、やはりGTK3対応後に作業をしたいと思っています。 |