Java が誕生したばかりの頃、人々はアプレットを書くことに熱中していました。少しの間、彼らはクールで人気がありました。今、私はもうそれらを見ることはありません。代わりに、フラッシュ、JavaScript、およびその他の多数の Web アプリ構築テクノロジがあります。
サイトが Java アプレットを使用しなくなったのはなぜですか?
私も興味があります: 歴史的に、なぜこれが起こったと思いますか? Java アプレットを有効に保つために、別の方法で何ができたでしょうか?
Java アプレットは Flash と ActionScript (意図しないしゃれ) の影に隠れていて、当時使用されていた Java アプレット (アニメーション + ステートフル アプリケーション) をはるかに使いやすくしていると思います。
この点での Flash の成功は、Netscape の終焉と IE の圧倒的な支配の時代に、Microsoft が Internet Explorer から MSJVM を削除する結果となった Sun と Microsoft の訴訟の恩恵を受けているだけでなく、はるかに小さいファイル サイズのおかげでもあります。
1) 恐ろしい UI 用に作成された AWT。Swing はそれを改善しましたが、遅すぎました...
2) Microsoft はブラウザー (独自の MSJVM) での Java のサポートを終了しました。それ以前は、リリースされた最後のバージョン (ほぼ JDK 1.1) のみをサポートしていました。互換性。
3) そのため、今日では、フラッシュとは異なり、アプレットが非開発者マシンの大部分で実行されることを確認することはできません。
ちなみに、ActiveXについても同じことが言えます。
それだけの価値はあるが、Sun は再びアプレットに資金とリソースをつぎ込んでいる。彼らは、 JDK 1.6.10でいくつかの非常に重要な改善を行い、以前は表示されていた多くの「ぎこちない」アプレットを軽減しました。たとえば、今回の更新では、アプレットのロード中に独自のカスタム ロード イメージ/アニメーションを表示できます。プラグインは、パフォーマンスを改善するために大幅に削減されています。
また、Flash や Silverlight と直接競合するためのイニシアチブ ( JavaFX ) にも乗り出しました。
市場がこれに反応するかどうかはまだ分からないが、Flashが市場を支配していることを考えると、Sunにとって魅力的な動きであることは間違いない.
Java の GUI API が完全に役に立たなくなる頃には、誰もが Flash を使用していました。そして今日でも、Java は派手なグラフィックを行う点で Flash に及ばない。
Javaが「本物」だからだと思います。汎用言語。アプレットを作成するには、コードを記述する必要があり、近道はありません。
フラッシュなどが登場した今、Web サイト用のクールなアニメーションを作成する方法は、ドラップ アンド ドロップするだけです。これは、参入障壁がはるかに低いことです。Flash アニメーションを機能させるためにプログラミングの方法を知る必要はありません。そのため、フラッシュが急増し、Java アプレットはほとんど使用されなくなりました。
アプレットは Microsoft と Sun の戦いの巻き添え被害だと思います。
最初は、JVM の読み込みが非常に遅く、必要なメモリが多すぎました。その後、コンピューティング能力の向上によって JVM が可能になったとき、Sun は Java のすべてを制御しようと懸命に取り組みました。
3 月に Sun が Microsoft に対して提起した別の私的反トラスト法訴訟の一環として、Sun は、Windows XP オペレーティング システムに現在の Java 仮想マシン (JVM) を含めるよう Microsoft に要求する仮差止命令を求めました。Microsoft は、今週 JVM を含めるという決定は、Sun との最近の法的な争いの直接の結果であると述べましたが、Microsoft は 2004 年 1 月 1 日以降、Windows での Java のサポートを廃止する予定です。 - 今のところ
それらをロードしてブラウザーで使用できるようになるまでに永遠に時間がかかり、その後、多くの人にとっては機能しませんでした。それらが最終的にロードされたとき、インターフェイスは見苦しく、扱いにくいものでした。ユーザー エクスペリエンスの低下は、アプレットを時代遅れにする大きな一歩だったと思います。
元の質問に答えるために、私自身の質問があります。「なぜサイトはもう Java アプレットを使用しないのですか?」と尋ねると、私の答えは「なぜ誰も使用したくないのですか?」
学問的な設定 (学科や学部のサイトでホストされている) でそれらをよく見かけますが、あまり人気がないという点であなたの言うとおりです。
ただし、Java の大きな約束が達成されたことを思い出してください。Flash、Java アプレット、Silverlight、および改良を続ける JavaScript フレームワークがあります。
個人的な意見を付け加えるとしたら、Java アプレットは洗練されていないと思います。それらは醜く見える傾向があり、Java ランタイムは、OS でのその存在をあまりにも知られてしまいます (ランタイムのビジュアル、更新、および醜いインストーラーに関して)。Flash は、そのリッチ メディア環境と透過的な (そしてユビキタスな) 展開により、はるかに優れています。
人々はまだアプレットを使用しています。しかし、その通りです。世の中にはさまざまなソリューションがたくさんあります。たとえば、javafxを見てください。
互換性の問題は大きな問題だったと思います。最も顕著なのは、IE と Microsoft の Java VM で、標準に準拠していた可能性があるほどではありませんでした。
Sun JVM でも問題が発生する可能性があります。さまざまなバージョンの Java を必要とする 2 つのサードパーティ製アプレットがあり、さまざまな問題が発生するのを楽しんできました。Sun は、アプレットをJava Web Startに置き換えることでこの問題を解決しようとしました。Java Web Startは、ブラウザ内ではなく独自のウィンドウでアプリケーションを起動するリンクをブラウザに提供します。(理論的には、JWS を使用すると、さまざまな VM を使用してさまざまなアプリケーションを作成できますが、私にとっては期待どおりに機能することはないようです。)
また、JavaScript の進歩により、よりリッチな Web ページを開発できるようになったため、以前はアプレットでしかできなかった多くのことが、AJAX で簡単に実行できるようになりました。
まず、彼らは行っていません。Web では今でも多くのアプレットを見つけることができます。多くの人が、特にアルゴリズムなどのデモを行うためにそれらを使用しています。
利点: 既存のライブラリ (数学、物理、並べ替え、グラフなど) を活用でき、Flash よりも高速です。
不便さ: 最近の JVM をターゲットにするのは危険かもしれません (ただし、Sun は自動更新に関してはうまくいきましたが、多くの人がすでに Java 1.6 を使用しているようです)、ロード時間は少し遅いです (ただし、Java 1.6 で大きな進歩が見られます)。 .
Bookwormのような多くのゲーム アプレットを今でも見つけることができます。おそらく、携帯電話で実行するための作業の一部がすでに完了しているという利点があります...
2 つ目は、JavaFX への関心が再び高まることを予測できることです。「アプレットは醜い」という伝説を破ることができるステロイドのアプレット... :-)
最後に、Processingのようなライブラリを使用すると、グラフィカルなアプレットを非常に簡単に作成できます。それらの多くは、ネット上で見つけることができます。最悪 (プログラミングの初心者) が最高に近いOpenProcessingで!
JVM が実際にどの程度普及しているのだろうか? Flash の場合は、IE5 がプリインストールされているため、自動的に大規模なユーザー ベースが形成されます。しかし、OS のインストールに JVM が含まれていない限り、ユーザーは JVM を利用できません。開発者として、Java よりも Flash を選択することを意味する、最大のインストール ベースをターゲットにしていると思います。
あちこちに Java アプレットがあります。確かに普及していませんが。
彼らを現代のウェブから遠ざけたのは、彼らの醜さだと思います。フラッシュはデザインをもたらし、JavaScript はクライアント上でクールなものを作成するための便利な方法をもたらしました。ブラウザ内のボックス (フラッシュと同じですが、はるかに醜い) アプレット テクノロジは片付けられました。
実際、見逃している可能性がある唯一のことは、Web 内で「クライアント/サーバー」タイプの通信を行う可能性です。これは、Java アプレットがステートフル接続を持つ可能性があるためです。一方、反対側にサーバーを配置してポートを開く必要があり、共有ホスティング環境にとっては家事が多すぎました.
アプレットは、道路、トンネル、発電所などのコントロール センターなど、いくつかの異なる領域にまだ存在しています。
少なくとも私が一緒に働いている会社では、人々はまだアプレットを使用しています。アプレットは、主に内部ユーザーによって使用されます。
サーバー側で Java を採用している企業には、Java のスキルが高い人材が多数いる可能性が高いため、アプレットにはメリットがあると思います。
おそらく、Javascript、HTML/CSS、フラッシュなどの他のテクノロジーの方が人気があり、空想的ですが、Java アプレットを使用して Web アプリを作成するために人材プールを採用する方が適切かもしれません。サーバーエンドのもの。
Java 人材プールは、Java アプレット ソリューションを使用して変更要求を他のどのテクノロジよりも高い精度で迅速に提供できる可能性があります。
テクノロジーソリューションで最も重要なことは、その機能性と、それらをサポートする必要がある人が変化に反応できる速さである場合があります。
JVM は非常に広く普及しており、特に企業の世界では、少なくとも私が働いていた場所では常に JVM がインストールされていました。
私は現在 Java アプレットに取り組んでいますが、一般的には、必要がない限りアプレットを作成することはありません。しかし、繰り返しになりますが、私は Flash も Silverlight も使用しません。アプレットはロード時間が遅く、Web ページで場違いに見えます。また、Macromedia/Adobe は古き良きアプレットを売り出しています。