新しい技術に対してこれまで獲得したスキルを生かすことは開発者の願いである。Sapphire Steel SoftwareのAmethyst IDEはこの願いをかなえてくれるツールで、.NET開発者が慣れ親しんだVisual Studio開発環境を使ってAdobe FlexやAIRアプリケーションを開発することができる。InfoQは最近、Amethyst IDEについてより多くのことを知るために、Sapphire Steelの創始者兼テクノロジーディレクタのHuw Collingbourne氏と対話した。
Collingbourne氏はSapphire SteelのRuby及びFlex向けのソフトウェア製品の設計と計画全体に関与し、現在はAmethyst Professionalの視覚的なドラッグ&ドロップ環境である‘Amethystデザイナ’の開発を担当している。Collingbourne氏によれば
A: Amethyst IDEはどのように始まったのか?
Q:我々は2008年の初頭にAmethystの開発を始め、昨年12月に初めてパブリックベータをリリースしました。当初、我々はFlexをRuby On RailsのWebベースのユーザインターフェースを作成するための代替方法と考えていました。
Rails用のFlashベースのインターフェースを開発するために、何度かFlexを使ってみて、FlexがHTMLテンプレートシステムよりも、より視覚的で統合されたアプリケーション開発の方法を提供してくれるとすぐにわかりました。しかし、Flexのビジュアルデザイン環境はEclipse上に構築されたAdobeのFlex Builderだけでした。
我々は、必要とされているものがもともと考えていたRailsをサポートするシンプルなFlexデザイン環境ではなく、Visual Studioユーザに対してFlexやAIR、ActionAcriptを使ったアプリケーションのコーディング、デザイン、デバッグのために必要となる全てのツールを提供する、完全なFlex IDEだと実感しました。
A: Flex BuilderやIntelliJ IDEA、EclipseのActionScriptプラグインがあるなか、なぜAmethyst IDEなのか?
Q:「Visual Studio」の一言に尽きます。明白な事実として、多くのVisual Studioユーザは他のIDEを使うための準備がありません。実際に、もしVisual Studioである言語や技術がサポートされていなければ、多くの開発者は単にそれを使わないという選択をするでしょう。
ここ数年のSteelでのRubyの開発で、我々はVisual Studio IDEの作成について非常に多くの専門知識を獲得しました。だからこそ我々はAmethystを開発し始める時に、ActionScriptエディタ(すでにたくさん存在しています)以上のものを生み出すことができるという自信を持っていました。着手して以来、Visual Studioユーザに受け入れてもらえる、全てのツールを持った開発環境を作ることが我々の目標でした。AmethystはAdobeのFlex Builderを除けば、この種のツールセットを提供する唯一のIDEです。
Ameshystは1から10まで全てVisual Studioのために設計されています。我々のゴールはFlex Builderのクローンを作ることではなく、本当にVisual Studio本来の機能であるようなFlex開発環境を作ることなのです。あなたがEclipseユーザならばおそらくFlex Builderを使いたいでしょう。もしあなたがVisual Studioユーザなら、Amethystが第一候補となることでしょう。
A: Amethystの開発において主な課題は?
Q: シームレスな統合です。ActionScript、Flexフレームワーク、AIRランタイム、Flex/AIRビジュアルデザイナを作ることは、Visual StudioにとってC#、.NET、SilverlightのようなMicrosoftテクノロジと同じくらい自然なことです。シームレスな統合を実現するため、我々は‘スマートタグ’のリファクタリングからビジュアルデザイナとActionScript、MXML間のラウンドトリップまで、非常に多くのVisual Studioの特殊機能をサポートする必要がありました。完全でシームレスな統合は、常にAmethystの基本的な設計上の目標でした。
A: あなた方やあなた方のユーザの経験から言って、一体なぜ.NET開発者がFlex/AIR開発を望むのか?
Q:まず最初に言わせていただきたいのは、Amethystは.NET開発者限定ではなく、Visaul Studioユーザに向けたものであるということです。Visaul Studioユーザが開発する必要のあるアプリケーションの多くが、.NETを全く使わないFlashプラットフォームを対象としています。
ですから、間違いなくMicrosoftとAdobeの技術を統合する必要のある.NET開発者が存在します。例えば、バックエンドがASP.NETを使ったアプリケーション、フロントエンドがFlex/Flashという場合です。データをバックエンドアプリケーションに送り、フロントエンドのユーザインターフェースで結果を表示することで、色々なことができます。もちろん、Flashのグラフィックスとアニメーションが使えるので、業務アプリケーションを作る上での制限はありません。また、ブラウザ上でアニメーションを表示し、ゲームのスコアやユーザープロファイルはデータベースに保存する、ゲームやFacebookアプリケーションの作成もあるでしょう。Midnight CodersのWebORD for .NETのようなFlexと.NETの橋渡しをスムーズにしてくれるツールもあります。
Amethystが他のバックエンドテクノロジも扱えるという点は指摘に値します。我々が作ったもう一つのIDEであるRuby In Steelのユーザーは、一つのVisual Studioソリューション内にFlexとRailsを両方含むアプリケーションを開発する能力を持っています。
A: SilverlightとFlexの比較に関してあなたの意見は?
Q: SilverlightとFlexの土台となっているグラフィックス技術とプログラミングフレームワークの間に多数の技術的相違がありますが、我々にとって際立っている点は、Flexの主要部であるFlashプラットフォームの優位性です。Flashはどこにでもあります。Adobeによれば、Flashは"世界で最も普及したソフトウェアプラットフォーム"で、インターネットに接続されたコンピュータの約99%にインストールされているということです。この統計に納得するかどうかはともかく、Flashが非常に重要なプラットフォームであることは間違いありません。ですが、今までVisual StudioユーザにはFlashをサポートする開発ツールが提供されていませんでした。
もし、人々がSilverlightで開発したいなら、それでもいいでしょう。Microsoftはそのためのツールを提供してます。一方、もしFlashプラットフォームをサポートするプロフェッショナル向けのIDEを求めているのなら、Amethystがそれを提供します。
A: Amethystのロードマップは?
Q: 今後数カ月に渡ってベータ版をリリースし続けるつもりです。各ベータ版には一つ以上の新機能を盛り込む予定です。これらのメジャーベータの合間に、バグフィックスや実験的機能を含んだいくつかの暫定版もリリースしようと考えています。我々はまだAmethystの最終リリースの日付を発表していませんが、AdobeがFlexフレームワークの次のバージョン(4)をリリースする前になることはないでしょう。
Visual Studio開発者がAmethyst IDEについてどう思うのか、ぜひお聞かせ願いたい。