[Java] Java Spotlight Episode 21 - Stephen Chin, Java Champion, on Visage

Roger Brinkley: 21回目のJava Spotlight Podcastにようこそ。Roger Brinkleyです。

Alexis Moussine-Pouchkine: Alexis Moussine-Pouchkineです。

Roger: 今回のPodcastでは、JavaチャンピオンのStephen ChinとVisageプロジェクト(JavaFXスクリプトコンパイラ)のインタビューです。それではニュースのコーナーです。今週開催のServerSideシンポジウムが近づいてきました。Steve HarrisとAdam Messignerが基調講演します。JavaFX 2.0に関連するJSRがリリースされたところですから、Steveの話はかなり楽しみですね。Jeromeと、このPodcastにも一度登場いただきましたAdam Bienも登場の予定です。そして、IBMのJim Knutsonがこれからの10年のEnterprise Javaプラットフォームについてプレゼンテーションをする予定です。
あとは、GlassFish 3.1ですね。たくさんとりあげることがありますね、Alexis。

Alexis: ええ、aquarium(GlassFish 3.1の新機能などを紹介していました)を訪問してくださる人数、およびダウンロード数ともかなりの数ですね。計測しているのですが、このリリースについてはかなりいいですね。ここでお伝えすべきことが2つあります。一つはGlassFishのクラスタリングに関する記事の更新版を投稿しました。これはバージョン2.xのときに記載したものですが、これを最近書き換えました。クラスタリングやアプリケーションのサービスに興味がある人向けですが、たぶんそういうことに興味が強くなくてもおもしろいと思います。クラスタの定義、ノードや集中管理、グループ管理システムの意味から始めて、すべて明らかにしてから、どのように動作するのか、どのようにGlassFish 3.1で実装されているのかという仕様に進みます。
もう一つは組み込みGlassFishのTweetがたくさんRetweetされていることです。そしてGlassFishはクラスタモードでの本番利用に確かに適しているのですが、組み込みバージョンもあるのです。あらゆるGlassFishを起動したり、停止したり、アプリケーションをデプロイしたりするためのAPIです。
アプリケーションサーバのランタイムにアプリケーションをデプロイするのと対照的に、基本的にアプリケーション中にランタイムをバンドルすることができます。これはたくさんの方にRetweetしていただきました。3.1の新機能を示したブログのリンクやコミュニティメンバーによって実施されたスクリーンキャストをShow Notesにまとめておきます。

Roger: Alexis、Java EE 6を採用したことで安定したようですね。

Alexis: 完全ではありませんが、かなりですね。何度もGlassFishについて言及していますし、これは私が取り組んできたことですから、おそらくそれが原因でしょう。JbossやOracle WebLogicについては以前お話したように、今年の年末までにはJava EE 6の完全サポートを目指しています。Apache GeronimoやIBM WebSphereについてですが、これらはJava EE 6をサポートしようとしているベータ版を出しています。Caucho Resinについても言及しておきましょう。これは小さなWebサーバで、Web Profileのみをサポートすると宣言したので非常に興味を持ってみています。これは単にサーバコンテナとして利用し、いつでもWeb Profileをサポートするでしょう。そして最後に、会話していたのはJOnAS、これはOW2コンソーシアムから出たオープンソースアプリケーションサーバです。5.2マイルストーン5バージョンがリリースされたところで、Java EE 6の機能をたくさん実装しています(すべてではありませんが)。まだ認定されていないのですが、利用するお客様や開発者にとって競合製品がたくさんあるということなのだと思います。競争も選択もいいことですね。

Roger: 最終的に重要なことは目の辺りにしていることはこれらの人々の実装のすべてであろうと思います。前進する上でこれはJava EE 6の強さを示す強力な指標ですね。

ではイベントの紹介に移りましょう。
  • WebLogicトラブルシューティングとパフォーマンスチューニング(Webcast) (3月17日)
  • PC Quest and Spark IT 2010(3月17日)
    我々は5個のセッションを実施します。
  • ExlipseCon(3月21日、22日)
    • Mark Reinholdをはじめとする人々が様々なプレゼンテーションを実施します
  • OTN Developer Days
    • インド・バンガロール/プネ-/チェンマイ(3月22日、23日)
    • レストン、バージニア(4月7日)
  • ナッシュビルのJava User Groupでのセッション(3月30日)
  • JavaOne in Russia (4月12日、13日)
ではfeature interviewに移ります。ブラジルで開催されたJavaOneでStephen ChinさんとVisageプロジェクトについて会話する機会がありました。では、インタビューの模様をどうぞ。

---- インタビューここから ----

ブラジルで開催されているJavaOneに、Stephen Chinさんとご一緒しています。現在彼が取り組んでいるプロジェクトのお話を伺います。

Stephen Chin: 数年間Java.textコミュニティの活動に参加してきました。JavaFX 2.0の大きな変化の一つに、JavaFXスクリプト言語が削除されてjava APIになりました。おもしろいことに、もはやJavaFXスクリプト言語をサポートしませんが、コンパイラは未だに現在までの数年間オープンソースであるJavaFXの一部として残っています。それゆえ、JavaFX Script Compilerをオープンソースプロジェクト(Visage)に迎え入れ、現在の機能に新しい言語機能を追加し、新しいJavaFX 2.0 APIのサポートを追加しました。言語を生き続けさせることができると思っています。

Roger: どういうことですか?

Stephen: オープンソースプロジェクトです。たくさんの様々なコントリビュータはコンパイラの作業に携わり、ちょこっとした作業を実施したプロジェクトメンバーです。この点で、私はコンパイラに対する最大のコード変更を実施した一人ですが、他のメンバーはバグ修正を加速し、より小さくすることに注力しています。JavaFX 2.0 APにIはJavaFXスクリプトと一緒に使えるようにするためにある程度のラッピングが必要です。そのため、コンパイラ設計者ではなく言語に興味を持つ方の手を借りる必要があります。

Roger: プロジェクトに参加するこの手の人は、コンパイラ開発の経験が必要なのでしょうか。

Stephen: コアコードベースでは実際にjavacから生成されているため、本当のコンパイラや、antスクリプト、パーサージェネレータといったものです。全くコンパイラ開発の経験がないなら、ちょっと最初は難しいかもしれませんね。

Roger: やってましたね。一度だけですが、戻りたくはないです。他に何かできることがありますか?

Stephen: ええ、コンパイラの作業は実際にはもっともハードなのですが、他の手伝って欲しい作業というのは、JavaFX 2.0 APIのように、別のライブラリ上へのプロキシAPIクラスの作成なのです。そして言語に対応するようコンパイラに変更を施す必要があります。しかしそれと同時にクリーンで洗練されたUIや言語、APIライブラリのセットを作成するという作業がたくさんあります。この作業では、新しいJavaFX 2.0のAPIを使って作業できますよ。

Roger: それでは、javascriptが対象外になるというJavaFX 2.0の発表以来、このプロジェクトにどれぐらい取り込まれているのでしょうか。

Stephen: 非常に関心が高いですね。たぶん50~60名ほどの人がメーリングリストでアイデアをやりとりしています。たぶん一握りの人だけが実際にコードを変更したり、プロジェクトの作業をしていると思うのですが、明らかに多くの関心を集めています。というのは、2.0以前のJavaFX開発をしていた人にとって、Java APIでアプリケーションを書き直すというのは重要な投資だからです。今日JavaFXスクリプトを使っている皆さんからの関心が高いので、自分たちの現行アプリケーションのギャップを埋めるためにできるだけ近づいて情報を得ようとしています。ひょっとすると、性能の理由でJava APIを使うかもしれませんし、新しいJava APIを試すかもしれません。ただし、それはUIを設計するにあたってより手際よく、エレガントで、よりシンプルな方法がある場合です。

Roger: ではツールの統合に関する話に移りましょう。コンポーザはスクリプトをサポートしています。将来はスクリプトをサポートする必要がないはずですが、ツールの計画や方針はどうなっていますか?

Stephen: 今ツールセットを見ると、JavaFXツールが実現する2つの別の事柄があります。一つはJavaFX Scriptコードの編集と新しいJava APIで、ここは我々が引き継いだ部分です。この分野へOracleが投資し続ける理由がありませんから。NetBeansやEclipseプラグイン、IntelliJプラグインは現在開発進行中ですが、これらのコードベースを手にいれ、新しいVisageコンパイラで使えるようにアップデートしています。そしてJava IDEと同じ品質レベルになるように時間をかけています。JavaFX IDEで実施してきたことのもう一つは、ツールの生成です。つまり、JavaFXのコードを生成するツールです。私の理解では、実際に彼らはJavaFXスクリプトをモデリング言語として使い続ける予定だということです。コンポーザがFXDファイルに出力するJavaFXスクリプトのサブセットがあります。UIに変化するコードを生成する方法として、シリアライズされたJSONに類似したJavaFXスクリプトの部分は維持するつもりです。JavaFXスクリプトのサブセットを生成するツールのクラスはまだOracleによるサポートが継続される可能性があります。

Roger: では、ここに欠けているのは何でしょう?NetBeansやEclipse、InteliJといったコンポーザに足りないものはなんでしょうか?JavaFXのスクリプティングツールを使いたい場合に足りないものは?

Stephen: JavaFX 2.0がリリースされたら、引き続きVisageをできるだけ早くリリースする予定です。Visageはコード編集のためのIDEのプラグインとともに、JavaFXスクリプトの機能を提供します。
それゆえ、JavaFX 2.0のリリース後すぐにJavaFXスクリプトを作成したいということなら、人員配置を変更する必要があります。

Roger: おたずねしたいのですが、なぜそうするのでしょうか。

Stephen: 異なるJVM言語を試して、Java API上で何ができるかを確認してきました。新しいAPIで記述する必要があるJavaコードと同等のJavaFXスクリプトを見比べると、JavaFXスクリプトのコードに対して、Java側ではすぐにその2倍の量のコードを書くことになります。タイピングの量や記述が必要なコードの量ではありません。言いたいのは、あるレベルのJavaコード開発者は、別の言語の場合よりもより冗長なコードを受け入れるということです。そして、JavaFXスクリプトは非常に先進的だったと思います JavaFXは、UIの問題を解決する一般的な言語を実際に作成する唯一のプラットフォームでした。この領域で他製品が何をしているかをみてみると、Flex SDK、Androidライブラリ、Apache Pivotの例などをみてもわかるように、すべて同じことを達成するため、XMLモデリング言語を持っています。
命令コードがUIデザインにマッチしないことがわかったため、UIをもっと簡潔にしてエレガントに表現するため、XMLベースの言語を作成しましたが、これは私見ですが、XMLはUI設計者や開発者がUIを表現するための言語に求めるものに対して不十分だと思います。

Roger: プロジェクトはどこにありますか?

Stephen: VisageプロジェクトはGoogle Codeにあります。短いURL( http://visage-lang.org )があります。メーリングリストもあります。コードリポジトリもあります。そこに変更を提供することができます。非常にオープンなプロジェクトです。もし貢献したいという方がいらっしゃるなら、喜んで受け入れます。

Roger: ライセンス形態は?

Stephen: コンパイラ自体はGPLライセンスです。それはOracleにライセンス許諾されているものです。コンパイル結果は同じライセンスに準拠する必要はないため、利用者にとっては問題ではありません。ライブラリについてはその上に構築しています。できるだけオープンの状態にするため、BSDライセンスのままにしています。

Roger: できるだけ可搬性を持たせる、ということですか?

Stephen: そうです。

Roger: Stephen、貴重な時間をどうもありがとうございました。

Stephen: どうもありがとう。

---- インタビューここまで ----

Roger: では、What's Coolに行きましょう。Alex、どうですか?

Alexis: 詳細がわからないので手短に言いますが、Julien PongeはGlassFishコミュニティメンバーで、GlassFishインストーラを書いた人であり、IzPackプロジェクトの創始者です。彼はわずか2ワットしか消費しないものの上でGlassFishを走らせた、と先週Tweetしました。これはかなりクールなことだと思います。よくわかっているのは、それがJava ACMベッド上で動くGlassFishの最新バージョンであるということです。

Roger: Alexis、私がクールと思ったのは、Java Duchesses、Clara KoとRegina Ten BruggencateがJava Championに選ばれたということです、おめでとうございます。Java Duchessesと実施するプログラムがあります。聴きたいなら、Java Spotlight Podcast 10に戻って聴いてください。

Roger: 21回目のJava Spotlight Podcast、聞いていただきありがとうございました。Roger Brinkleyでした。

Alexis: Alexis Moussine-Pouchkineでした。

Roger: フィードバック受け付けています。feedback@javaspotlight.orgまでよろしく!


原文はこちら。
http://blogs.sun.com/javaspotlight/entry/java_spotlight_episode_21_stephen

0 件のコメント:

コメントを投稿