1.Javaスクリプト(Script)

 クライアンアトのウェブブラウザ上で、解釈・実行されるScript
   ウェブページに動きを加える
     ユーザーの操作に応じて、
     アニメーション、入力チェック、コンテンツの動的な更新等を行う
   クロスプラットフォーム
     多くのブラウザで追加のプラグインなしで動作する
   汎用性が高い
     ウェブ開発だけでなく、サーバーサイドや
     モバイルアプリ、デスクトップアプリ等、様々な環境で利用できる
   豊富なライブラリ・フレームワーク
     開発効率を高めるための多くのツールが存在する
   マルチパラダイム言語
     オブジェクト指向プログラミングと
     関数型プログラミングの両方をサポートする

2.Javaアプレット(Applet)

 クライアントのウェブブラウザ上で、ダウンロードされ実行するアプレット
   アプレットとは、アプリケーションの一部として特定の機能を実行し、
   簡単にダウンロードできるサイズの小さいプログラム

   ホストへの読み取りや書込みは禁止
   アプレットを実行するクライアント上のプログラムを起動できない
   ダウンロード元のホストに対してのみネットワーク接続が可能

   コンパクトで移植性が高くなるように設計されている
     Java 11以降で廃止される、主要なブラウザでは実行できない 

3.Javaアプリケーション(Application)

 ブラウザ上では無く、サーバー上で動きアプレットのような制限を受けない
   実行中のホスト・マシン上で別のアプリケーションを起動できる
   独自のユーザー・インタフェースを作成する必要がある
   他のJava以外のプログラムのように機能性を高く持たせることができる

   Webブラウザ・Webサーバーを必要としない
   実行環境が有りさえすれば、どういった機械でも動作する
     他の言語と同じと考えればよい

   通常、Javaアプリケーション(機能名)と呼ばれる

4.Javaサーブレット(Servlet)

 WEBサーバー上で動作し、WEBアプリの中心を担う
   WEBアプリ作成するための機能が不十分なので以下の機能を利用する
     JSPはTML内にJavaのコードを埋め込み、WEBページを生成する
     Tomcatはサーブレットを動かすエンジンの役割を担う

   クライアントから処理の依頼を受け、全てサーバーにて処理を済ませる
     通常、Javaオンラインプログラムと呼ばれる

5.概念図

Javaの種類