Flash vs Java Applet

Ref: BEA WebLogic

この記事では、今後のWebインタフェースはFlashが有力であることと、Javaの課題としてはサーバーサイド以外に強い分野が欲しいという意見が述べられています。本記事では、これに対する私見を述べてみようと思います。

■Flashの現状分析
Flashが、Webインタフェースとしてスタンダードとなるためにはクリアしなければならない点がいくつもあります。特に気になる点は、以下の2点でしょう。
 ・根本的には、ナローバンドに対する対策が十分ではない
 ・無償の開発ツールの提供
ナローバンドでは、HTMLと勝負したら、Flashに勝ち目はないですね。すると、余力のあるサイトはHTML+Flashですが、余力がないサイトはHTMLのみになるのでしょう。最近の流れとしては携帯用コンテンツを用意することの方が重視されてきていると思うので、それを考えるとXMLから生成できるHTMLという方が有力です。そうなるとますますFlashの採用は厳しいでしょう。するとFlashのターゲットとする市場は高速回線が使用可能なブロードバンドとイントラネットということに狭まってしまいます。そう考えると、いかにFlashが高機能であっても、Webインタフェースを持つ製品全体でみたらごく一部でしか利用されないのではないかと思います。
さて、イントラネットでの利用を考えてみると、最近はWebminなどWebインタフェースでサーバー管理ということも考えられていますし、無線LANアクセスポイントなどの組み込み系製品もWebインタフェースで管理できるようになってきています。しかし大抵は、HTMLによるインタフェースになっています。高機能なインタフェースはOSに依存してもかまわないので、付属ツールという形で提供されています。これをFlashに置き換えなければならない理由というのはあまりないでしょう。リッチなインタフェースでなければならない理由が思いつかないからです。ただし、そうはいってもクールな画面の方が好きな人はいるので、Flashが得意ですでに開発ツールがてもとにあるのなら、採用しない理由もありません。そういう意味では、組み込み系製品にはFlashからみて大きな市場であるともいえます。
すると問題なのは、次の2点に関する販売戦略の取り方でしょう。
 1.ユーザーが気軽にFlashを試用する環境の提供
 2.教育機関におけるユーザーの囲い込み
これらの点でFlashは他の開発環境に比べて大きく見劣りがしています。

■Flashの販売戦略は?
まず、1点目のユーザーが気軽にFlashを試用する環境の提供について考えてみましょう。Flashは実行環境は十分に普及していますが、開発環境は購入するしかありません。筆者の知る限りでは無償利用が可能な試用期間が設定されたトライアルバージョンはある程度です。一方、Javaは、Java2 SDKが無償で提供されています。このため、興味をもった人はすぐに試用できるし、いろいろと勉強することができます。また、Visual Basic は、MicrosoftのOffice製品に組み込まれているので、ほとんどの人が試用することができます。これに異論がある人もいるかもしれませんが、筆者の知る限りでは、IT講習会などで採用されていたワープロや表計算ソフトがMicrosoft系であったので、ほとんどの人がMicrosoftのOffice製品を利用できる環境があると思ってもいいはずです。こういった点でみると、Flash開発者となるための敷居はそれなりに高いといえるでしょう。
2点目ですが、Flashに興味を持つ人はデザイン系の人がほとんどです。これは、もともとの機能がマルチメディア系に特化されたものだからです。すると、工学系の言語学習の教材としては、なかなかとりあげてもらえません。Flashを勉強するぐらいなら、C++やJavaを勉強した方が職にありつけるので、授業としては、そちらが採用されてしまうのです。そうするとFlashはプログラミング言語的にはどうがんばっても1番手にはなれないのです。教育機関でFlashの開発環境をプログラミング言語の授業で採用されるためには、大きな動機付けがないかぎり難しいでしょう。しかし、Flashには実は大きな強みがあります。それは、お絵かきツールというアプローチができるという点です。工学系で採用させるのは難しいのですが、小学校・中学校あたりの情報の授業であれば、十二分に利用される可能性があります。文系・理系に分かれる前に、Flashを使わせて覚えさせてしまえば、そちらの方が圧倒的に開発予備軍を育てることができてしまうわけです。
以上のことを考えると、Flashを普及させるには、無償の開発環境の提供と、初等教育機関に対するPRが鍵を握るといえるでしょう。

■Java Applet
さて、次にJavaをみてみましょう。JavaのアプレットはMicrosoftとの争いが長引いたために、普及するのは絶望的な状況になっています。しかし、技術的には、今でも十分な魅力を持っています。Webminなどに導入されているSSH Java Applet や、VNCのJavaクライアントは強力なツールです。Java Applet によるX Serverのアプレットも利用価値は高いです。これらは、Javaアプリケーションとしても魅力的なのですが、それ以上にちょっとだけコードを追加すればアプレットとして利用できるようになるというのが良いのです。JavaアプリケーションとJavaアプレットがほぼ同時に作成できるということは、保守性の高さにもつながります。これからは特にサーバー管理ツールなどはサーバーに用意しておいてクライアントへダウンロードして動作させるということが多くなるでしょう。そうした場合には、こういった特長を持つJavaアプレットはまだまだ価値が高いと思います。Flashはあまり詳しくないのですが、単体ではJavaと同程度の機能は実現できないのではないでしょうか。もし可能ならば、当然Flashの方が有利になってきます。

■Java Web Start
問題になるのは、Java Appletにした場合にサイズが大きいとダウンロードに時間がかかりすぎてしまう、という点です。これに対してSunは、Java Web Startという提案をしています。実は筆者は、FlashやJava Appletよりもこちらを有力視しています。どんな機能かというと、Javaアプリケーションの配布をWebから受けてクライアントPCにインストールし、バージョンアップがされた場合のみアップデートをするというJavaアプリケーションのネットワークインストールのための仕組みです。これがメディアであまりとりあげられないのは、まだWindows系で利用に値するデスクトップ用Javaアプリケーションが普及していないということと、これのすごさに編集者たちが気付いていないだけではないかと個人的には思っています。LinuxでもWindowsでもほぼあたりまえになっているアプリケーションのネットワークインストールですが、Javaでもきちんとできるようになっているのです。これをきちんと利用してあげれば、Javaアプリケーションのインストールは非常に簡単になります。自分のPCをネットワークに接続できるように設定できれば、すぐに希望の環境を構築できるようになるわけですから。筆者は1年に1回はなんらかの理由で新しくPCの環境構築をするのですが、そういった場合にすべてのアプリケーションがネットワークインストールできたらどんなに楽かと思います。その点では、Linuxの方がWindowsよりもはるかに簡単で良いです。Flashはこういった機能は提供していないのではないでしょうか。
話がうまくまとまりませんが、デスクトップ分野でもJavaの反撃は始まっています。微妙にJavaではありませんが、SWTで実装されたEclipseの圧倒的な支持や、UMLツールにはJavaが多いといった開発環境の分野からじわじわと進んでいるように思えます。これからデスクトップツールがネットワーク依存性を高めてくるとますますJava製ツールが増えてくるでしょう。

■最後に
少し話がずれましたが、Javaが今後も生き残るかどうかは、LinuxなどのUNIX系が生き残るかWindowsの独占状態になるか、が大きく影響するでしょう。Windowsが勝利すれば、JavaよりはC#を採用する方が理にかなっています。一方、LinuxがWindowsのシェアをある程度奪うことができれば、Windowsでしかほとんど動かないC#よりは、どちらでも動作するJavaを採用するということになるでしょう。その点ではJavaはサーバーサイド以外でも云々というのは、望みすぎで、ディフェンディングチャンピオンとしていつまでいられるかというのを意識する時期なのではないか、と思います。

最後に、ここまで読んでいただき、ありがとうございました。(ここまで読んでくれる読者は殆どいないでしょうが :)

Flash vs Java Applet」への3件のフィードバック

  1. ピンバック: Fantastic Metaphors!

  2. 私も読みました;)
    私もソフトウェア開発者なので、これからどの技術が主流になるかは気にかかるところです。
    FlashもFlash2004からはVBのようなフォームを貼り付ける方法での作成もできるようになっているようですね。
    ただ、本文にもありましたが有償なのがきついです。(たしかフリーソフトもどこかにあったような気がしますが・・・)
    個人的にはJavaにもっと頑張ってほしいです。最近になって遅ればせながらApplet(Swing)を知る機会があったのですが、かなりすごいですね。
    これから先、ネットワークの回線速度の増加やCPU速度の飛躍的な向上が見込まれますので期待できるのではないでしょうか。
    ただ、IEの性能の向上が前提になるように思います。IEはpngのアルファチャネルが使えないなど、他のブラウザに比べてかなり性能が劣るように思います。まして、MicrosoftがわざわざAppletの動作を早くするために注力するとは考えられません:(
    やはり、ブラウザも1社独占ではなく、複数の企業でしのぎを削ってもらいたいものです。

  3. 読みました(笑)
    妥当なコメントかと思います。
    個人的にはFlashは興味あるけど、開発ツールが有償だしなあと思っているところですね。
    Java WebStartは確かに騒がれませんね。私も使ったことがないので言えた義理ではありませんが。

コメントは停止中です。

同じカテゴリの記事: Java