従来より広く利用されてきたJavaアプレットですが、JDK9以降は非推奨となっています。
しかし既存システムの改修などの理由で、どうしても利用する必要がある方もいらっしゃるのではないでしょうか。
本記事では、Javaアプレットを動かすために必要なJavaプラグインと、代替機能として注目されたJava Web Startについての廃止情報をご紹介していきます。
目次
Javaのプラグインとは
Javaのプラグインというと、一般的にブラウザ上でJavaを動かしたい場合に利用される「Java Plug-in tecnology」のことを指しています。
JDK9以降は非推奨
最初に意識しておいて頂きたいのは、本記事で使い方についてご紹介していきますが、あくまでJDK9以降のJavaでは非推奨の技術に設定されている点です。
つまり今後新規でJavaシステム開発を行う上では、基本的に利用すべきでない技術となります。
あくまで現在Javaプラグインが利用されているシステムの改修や知識として学習する意味で使い方を把握しておくに留めておきましょう。
Javaアプレット
このプラグインを使う実行プログラムが「Javaアプレット」と呼ばれています。
Webページの一部としてJavaプログラムが埋め込まれ、即座に実行される形となります。
1995年から利用されているレガシー技術ですが、上述したように現在では非推奨となっていることから最近のシステムでは利用されません。
Javaプラグインを使ったアプレットの仕組み
Javaプラグインを使ってアプレットを利用するのは非推奨となっており、Chromeなど近年のブラウザでは実行出来なく設定されていますが、IE11など現在もアプレットが動いている環境は存在するため仕組みだけは把握しておきましょう。
アプレットの基本的な書き方
アプレットを利用する場合、Java標準で提供されている「Applet」クラスを継承して、アプレットで動かしたいクラスを作成する必要があります。
クラスの記述方法としては「extends」を利用した下記のような記述となります。
import java.applet.Applet; public class AppletSample extends Applet { // コードを記述 }
Javaでは継承の記述法として「extends」を利用し、サンプルの場合はAppletクラスを継承した「AppletSample」クラスを作成しています。
継承を利用することにより、継承元であるAppletクラスに記述されたフィールドやメソッドを利用することが可能です。
ブラウザへ表示するHTMLにも処理を記述
アプレットを実行する際、ブラウザへ表示するHTML側へも「applet」タグを記述して、アプレットからJavaプログラムを実行することを明示してあげる必要があります。
<html> <head> <title>アプレットサンプル</titel> </head> <body> <applet code="AppletsSample"> </applet> </body> </html>
appletタブでJavaのクラスファイルを指定し、クラスファイルに記述したJavaプログラムが実行されます。
用途は様々なですが、Javaプログラムで指定した内容を画面上に反映させることが出来るため、動的ページの作成が可能となります。
Java Web Startもブラウザプラグインの方針で廃止へ
Javaプラグイン廃止の方針により、アプレットでの開発は実質廃止へと向かっていますが、アプレット廃止に伴い代用技術とされていた「Java Web Start」がどうなったのかについても確認しておきましょう。
Java Web Startとは
Java Web Startは、ブラウザでJavaを実行する必要のあるユーザーに対し、アプレットからの切り替えが推奨されていたサービスです。
Java Web Startの実装では、Java Network Launching Protocol(JNLP)と呼ばれるxmlファイルを作成し、ユーザーがリンクをクリックすることでブラウザでJava Web Startが利用出来る仕組みでした。
Javaではクライアントサイドの技術が少ないため、アプレットよりも高機能なJava Web Startが注目されましたがJava11での廃止が決定となりました。
Java11での廃止が決定
アプレットと同じく、Java Web Startに関してもJava9時点で利用が非推奨の技術に設定されました。
Java11以降は正式に廃止が決定し、アプレットの代替機能としても利用することが出来なくなりました。
Javaプラグインのサポート期限とブラウザ対応状況
Javaプラグインや上述しているJava Web Startが、Java11以降廃止になったといってもいきなりサポート全てが打ち切られるわけではありません。
JavaSE8の公開アップデート終了に伴って、それぞれ順次サポート対応も終了していく予定となっています。
サポート期限について
サポート期限は、オラクル公式ページの記載を抜粋すると下記の通りとなります。
- バージョン6(JWS): 2017年10月
- バージョン6(アプレット): 2017年10月
- バージョン7(JWS): 2017年10月
- バージョン7(アプレット): 2017年10月
- バージョン8(JWS): 2030年12月
- バージョン8(アプレット): 2019年3月
- バージョン9以降(JWS): なし
- バージョン9以降(アプレット): なし
Java Web Startに関しては2030年12月までのサポート期限が設定されていますが、Javaプラグインに関しては2019年3月で既にサポート期限を過ぎているため、いつ突然廃止されてもおかしくない状況を理解しておく必要があります。
ブラウザの対応状況
各ブラウザの最新版では、Internet Explorer11のみがかろうじてJavaを動かすことが出来るようですが、他の有名ブラウザは軒並みJavaを実行することが出来ないようにセキュリティ面を強化しています。
Chromeでは42以降、Firefoxは52以降、その他OperaやSafari・Windowsの推奨ブラウザMicrosoft Edgeに関しても対応されていない状況となりました。
つまり現状でJavaプラグインをどうしても利用したい場合には、IE11を利用する必要があるようです。
さいごに: Javaプラグインの利用は今後は避けるべき
本記事では、JavaプラグインがJava11以降廃止された情報やJava Web Startも同じく廃止された情報についてご紹介してきました。
アプレットの名前は聞いたことがあっても、実際に使ったことはなかったという方も若いプログラマーの方には多いかと思いますが、これは機能自体が非推奨となった影響です。
一世を風靡したアプレットではありますが、現在は記事内でも紹介した通り、非推奨技術となっていますので余程の理由がない限りは利用を避け、別の方法で目的を実現出来ないか検討してみてください。
提供元のオラクル社が廃止としている機能なので、どうしても使わざるを得ない理由がない限り、利用せずに目的を実現する方法を検討しましょう。