こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

JavaとJavaScriptのメリット、デメリット

タイトルのまんまですが詳しく教えていただけると嬉しいです。
あと、ホームページで使う場合どちらのほうが可能性は大きいのでしょうか?

投稿日時 - 2003-01-21 14:48:41

QNo.451284

困ってます

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

 ホームページの見栄え的なものでJavaでできてJavaScriptではできないものは、
以下のような画像の作成(描画)、回転、α混合などでしょう。

-----ページHTML-----

<html>
<head><title>applet</title></head>
<body><center>
<applet code="applet1" codebase="." width="100" height="100">
</applet>
<applet code="applet1" codebase="." width="200" height="200">
</applet><br>
<applet code="applet1" codebase="." width="500" height="200">
</applet>
</center></body>
</html>

-----アプレット-----

import java.applet.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.geom.*;

public class applet1 extends Applet implements Runnable {

private BufferedImage B1, B2;
private Graphics2D G;
private Thread AT;

public void init() {

int i;
double d, e;

B1 = new BufferedImage(200, 200, BufferedImage.TYPE_INT_ARGB);
G = (Graphics2D)B1.getGraphics();
G.setBackground(Color.WHITE);
B2 = new BufferedImage(200, 200, BufferedImage.TYPE_INT_ARGB);
Graphics g1 = B2.getGraphics();
for (d=0.0, e=Math.PI*8.0/7.0, i=0; i<7; i++, d+=e) {
g1.setColor(new Color(0xFF000000+(i&1)*0xFF+(i&2)*0x7F80+(i&4)*0x3FC000));
g1.drawLine(DTI(Math.cos(d)), DTI(Math.sin(d)), DTI(Math.cos(d + e)), DTI(Math.sin(d + e)));
};
g1.dispose();

};

private int DTI(double d) { return((new Double(100.0*d+100.0)).intValue()); };

public void start() {

AT = new Thread(this);
AT.start();

};

public void paint(Graphics g) { g.drawImage(B1, 0, 0, getWidth(), getHeight(), this); };
public void update(Graphics g) { paint(g); };

public void run() {

double d = 0.0, e = Math.PI*0.75;

for (int i=0; i>=0; i=(i+1)%0x80, d+=e/15.0) {

G.clearRect(0, 0, 200, 200);
G.translate(DTI(1.41*Math.cos(d-e)), DTI(1.41*Math.sin(d-e)));
G.rotate(d);
G.drawImage(B2, 0, 0, 200, 200, this);
G.setTransform(new AffineTransform());
G.setColor(new Color(i*0x2020000, true));
G.fillRect(100-i/2, 100-i/2, i, i);
repaint();
try { Thread.sleep(100); } catch(Exception ex) { break; };

};

};

}

投稿日時 - 2008-09-18 13:38:36

ANo.4

こんにちは。

1の方がおっしゃってる通り、JAVAとJavaScriptは別物です。
 JAVAはC言語のように、コンパイル(より機械が扱いやすい形に変換)して使用するプログラミング言語です。普通のソフトウェア開発をすることもできますし、Web向けの開発もできます。Web向けJAVAには、ブラウザにダウンロードされて動作する「アプレット」と、サーバでCGI的な動作をする「サーブレット」という二つの種類があります。
 JavaScriptはJAVAと文法が似ている(と言われているだけの)スクリプト言語で、HTML文書の中に書き込んでそのまま動かすことができます。
 そんな前提を踏まえつつ。


> JavaとJavaScriptのメリット、デメリット
 JAVAについては、知りたいのはWeb限定だろうと判断したので、Web限定で回答します。あくまで私の主観ですが。

[JavaScript]
 ■メリット
   ・動きのあるページを作れる
   ・サーバの環境に左右されず、JavaScript対応ブラウザならばどこでも動く
   ・特殊な開発環境を必要としないので、メモ帳とブラウザで簡単に作れる

 ■デメリット
   ・対応ブラウザが限られてしまう(携帯では不可、など)
   ・ソースコード(記述したスクリプト)の機密保持が難しく、セキュリティが保証されない
   ・実行時にやや重い

[JAVAアプレット]
 ■メリット
   ・高度なプログラミングによる、より動的なコンテンツを作れる(ゲームなど)
   ・サーバの環境に左右されず、アプレット対応ブラウザなら実行可能
   ・ソースコードの解読が困難(素人には不可能)で、それなりに機密性がある
   ・コンパイルするため、エラー発見が簡単

 ■デメリット
   ・ダウンロード時に時間がかかる
   ・対応ブラウザが限られる(携帯不可、など)
   ・作成には開発環境(無料)を揃える必要がある
   ・コンパイルするため、修正を加えるのがやや面倒

[JAVAサーブレット]
 ■メリット
   ・データベースを用いた双方向コンテンツ(掲示板など)を作れる
   ・サーバ側に設置するため、機密保持能力は非常に高い
   ・ビジネスで使われるレベルのセキュリティ
   ・表示される結果はHTMLなので、ブラウザに左右されない

 ■デメリット
   ・対応しているレンタルスペースが少なく、自分でサーバ構築する必要が出てくる可能性が高い
   ・開発環境(無料)を整えなければならない
   ・専門書や解説サイト、扱える人間の少なさから、習得がほかの二つより困難だと思われる


・・・といったところでしょうか。
ちなみにサーブレットは、最近はJSP(JAVA Server Pages)という技術と組み合わせて使われることが多いです。

なお、念のために。「JAVA対応携帯電話」が流行りはじめ、今ではほとんどの携帯電話に「JAVA実行環境」なるものが搭載されているようですが、これはJAVAで作られたソフトウェアを実行できるだけで、現状ではアプレットを動作させることはできないはずです。

> あと、ホームページで使う場合どちらのほうが可能性は大きいのでしょうか?

 何の可能性なのかがちょっと分かりかねますが・・。使用する可能性、と言うのであれば、これは完全に好みなのでなんとも言えません。ただJavaScriptのほうが一般的に多く使われていることは間違いないでしょう。一時期はアプレットによるゲームも流行りましたが、最近ではほぼFlashの天下で、アプレット自体あまり見ませんし。サーブレットはネットワークやプログラミングを専門にしている人でもなければ、なかなか扱えないと思います。
 使いやすさとしても、プログラミング知識が無くてもJavaScriptはある程度いじれるので、とっかかりになるとおもいます。本格的に取り組めば、JavaScriptでもやたらとアクティブなコンテンツが作れますし。

 では、失礼します。

投稿日時 - 2003-01-21 15:57:40

ANo.3

名前はにていますが、その2つはまったく目的がことなりますので、No.1の方が言われる様に、比較するものではありません。
Javaと比較するのは、C、BASIC、ASSEMBLERなどのプログラム言語です。
JavaScriptと比較するのは、何だろう?
perlなどのCGIかな?

Javaはプログラムソースを書いてコンパイルして、サーバにuploadし、使う時はダウンロードしてクライアントで動作させたり、サーバ上で動作させ、サーバをコントロールしたりします。

JavaScriptはHTML中にテキストで書き込み、コンパイルは不要です。
HTMLページとしてクライアントに読み込まれ、クライアントのパソコン上で動作しますので、サーバのコントロールなどはできません。

マウスを当てると色が変わったり、吹き出しでコメントが出たりするのはJavaScriptで作ります。

Javaを使うのは、ゲームソフトを開発したり、サーバをリモートアクセスして、何かをするような時くらいだと思います。

投稿日時 - 2003-01-21 15:40:06

ANo.2

JavaScriptはコンパイラが必要ないので,タグを書き込むような感じで
HPを作ることができますね。テキストエディタ(メモ帳とか)とブラウザが
あれば,プログラムを作ることが可能です。
HPを作るなら,まずJavaScriptでしょうね。参考URLをご覧下さいまし。
機能や速度,セキュリティなどで壁に突き当たったら,Javaを検討して
みたらどうでしょうか。

参考URL:http://www.scollabo.com/banban/java/jvs_002.html,http://homepage2.nifty.com/sozainet/JavaScript/

投稿日時 - 2003-01-21 15:18:13

ANo.1

JavaとJavaScriptは名前が似ているだけで、ここでそれぞれのメリット、デメリットを比べるのは無理だと思います。
「鉛筆とボールペンのメリット、デメリット」と言う質問だと答えられるのですが、
「鉛筆とこたつのメリット、デメリット」と聞かれても答えられないのと同じです(^^;

> あと、ホームページで使う場合どちらのほうが可能性は大きいのでしょうか
圧倒的にJavaScriptですが、良くWebで見かけるゲームなどはJavaです。

投稿日時 - 2003-01-21 15:01:08

あなたにオススメの質問