BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Anvil - RubyのMVC GUIライブラリー

Anvil - RubyのMVC GUIライブラリー

Anvil(サイト・英語)は意欲的なMVCフレームワークで、RubyでクロスプラットフォームなGUIアプリケーションを開発するのに適しています。現在 Anvilは、WxRuby(サイト・英語)が必要です。WxRubyはポピュラーなWxWidgets(サイト・英語) C++フレームワークのRuby版バインディングです。しかし、それは特に特定のツールに依存しているものではないので、例えばRubyCocoaや FxRubyなどのツールキットを必要としないだろう。Anvilプロジェクトはまだ生まれて間もないが(バージョンはまだ0.0.1だ)、RailsやMerbなどのフレームワークを使うとWebアプリケーションの開発が楽になるように、RubyでGUIの開発を行うのが楽になるDSLとしてRubyコミュニティで知られるようになってきました(source)

我々infoQスタッフはAnviフレームワークの開発者であるLance Carlsonに、Anvilプロジェクトのヴィジョンやリリース計画に関してインタビューを行いました。

Antonio Cangiano (InfoQ): 現在Anvilの開発者はあなた一人ですが、あなた自身のことやあなたのRubyとの関わり合いを教えてくれませんか?
Lance Carlson: 仰る通り現在Anvilの開発者は私一人です。しかし一緒に開発してくれる仲間を数人得て今の状況が変わる事を望んでいます。このプロジェクトでは助っ人を得るのが難しかったです。たとえこの状況が直ぐに変わる事を望んでいたとしてもです。個人的な話をすると約三年間Ruby on Railsでプログラミングをしてきました。また契約者として多くの時間を費やしてきました。最近私はEngine Yardに雇われ、時間が許す限り、Merb、Sequel、その他にも関係がある優れたオープンソースプロジェクトに力を注いでいます。

AC: RubyのGUI開発に関する現在の状況をどう思いますか?またAnvilプロジェクトを始めた頃のヴィジョンを教えてください。
LC: Ruby GUI開発キットの現在の状態を他の言語と比較すると、かなり新しくて且つ未発達です。そして更にフレームワークが少ししか存在しません。また、利用できるオプションは、コードを使用しているRubyのDSLを表すことより、C言語のような構文をのような構文を用いる傾向があります。Anvilに対する私のヴィジョンは、GUIツールキットとRubyを使う人なら知っていて好んで止まないシンタックスシュガーとの間のギャップを埋めるフレームワークを作ることであり、また同様にAgileなGUI開発環境用に必要なツールを提供することです。そのようなツールはテストスイート、MVCアーキテクチャ、コードジェネレータ、gemベースのプラグイン、環境ステージ、そして簡潔なアプリケーション構成を含みます。将来的に、私は、ActiveRecord、Sequel、DataMapperのようなポピュラーなORM全てとの統合のサポートを予定しています。また WxRubyに加えてRuby Cocoa、FxRubyと他のGUIツールキットを提供する予定です。Anvilが今よりも発達し製品として熟したら、ActiveResourceによる統合を考慮したいと思う。.

AC: Anvilを見ていると、Anvilは、RailsがWeb開発で成し遂げたことを、Rubyのデスクトップアプリケーションでも行おうとしているように私には見えます。 Engine YardとMerbプロジェクトに関わった事によって、Anvilはなんらかの影響を受けますか?またプロジェクトのアーキテクチャのことを教えてくれますか?
LC:
Merbプロジェクトに関わった事により、私は良いアイデアが沢山浮かびました。そのアイデアとはAnvilコンソール、コンフィギュレーションセットアップ、環境、プラグインシステムそしてその他のものです。私がWEBフレームワークから拝借して取り入れたい部分は、開発者として開発を自動化する箇所です。残りのフレームワークは、DSLを使用したシンタックスを表現することにより、Rubyで利用出来るGUIツールキットを使った開発者の作業を自動化出来ます。高いレベルの抽象概念が、開発者をGUIのポーションについて心配するところから会報誌、アプリケーションのより大切な部分に集中出来るようにしてあげなければいけないと思っています。

AC: 最初の0.0.1版は、約1ヵ月前リリースされましたが、近々のプロジェクトの計画はどのようになるのでしょうか?
LC:
次のリリースで、私は前にリリースしたものに含まれる障害を取り除き、幾つかの機能を含める予定です。またMerbのgemベースのプラグインシステムを真似たプラグインフレームワークを導入する予定です。そしてwidgetwrapperが提供するDSLを使用してWxRubyの機能をより多くカバーしたいと思っています。

AC:
Anvilは、Ruby向けの唯一のGUIフレームワークではありません。_whyのShoesは、RubyでGUIを作成するプロセスを単純にしようとするDSLフレームワークです。Anvilが他のGUIフレームワークと異なるところは何なのでしょうか?そしてRuby開発者がこれを利用すべき理由はなんでしょうか?
LC: Anvilは、whyのミニフレームワークからインスピレーションを幾らか受けました。彼のDSLから、RubyでGUIアプリケーションを開発することがどれくらい強力でありうるかについて理解しました。RailsがWebアプリケーションの頼りになるソリューションとなったのと同様に、AnvilがRubyのGUIフレームワークにおける頼りになるソリューションになるであろうというところにAnvilとShoeの違いがあります。Shoesは依然として軽量アプリケーションを作る際の良い選択肢となっていますが、より完全なGUIツールキットをお望みなら、Anvilをお試し下さい。Rubyの開発者は、Anvilに触れて、Rubyが利用出来るテクノロジーの範囲を増やすべきだと思います。Rails開発者は、一般的なアプリケーションレイアウトを既に知っているので、GUIアプリケーションを開発することになっても問題はないでしょう。Anvilは、Rails開発者がGUIを使うことにより、最小の努力でRubyアプリケーション開発を可能にすることを目指しています。


以前InfoQで取り上げたRubyのGUI開発に関する記事もご覧下さい(source)

原文はこちらです:http://www.infoq.com/news/2008/02/anvil-interview

この記事に星をつける

おすすめ度
スタイル

BT