4

数年前、Web ユーザーのかなりの部分が Java をインストールしていなかったため、クライアント Java は Web 開発には適していませんでした。(正確な数字は覚えていませんが、10%以上です)。

大規模サイトの Google Analytics 統計を見ると、98% を超えるユーザーが Java をインストールしていることがわかります。

これらの統計は Javascript の使用によって大きく偏っていますか? 私が理解しているように、Google アナリティクスは Javascript を使用しているユーザーのみを測定します。

画像は他の大手サイトでも同様ですか?

クライアント Java には、Flash と比較して本当に「ストッパー」な欠点がありますか?

編集:主にJavaアプレットを意味します.Java WebStartは平均的なユーザーには適していないようです。
Javascript について言及するのは、Google アナリティクスの仕組みを説明するためだけです。

4

6 に答える 6

2

私が卒業証書プロジェクトを書いたとき、私はFlashとJavaアプレットのどちらかを選ばなければなりませんでした。ここにいくつかの長所と短所があります:

Javaアプレット:

  • [プラス]あなたは成熟していて安定しているJavaでプログラムします
  • [さらに]多くのパンチを詰め込んだJavaGUIフレームワークを使用できます
  • [マイナス]ユーザーがアプレットで最初にページにアクセスするときは、JVMを初期化する必要があります。これは、高速のコンピューターでも数分かかる場合があります。
  • [マイナス]アプレットは、アニメーションメディアとして使用するためのものではありません。確かに、あなたは何かをすることができますが、それはCでのプログラミングのようなものです-あなたはすべてをゼロから行います

例:2つのルーター間を移動するときにデータパケットを表示する必要がありました。パケットは、ボタンやsmthなどの何らかのコントロールである必要があります。このアニメーションは、Flashの1行のコードで定義できます。この場合、すべてのオブジェクトは、アニメーション化できるベースオブジェクトから派生します。Javaで適切なソリューションを見つけることができませんでした。

閃光:

  • [プラス]本当にアニメーションに焦点を当てています。
  • [プラス]ActionScriptは実際にはオブジェクト指向言語です
  • [マイナス]ActionScriptはずさんでバグが多く、サポーターはごくわずかです。行き詰まっている場合は、あいまいな日本のフォーラムで解決策を探す準備をしてください
  • [マイナス]ActionSCriptはOOかもしれませんが、列挙型、本格的なインターフェース、スレッド(!!!!)などの多くの機能が欠けています。
  • [マイナス]Flashは、技術者以外の人が使用するように設計されています。彼らはオーサリングツールを使用するだけです。私はすべてのコードを書き、それは機能しましたが、それは苦痛でした。

私の結論:

アニメーションとリッチクライアントインターフェイスのプログラミングパラダイムを心待ちにしています。

ps:Silverlightはこれまでのところがっかりしているようです。おそらく、Microsoftがそれにいくらかの$を注入するでしょう。

于 2008-11-15T11:20:45.737 に答える
1

うーん、Java は私よりもよくサポートされているようですが、いくつかの統計を検索したところ、92 ~ 96% のブラウザーが Java をサポートしていることがわかりました (つまり、Java を検出するのに十分なほど有効になっています!ただし、Java 検出アルゴリズムの多くは検出に JavaScript を使用していると思います)。 & レポート - ご指摘のとおり - しかし、JS のサポートも非常に優れており、Web 2.0 の時代ではなおさらです)。
Adobe の方が優れたサポートを誇っていますが、全体として、違いはわずかです。いずれにせよ、アプリケーションを実際に見たい/使用したい人は、必要なエンジンをアクティブ化/アップグレード/ダウンロードします。

次に、どの JRE がサポートされているかを確認する必要があります。残念ながら、そのための統計は見つかりませんでした。
そこでは Adob​​e が有利です。誰もが Flash 9 または 10 を持っているわけではありませんが、アップグレードは非常に高速です。新しい JRE をダウンロードしてインストールするのはかなり大きな作業です... もちろん、歴史的な最小公倍数の Java 1.1、またはより現実的には Java 2 (1.4) をターゲットにすることもできますが、それでもすべてを使用できないのはイライラします。 1.6 機能...

Java アプレットがブラウザーをクラッシュさせる (どうやら Unix システム上で) と不平を言う人を見たことがありますが、それは何よりも少数のブラウザー/システムの問題です。

また、指摘したように、Java アプレットの起動時間は Flash よりもかなり長くなります (一部の大きな Flash ゲームの読み込みも遅いですが)。さて、悪名高いWebpages as graphsのような多くの処理アプレット
を見てきましたが、それらのほとんどはすばやくロードされます。多くの機能は、ユーザーのハードディスクの広範な Java ライブラリにすでにあります。処理は非常に軽量な jar を生成しますが、多くの Flash アプレットには外部ライブラリを含める必要があります... または車輪を再発明する必要があります!

于 2008-11-15T22:00:55.773 に答える
1

ActionScript に関するコメントに関しては、以前の投稿の一部が廃止されています。ActionScript3. Flex 2 のタイム フレーム、つまり Flex 2.0 と Flash Player 9 が出荷された 2007 年 1 月に利用可能になりました。

AS3 は、Java に匹敵する本格的な OOP プログラミング言語です。クラスとインターフェース、継承、クラス メンバーのアクセス保護キーワード、コンストラクター、静的に加えて、プロパティ、イベント、宣言型データ バインディング、およびクロージャーなど、Java にはない優れた機能があります。

デフォルトでは、AS3 は静的にコンパイルされるため、メンバーと変数の型を宣言します。これは、AS3 が動的型付け ala JavaScript に戻れるところまで緩和できます。ただし、実行時の効率は低下します。動的データを扱う場合でも、動的クラスを選択的に使用すると便利な場合があります。(静的型チェック言語の優れた利点は、Flex Builder IDE でのコード補完です。)

Flex 開発の多くは、MXML を使用して行われます。これは Flex 用の宣言型 XML ベースの DSL です。ただし、MXML は ActionScript3 コードにコンパイルされます。したがって、MXML で行うことは AS3 の命令型コーディングと同等ですが、多くの場合、それが表す基本的なグラフィカルな Flex フォームに関して、より簡潔で明確になり、より適切に構造化されます (つまり、MXML は MVC パターンのビューをコーディングするのに適しています)。 )。

要するに、Flex の ActionScript3 プログラミングは、Java または C# プログラマーにとって簡単で自然に習得できるということです。言語はまったく問題ではありません。Flex のパワーは、Flex SDK およびそこにある無数の機能と親密になることで生まれます。

于 2008-12-25T02:15:25.053 に答える
0

Java が自分自身を更新しないというコメントに気づきました。1.6.0_10 がリリースされ、以前よりも簡単に自動更新され、Java カーネル 1 という新しいインストール方法を選択できるようになりました。これにより、必要に応じて Java コンポーネントのインストールが自動化されます。

これに関するテキスト: http://java.sun.com/javase/6/6u10faq.jsp

そのため、変更があり、Sun は新しい CEO で目覚めたばかりだと思います。この新しいシステムが普及するまでに 1 ~ 2 年かかることは承知していますが、準備ができたらプロジェクトを開始して楽しむことができます。:) 知るか。

とにかく、簡単なアニメーション機能では Flash よりも 500% 作業するかもしれませんが、アプリが単純なアニメーションでない場合は、単純な 3 行の Java コード置換のために Flash で 500% 作業します:) アプリによって異なります。

于 2008-11-15T22:48:54.833 に答える
0

私は過去 7 年間 Java で働いていましたが、最近、最新のプロジェクト (1.5 年以上) で AS3 を使い始めました。私は AS3 と Flash が大好きです。その理由は次のとおりです。

  • 言語自体は Java に非常に似ています。Adobe のドキュメントは、JavaDocs と同等かそれ以上です。
  • AS3 言語は XML をネイティブ タイプとしてサポートします。Java で XML を解析するのは悪夢です。
  • papervision 3D や tweener など、Flash 用の優れたアニメーションおよびグラフィック フレームワークがあります。
  • Flex 3 フレームワークと Flex Builder 3 を使用している場合、Swing と同等またはそれ以上のインターフェイスを構築することは簡単です。私は Swing で UI を書くのが好きでしたが、視覚的な Flex Designer で UI をデザインするのは新鮮な空気のようなものです。
  • Flash に対するブラウザーのサポートが増えていることは確かです。
  • Flash アプレットのロードを見たことがありますか? ユーザビリティが非常に悪く、アプレットが起動する前にユーザーが 2 つまたは 3 つのダイアログをクリックする必要があります。Flash アプリは問題なく動作します。

あなたのプロジェクトで頑張ってください!

于 2009-01-07T02:23:40.913 に答える
0

私の経験を共有するだけで、非常に意見が分かれるので、正確な答えではありません...

WAI 準拠のサイトを構築していた最近のプロジェクトでは、アクセシビリティが大きな問題であったため、Flash オブジェクトを避けるように求められました。別の注意事項のアプレットは、ほとんどの Web 開発者にとってあまりうまく機能しません ;)。その理由の 1 つは、Rich UI と Web UI のパラダイムの違いである可能性があります。

ただし、クライアント側の監視が必要な場合、アプレットはかけがえのないものであることがわかりました (.NET および ActiveX コントロールについては話していません)。アプリケーションは SmartCard ベースの認証を使用し、アプレットがブラウザーにロードされてクライアント側のイベント (カードの取り外し) をリッスンし、サーバーにセッションの終了を警告します。

この文脈において、私は、Flash は見た目を良くする (ビュー) ことを意図していると感じる傾向があります。アプレットは、用途が広いように設計されていますが、クライアント側でモデルの役割を果たします。アプレットとフラッシュはどちらもクライアント マシンの CPU サイクルを消費するため、長い計算を伴うタスクに従来から適していたことに注意してください。電卓、レポート ジェネレーター、トレンド イラストレーター、占星術チャート ジェネレーター (はい)、およびユーザーがデータを入力して結果をすぐに表示できるその他のタスクは、これらを利用します。

主な懸念事項は、クライアント側のソフトウェア (Java、フラッシュ プラグイン) の欠如です。このような場合のユーザー エクスペリエンスは、煩わしいだけではありません。

于 2008-11-15T11:52:43.677 に答える