Javaアプレット(Applet)は「Java11」以降廃止となった技術ですが、既存システムで採用されており、システム改修などで触れる機会もあるかと思います。
本記事では、実際にJavaアプレットのシステムに触れたことのないJavaプログラマー向けに、Javaアプレット(Applet)とは?といった概念的な部分の説明から基本的な使い方についてサンプルコードをまじえながらご紹介したいと思います。
Javaアプレット(Applet)とは?
まずアプレット(Applet)についてですが、他のアプリケーションの中に組み込まれて動く小さなプログラムのことをアプレット(Applet)と呼びます。
つまりJavaで作られたアプリケーションに組み込む小さなプログラムをJavaアプレットと呼びます。
ブラウザで利用されるのが一般的
Javaアプレットは基本的にWebブラウザを利用して動作させます。
厳密にはWebブラウザ以外のアプリケーション上で動かすことが出来るJavaアプレットも海外を中心にいくつか登場しているようですが、日本国内ではWebブラウザ上で動く小さなプログラムをJavaアプレットと呼ぶと考えてもらって問題ないでしょう。
アプレットが利用される用途とは?
Javaアプレットはブラウザ上で簡単にJavaで記述されたコードを実行させることにあります。
HTMLにJavaアプレットを使用することを宣言するだけで簡単にJavaプログラムを実行させることが出来ることから、小さなプログラムを動かす際に頻繁に利用されます。
アプレットを利用する上ではセキュリティに関しての注意が必要
アプレットは仕組み上、サーバーに用意されているJavaアプレットプログラムをブラウザを介してローカルPC上で動作させることになります。
そのため、なんでも不用意に実行を許可しているとウィルスのようなプログラムが紛れ込む可能性も考えられます。
アプレットを利用する際には、本当に必要なプログラムなのかを確認した上で実行することが重要となります。
Javaアプレット(Applet)の基本的な使い方を理解しよう!
ここからは実際にJavaアプレットを利用する上で覚えておきたい基本的な使い方について解説していきたいと思います。
現在ブラウザ上で実行するプログラミング言語としてはJavascriptが中心となっていますが、Javaアプレットで記述されたコードに遭遇した際にもしっかりと対応出来るように本記事で学習していきましょう。
Javaアプレット(Applet)の基本構文
まずアプレットを利用するためにJavaで提供されているAppletクラスを継承したクラスを作成する必要があります。
記述方法としては下記のサンプルのようになります。
import java.applet.Applet; public class sampleApplet extends Applet { // コードを記述 }
「extends」に関しての詳しい解説は本記事では行いませんが「Applet」クラスを継承した「sampleApplet」という名前のサブクラスを作成していると理解してください。
この「sampleApplet」クラスでJavaから提供されているAppletクラスの様々な機能を利用することが可能となり、ご自身で実施したい処理を追加で記述していきます。
ブラウザで表示させるためにはHTMLにアプレット(Applet)の呼び出し処理を記述する
アプレットは基本的にWebブラウザ上で利用する小さなプログラムと上述しましたが、ブラウザで表示させるためにはHTMLにアプレットの処理を呼び出すコードが必要となります。
記述方法としては下記のサンプルのようになります。
<html> <head> <title>アプレットテスト用HTML</titel> </head> <body> <applet code="sampleApplet"> </applet> </body> </html>
呼び出し方は非常に簡単で、HTMLファイルの「bodyタグ」の中で「appletタグ」を作成し、「code」に呼び出したいアプレットのクラスファイル名を記述するだけです。
例としてアプレットのサンプルとして記述した「sampleApplet」クラスを呼び出すHTMLを記載しています。
HTMLファイルの名前に特に指定はありません。
今回の場合、HTMLファイル名を「applet.html」とした場合、「sampleApplet」のクラスファイルと同じディレクトリに配置することで「applet.html」開いた際にsampleAppletの処理を実行することが可能となります。
アプレットのクラスファイルをhtmlファイルとは別ディレクトリに配置した際の記述方法
「Appletタグ」には「codebase」にディレクトリを指定することが可能ですので下記のサンプルを確認していきましょう。
<applet code="sampleApplet" codebase="testdirectry"> </applet>
上記の場合、htmlファイルと同階層にある「testdirectry」フォルダの「sampleApplet」クラスファイルが実行可能となります。
フォルダ名のみを記述した場合には相対パスでの指定となりますが、下記のように絶対パスで指定することも可能です。
<applet code="sampleApplet" codebase="http://ドメイン名/ディレクトリ名/ファイル名"> </applet>
2019年現在ではJavaアプレット(Applet)は非推奨技術に
ここまでJavaアプレットの概要や基本的な使い方についてご紹介してきましたが、必ず意識して置いて頂きたいポイントとして、2019年現在Javaアプレットは非推奨技術として提供されているということです。
Java10まではJava Runtime Enviromentに搭載されることになっていますが、Java11以降は廃止が既に決定しています。
Java9以降はアプレット(Applet)は非推奨
2017年9月22日に正式リリースされたJava9以降、Javaアプレットは非推奨技術として提供されています。
既存システムの互換性や移行までの猶予期間としてサポートされていますが、Java11以降は正式に廃止が発表されています。
Java11が2018年9月にリリースされましたので、これから新規でシステムを作成する際に、Javaアプレットの利用は避けるべきと言えるでしょう。
さいごに
本記事ではJavaのアプレット(Applet)について基本的な概念から使い方をご紹介してきました。
本文でも触れました通り、Java9以降はアプレット(Applet)の使用を非推奨としています。
既存システムがJava8以前のバージョンで作成されていたり、非推奨とはいえ使わざるをえない状況があるかも知れません。
しっかりとリスクを理解した上で、Javaアプレット(Applet)の技術を利用できるように本記事の情報を役立ててみてください。
sampleAppletをコンパイルすることは忘れないでね。