4

数日前に質問を投稿しましたが、すでに回答してくださった方々に感謝します。要件を明確にする必要があるように思われたため、質問を再投稿しています。というわけで、ここから詳しく説明します。

私は非常に小さなデスクトップ アプリを構築しようとしています。これは、人々が非常に迅速にダウンロードできるものです。.NET と Java のどちらでビルドするかを決定しようとしています。私には 2 つの目的があります。

Java がクロス プラットフォームになることは承知していますが、多くの Windows ユーザーが自分のコンピューターに JRE をインストールしていない場合、このアプリを実行するには 15MB の JRE ソフトウェアをダウンロードする必要があると言われていますが、.NET はプリインストールされている可能性があります。ほとんどの Windows マシンで。

前述のように、私にとっては、クロス プラットフォーム アプリよりも、小さくてすばやくダウンロードできるアプリの方が重要です。したがって、プラットフォーム自体 (JRE または .NET) の追加ダウンロードを必要とせずに、ユーザーがアプリをダウンロードするだけで済むように、最も多くのコンピューターにプリインストールされているプラ​​ットフォームを使用したいと考えています。その観点から、どのプラットフォームがより多くのマシンにプリインストールされていますか? Java または .NET?

自分のマシンに JRE がインストールされていない Windows ユーザーの割合を知っている人はいますか? また、.NET がプレインストールされている Windows ユーザーの年齢は何パーセントですか?

ありがとう。

4

9 に答える 9

10

.NET Framework のルートに進む場合、問題はおそらく、対象とするフレームワークのバージョンです。

たとえば、.NET Framework 3.5 をターゲットにしたい場合、多くの人が自動更新でインストールしているかもしれませんが、そうでない人もいるでしょう。私の場合、昨年の夏に Eee PC を購入したとき、.NET Framework 1.1しかインストールされていませんでした。

.NET Framework 3.5 にアップグレードしようとしたとき、インストーラーは 2.7 MB でした。オンライン インストーラーであり、Microsoft ダウンロード センターによると、最大500 MBの空き容量が必要になる可能性があることを除けば、これは素晴らしいことです。(そして、オフライン インストーラは 197 MB です!) Eee PC のプライマリ パーティションは、工場でインストールされた状態で 1.3 GB しか空いていないため、これは小さな問題でした。

一方、JRE の最新バージョンは 15.5 MB のダウンロードで、オンライン インストーラーだけでなくすべてが含まれています。これはオフライン インストーラーです。インストールされた JRE は、私のマシンで約 90 MB を占めます。

それを念頭に置いて、はい、.NET Framework が存在する可能性がありますが、存在しない場合、特にターゲット システムにバージョンが存在する場合、かなり大きなダウンロードが必要になる可能性もあります。非常に時代遅れです。

Java の場合、ダウンロードはせいぜい 15.5 MB で、それで十分です。さらに、新しいJava Kernelでは、ダウンロード マネージャーを介して JRE を段階的に取得できます。ベース ダウンロードは約2 MBです。(詳細については、こちらこちら、およびこちらを参照してください。) 「Windows カーネル インストール」のダウンロード ページは 0.22 MB にリストされています。(これはおそらく、オンラインに接続して最大 2 MB の必要なファイルをダウンロードする必要があることを意味します。)

最良のシナリオと最悪のシナリオの差が 0 MB 対 200 MB である場合、ユーザーがインストール時に直面するエクスペリエンスは非常に予測しにくいように思われます。これは、「インストールは数分で完了します」と「インストールには最大 1 時間かかる場合があります」とユーザーに説明することの違いです。

0 MB と 15 MB の違いがあるため、それほど大きくはないかもしれませんが、特に、開始するのに 2 MB のダウンロードのみを必要とする潜在的なオンライン インクリメンタル インストーラーのオプションを考えると、それほど悪くはありません。

この質問に答えた後、実際に時間をかけてこの問題を調べた今、Java ランタイムは以前考えていたほど巨大ではないと考え始めています。

于 2009-05-25T06:03:54.070 に答える
2

JRE のインストール ベースに関するあなたの質問には誰も答えていないようですが、多くの人が JRE の展開が非常に少ないというあなたの仮定に同意しました。

では、実際のデータはどうでしょうか。TheCounterによると、ブラウザ ユーザーの 92% が JRE を持っています。もちろん、できるだけ多くのデータを探すのが賢明でしょう。しかし、これはあなたの心配が誇張されている可能性があることを示しています。

ただし、さらに重要なことは、最新バージョンの .NETまたは最新バージョンの JRE を使用しているユーザーがほとんどいないことです。そのため、最新の機能を使用する予定がある場合、ユーザーはおそらく何かをダウンロードする必要があります。

于 2009-05-25T06:04:02.167 に答える
1

お客様の要件は次のとおりであることを理解しています。

  1. 非常に速いダウンロード
  2. ターゲット ユーザーの最大のセット

他の人が述べたように、関連するすべての変数を正確に測定することは非常に難しいと思います. ハイテクまたはローテクの視聴者を対象としていますか? それは何をするためのものか?クロスプラットフォームである可能性があることを示していますが、そうであるかどうかは気にしません。これは、プラットフォーム固有のものではないことを示しています。完全に Web ベースのルートに進むこともできます。

要件が逆の場合:

  1. ターゲット ユーザーの最大のセット
  2. 非常に速いダウンロード

私はJavaで行くと言います。具体的には、Java 1.4.2 または Java 1.5 を最低バージョンとしてターゲットにします。これにより、Mac/Windows/Linux およびその他のいくつかのプラットフォームでほぼ無料で利用できます (もちろん、アプリケーションの機能によって異なります)。したがって、これは約 99.9% のユーザーを対象とすることになります...これは 90% よりも優れています。繰り返しますが、これは可能な限り多くのオーディエンスをターゲットにしている場合です。

要件を元に戻した理由は、選択したプラットフォームが常にほとんどのユーザーにとって非常に迅速なダウンロードになると自信を持って言えるかどうか確信が持てないためです。主に Java 開発を行っています。最近、プロジェクトの一部として Java アプレットを作成したとき、驚くほど多くのユーザーが Java を持っておらず、インストールする必要があることに遭遇しました。しかし、一度インストールすると、全体的にかなりスムーズに進みました。対象とする .NET のバージョンによっては、同様の結果になる場合があります。

私の提案は次のようになると思います:

  1. 大量の視聴者と少量のダウンロードが必要な場合はフラッシュ
  2. 他のプラットフォームをサポートする予定がない場合は .NET
  3. できるだけ多くのプラットフォームをサポートしたいが、Flash ではニーズを満たすことができない場合は Java

Flash や AIR で開発したことはありませんが、アプリが提供する機能に適合する場合は、検討する価値があるかもしれません。

于 2009-05-25T08:07:34.933 に答える
0

デスクトップで Java を使いこなしてきたので、私は .NET か Flash に固執するつもりです。最新の javaFX でさえ、デモ アプリを見ると (そして、Sun は非常に多くの作業を行ってきたので、以前の状態がいかに悪かったかがわかります) 、ブレークアウト ゲームをプレイするのに2 つのセキュリティ ダイアログが必要でした。彼らはただそこにいません。

ただし、ダウンロードの問題をできるだけ回避するために、.NET 2.0 をターゲットにする場合は、.NET 2.0 を選択してください。

于 2009-05-25T14:14:04.787 に答える