Java Plug-InがJavaをブラウザに持ってくるのを助けるようになって数年が経つ。またそれはユーザとデベロッパにフラストレーションと苦労をもたらした。たくさんのユーザ達がブラウザの非互換問題、ブラウザフリーズ、またJVMクラッシュまでをも経験した。しかしながら、数週間前にSunは製品をデベロッパとユーザに持って来ようとJavaプラグインを1から作り直しすることが案内された(source)。それは長年に渡って切望されてきたことだった。
InfoQは最近Java SEのプロダクトマネジャーであるNicolas Lorain氏にインタビューを行い、Java SE 6 Update N用に予定されているJavaプラグインのリライトに関して対談した。
コンプリートリライト(作り直し)に至らせた既存のJava Plug-Inの主な問題は何だったのですか?
信頼性とポータビリティと機能性です。現在のJava Plug-Inは異なるオペレーティングシステムとブラウザファミリーをサポートしながら、数年に渡って「有機的に」開発されてきました。既存のコードベースの複雑性は異なるブラウザファミリー間で一貫性のないビヘイビアをもたらしていました。これは特に異なるブラウザ間でのスクリプトサポートに (Java/JavaScriptインタラクション)言えることです。またそれは周辺のwebブラウザと相互作用するクロスブラウザのアプレットの記述を困難にしていたのです。これは今までJavaスクリプトサポートにとっては固有でなかった一方、Sunはクロスプラットフォームインタオペラビリティを真剣に考えています。JREバージョンセレクションとJVMコマンドラインアーギュメント仕様のようなJava Web Startアプリケーションに有用な機能は、以前のJava Plug-inのアーキテクチャ内ではサポートされることが出来ませんでした。Java Web Startを介したアプリケーションと同じくらい強力なアプレットを作るには、0からの再記述(作り直し)が必須だったのです。
SunはSolaris、Linux、Windowsを直接サポートする新たなプラグインを提供するだろう。Appleは今後もMac OSへのサポートを提供するが、Sunが密接にこれに協力している。前述したオペレーティングシステムにおいて提供されている新たなプラグインで、 SunはInternet Explorer、FireFox 3 Alphaをテストしてきた。InfoQは広く採用されているFirefox 2用のサポート欠如に関して尋ねた。
なぜ広く採用されているFirefox 2に対応するプラグインをデザインしないのですか?Nicolas氏は、SafariとOperaのような他のブラウザ用の導入がむしろ簡単に成されることも言及した。
新しいプラグインにおける主要な相違点は、私達がどのようにそれをFirefoxブラウザに結び付けたかということです。歴史的な理由により、現在のプラ グインはOJIと呼ばれる複雑なJava仕様のインターフェースを使用しています。私達はマルチスレッドのプラグインをポータブルにサポートするのと、ある特定のアドバンスJavaScriptイ ンタオペラビリティをサポートするのに、NPAPIとNPRuntime両方にとってAPIの補強が必要であることを発見しました。これらのAPIの補強 はJavaの仕様には無いのですが、適切で複雑なプラグインが必要とされます。またOJIを通して実装されたJava Plug-inが実装されたFirefox 2コードベースは、NPRuntimeベースのJava Plug-inをサポートするため変更される必要があったとの推測もあります。それに加えて私達はJava SE 6 Update Nリリースの数ヶ月以内にFirefox 3が有効になることを予定しています。またそれはほとんどのJavaとFirefoxのユーザー達が比較的短期間でJava 6 Update NとFirefox 3用にアップグレードを完了するということになるのです。これらの理由として、私達はFirefox 2のサポートを2段階目に提示する一方、新たなJava Plug-inのFirefox 3におけるサポートにまずは全力を注ぐことを決めたのです。
現時点ではSafariかもしくはOperaのサポートに関するアナウンスメントはなく、Safari用MacOSサポート用のJREに関しては私達は未だ何の約束もできませんが、新たなPlug-inは導入が大変簡単という事実を手元に、これが今後大きな問題には発展するとは思っていません。
この新たなプラグインはJava SE 6 Update N(aka 6uN)(source)に始まりJREと一緒に発売されるが、しかしこれはデフォルトで無効となっている。それゆえにエンドユーザは最新で最善のものを使用するには プラグインを設定しなければいけない必要がある(Windowsコントロールパネルを介してか、もしくはUnixプラットフォーム上でのシムリンクを変更することによって)。
最後にInfoQはユーザ達がこの新たなプラグインを採用したくなる理由を尋ね、Nicolas Lorain氏とのインタビューに幕を閉じた。
更なる情報に関しては下記のリンクを訪れてみてほしい 原文はこちらです:http://www.infoq.com/news/2007/11/java-plugin
- . 絶対的な信頼性
- より良いユーザーエクスぺリエンス: アプレットが始動もしくはシャットダウンする際にブラウザが停止しない
- 3Dグラフィックと他の機能を統合したより強固なアドバンスアプレットコンテンツ用サポート