BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース AsWing、ActionScript狂のJava開発者?

AsWing、ActionScript狂のJava開発者?

Java Swingは何年にも渡り、開発者がJavaでグラフィカル・ユーザ・インタフェース(GUI)を作るブロックとしてメジャーなものとなった。Java Swingの経験とスキルをActionScript 3ベースのリッチ・インターネット・アプリケーション(RIA)システムの構築に応用することは出来るだろうか。AsWing Framework(リンク)はまさにこのゴールを目指して始まった。InfoQではAsWing開発の先頭に立つiiley Chen氏とAsWingがどのようにRIA開発に貢献するのかについて話をした。

他のUIフレームワークを使わずにAsWingを作成した理由について聞いたところ、以下のような回答を得た。

確かにFlex以前にもよく出来たフレームワークがありましたが、ほとんどの製品が使い易くなかったり機能が不足していました。多くの製品で、ツリー、データグリッド、そして強力なレイアウト・マネージャなどの重要なコンポーネントが欠けていました。Flashに関するオンライン・コミュニティに際して私が初めて大規模なアプリケーションを開発しようとしていたとき、強力なUIフレームワークを必要としていました。私にはJava Swingの利用経験があり、Swingの採用しているアーキテクチャやデザイン・パターンを気に入っていました。そして、Swingに似ているFlashのUIフレームワークがあれば私達が作ろうとしているアプリケーションのUIを素早く快適に構築することが出来ると信じていました。そこで、ActionScript2という言語を使ってAsWingの開発を始め、そのAPIのほどんどをSwingと同じようにしたのです。AsWingは現在ActionScript3で開発されていて、再設計とリファクタリング*を繰り返しています。ある人がAsWingはSwingやFlexよりも使い易いと言ってくれました。AsWingを開発する努力が報われた気がしてとても感謝しています。

AsWingの主な利点と独自性について、Chen氏は以下のようにコメントしている。

主な利点は変化しやすく動的なUIを純粋にActionScriptのコーディングだけで構築できるということです。AsWingの中核部分は単にActionScriptのクラスなので扱い易く管理し易いのです。もしJava Swingの経験があれば、そのスキルはほとんどが活用できるでしょう。

さらに、AsWingは専門的なColorMixiersやJLabelButton、Form、Folder、そしてGridListといった特別なコンポーネントを含む40以上もの近代的なUIコンポーネントを提供しています。.

加えて、よく出来たMVCパターンによってデータの更新を簡単にUI画面に反映できます。Flexにデータ・バインディングがあるように、AsWingにも様々なデータ・モデルがあり自動的に更新があったことを画面に通知します。

(AsWingに)含まれているSkinBuilder?(スキン・ビルダ)ツールは開発者がコンポーネントの画像やFlashのシンボルを用意するだけで完全に独自のスキンを作成するのに役立ちます。さらに、GuiBuilderはUIのレイアウト設計を補助し、後でActionScriptのソース・コードを生成することが出来ます。

Finally最後に、AsWingは重たくありません。他のアプリケーション・フレームワークも兼ねているUIフレームワークとは異なり、純粋にUIのためのものです。AsWingを好きなアプリケーション・フレームワークと組み合わせることが出来ます。

開発環境に関しては、AsWingは融通がきく。これについてChen氏は以下のように説明した。

開発に際して何か特別に必要なものはありません。Flex Builder、FDT、FlashDevelopといったどのようなActionScript開発環境でも平気です。AsWingはあなたのプロジェクトに関連付けられる単なるActionScriptのライブラリです。AsWingアプリケーションはFlexコンパイラ、Flashコンパイラのいずれでもコンパイルすることが出来ます。ただし、GuiBuilderツールはAIRアプリケーションなので実行するにはAIRの実行環境が必要となります。

AsWingのロードマップについてChen氏は以下のように語った。

私は現在次のメジャーバージョンとなるAsWing 2.0に取り掛かっています。デフォルトのルック・アンド・フィールは見直され良くなっています。最も重大な新機能は新しいスキン技術の導入です。透明度、色調、角の丸みや影といったプロパティについてほんの数行のコードを書くだけで、複雑なComponentUIクラスを開発することなく、コンポーネントの見た目を変えることが出来るようになります。さらに、Numeric Stepper、Date Chooser、Advanced TextArea、そしてAdvanced Tableなどの新しコンポーネントが追加されます。

Chen氏は以下のHello Worldを表示するAsWingアプリケーションのコードを提示した。

package{
import flash.display.Sprite;
import org.aswing.*;
public class HelloWorld extends Sprite{
    public function HelloWorld(){
        AsWingManager.initAsStandard(this);
        JOptionPane.showMessageDialog("Title", "Hello World!");

    }
}
}

Java Swing開発者には見慣れたコードだろうか。

 

原文はこちらです:http://www.infoq.com/news/2009/02/AsWing

この記事に星をつける

おすすめ度
スタイル

BT