FlashはJavaアプレットよりも本当に優れていますか?[閉まっている]


14

私はまだ学生で、プログラミングの実生活経験があまりありません。〜5k行以上のコードを書いたことはありません。私はFlashとJavaの両方でコードを書きましたが、なぜJavaアプレットとしてではなく、Flashでビデオプレイヤー(YouTubeなど)のようなWebアプリケーションを書いているのか理解できません。そのため、実践的な経験をお持ちのプログラマーに、このテーマに関する賢明な言葉をお聞きしたいと思います。

アプレットに対するFlashの本当の利点はありませんが、少なくとも私にとっては、バグのように思えます。Flashで何かを作成する方が速いことは理解していますし、高速プロトタイピングに適している理由はわかりますが、一般的には価値がありますか?YouTubeが凶暴になるたびに、Flashでそれを書くために開発者を呪います。LinuxをOperaで使用している場合、これは常に発生します。

だから、基本的に、なぜ人々はアプレットではなくフラッシュを使用しているのですか?


4
Javaアプレット、うーん...
アント

回答:


34

Flashは、ユーザーによりシームレスなエクスペリエンスを提供します。Javaアプレットは、実行する前にJava VMを起動する必要があるため、かなり低速です。Webサイトの訪問者として、Java VMが自分自身を把握している間に少しの間物事がフリーズするとき、私はそれを嫌います。間違っていない場合は、使用したWebサイトから移動してもアンロードされません。最初に実行したくないときに、ぶら下がります。

Flashとアプレットの開発に関する私の(確かに限られた)経験から、Flashでのアニメーションの開発がより簡単であることがわかります。

そして、歴史があります。Microsoftは、独自のJVMを開発、Sunの動作とは異なる動作をさせることにより、Javaアプレットを好まなかった。その結果、同じアプレットが別のブラウザでは機能せず、別のブラウザで機能する可能性があり、Javaアプレットの作成が実行不可能になりました。

Javaには、Flashビデオを作成するために必要な独自のFlashエディターとは対照的に使用できる無料のツールがありますが、最終的にはその手間のかかるアプローチが劣っています。


4
同意しました。JVMのウォームアップ時間が、Flashがアプレットランチを食べた理由である可能性が最も高い

1
また、Flashは主に、多くのグラフィカルコンテンツ、サウンド、アニメーションで優れたインタラクティブエクスペリエンスを作成するために作成されました。Javaは汎用言語であり、必ずしもWebコンテンツを作成するための最良の選択ではありません。
マーティンウィックマン

3
Sunは、裁判所でアプレットの責任を軽減するというMSの試みとうまく戦いました。もうMS-Javaはありません。禁止されていました。
ユーザー不明

1
サンの法的成功がその分野での技術的失敗を引き起こしたと言う人もいるかもしれません。WindowsにデフォルトのJVM(市場で最も広く配布されているエンドユーザーOS)がないため、Flashは事実上の標準になる機会があり、それに没頭しました。Microsoftは、JVMの裁定に応じて.NETを、そしてFlashに応じてSilverlightを肩代わりして作成しました。HTML 5は、これらのクライアント側ソリューションのほとんどを廃止する準備ができています。生命の輪。
ジェシーC.スライサー

4

Flashのオーディオとビデオの再生は地獄と同じくらいバグがありますが、Javaが常に優れているとは限りません。Sunがアプレットのライフサイクルを台無しにするマイナーバージョン間にバグを導入したときに、Javaゲームで非常にイライラする問題がいくつかありました。彼らは実際に約1年前にアプレットと一緒に行動するようになりましたが、それでも完全にスムーズではありませんでした。

ゲームに関する限り、Flashの最大の利点はおそらく、より専門的な開発環境とベクターグラフィックスの優れたライブラリサポートです。Javaの最大の利点は、おそらく署名付きアプレットとJOGL / LWJGLで真の3Dを実行できることです。


2

Javaアプレット(少なくともWindowsの場合)のランタイムオーバーヘッドはFlash(私の経験では)よりはるかに不格好で遅いため、Actionscript言語はJavaのそれよりも高いレベルであるため、アニメーションやリソース処理のようなものになります(音楽/ビデオなど)開発が容易。


3
ActionScriptは、単に名前が異なるJavaScriptです。望んでいた人は、Javaよりもレベルが高いかどうかについて長い議論をすることができると確信していますが、言語レベルでは、IMOの最大の違いは動的タイピングと静的タイピングです。
ピーターテイラー

2
最近の「Actionscript」は、一般にJavaScriptよりもJavaに似たAS3を意味し、VM JIT(解釈のみを行うAS2 VMとは異なります)によりJavaと同様に動作します。
フェノマス

2

Javaに魅力的なUIはありませんでした。アンチエイリアシングさえ持って、テキストを読みにくくしました。マルチスレッドレンダリング/インタラクションは、メインのJava UIライブラリには決して実装されていません。これは、これらのUIライブラリが持っている既に低迷した感触に追加されます。

Javaは巨大なプロジェクト向けに設計されているため、ブラウザの既存のコードを使用することには大きな利点があります。

Htmlの機能は、過去数年間で大幅に向上しています。ブラウザー間の互換性が大幅に改善され、クライアント側のストレージやキャンバスなどの機能が追加されました。

GWTは、パネルとウィジェットの高レベルのクラスとインターフェースを備えたUIを作成するための非常に優れたAPIを提供します。それをjavascriptに変換し、javaアプレットとフラッシュ用の激しいコメットピターを作成します。


2
アンチエイリアスは、1.2からJavaで使用されてきました。私はそれが人々がそれをつける方法を学ぶのに時間をかけなかったというより多くの場合だと思います。
ピーターテイラー

また、Java 1.2は1998年に作成されました。マルチスレッドレンダリング/インタラクションについてのナンセンスは何ですか?Javaは、スレッドを教えるために通常使用される言語です。つまり、今日のすべての言語の中で最も便利で進化したスレッドモデルを備えています。(ただし、ほとんど確実に可能な限り最も便利なスレッドモデルではありません...)どのような「緩慢な感触」ですか?アプレットをロードするのは遅くなりますが、一度ロードすると、ブラウザーで取得できる応答性が最も高くなります。
エフゲニーセルゲイエフ

2

Flash開発者は、全体的にJava開発者よりも安価です。また、Flash内またはFlashで作業できるグラフィックデザイナーを見つけることができます。そのため、よりきれいな製品を安く手に入れることができます。


2
誰も彼らの塩の価値はありません。優れた開発者は、優れた開発者価格を請求します。
MaxSan

1

簡単な答えは…。フラッシュはデザイナー向けです。Javaはプログラマーにとってはこれ以上簡単なことではありません。他よりも優れているわけではありません。それらは異なるジョブのための単なる異なるツールです。バイアス..彼らはただ異なるツールで、両方とも異なるコンテキストで仕事をこなします。..投票権については..あなたの主張がわかりません。道..

あなたは下票を残しましたか?なぜ建設的な方法で私たちにすべてを教えてください。:)


あなたが正しいから+1:フラッシュは、Webプログラマーに進化するWebデザイナーのためのものです。Javaは、Webサイトの作成に進化するプログラマー向けです。
クリスヴァンバエル

どのように私の応答をupvotingについてあなたはそれに値すると思えば1 :)笑
マルク・アンドレ・ベノワ

1
当然、そうしました。
クリスヴァンバエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.