16

iOS、Android、Windows Phone 向けのシンプルなアプリを開発したいと考えています。

シンプルな HTML5、JS、および CSS の組み合わせが、これらすべてのプラットフォームで機能するのではないかと思いました。

どちらが効率的か知りたいですか?

時間とコーディングに問題はありません。しかし、HTML5-JS 自体ですべてを実現できるのであれば、ハイブリッド開発を選択します。例を使用して、ネイティブ開発とハイブリッド開発の主な違いを知りたいです(主な違いは、HTML5-JS がクロスプラットフォームをサポートしていることです)。

注:ゲームアプリは作っていません。

4

2 に答える 2

33

私の経験では、PhoneGap などのクロスプラットフォーム ソリューションは、開発しているアプリが非常に単純でない限り、決して期待に応えられません。これらのツールを使用すると、トランジショナル アニメーションや小さな UI の微調整などの基本的なことでさえ、困難な戦いになります。

ネイティブ開発には時間がかかる場合がありますが (複数のプラットフォーム用のアプリを構築している場合)、作成するものを完全に制御できるという利点があります。パフォーマンスの面では、ネイティブ開発は、ブラウザやその他の実行時解釈プラットフォーム内にネストされるオーバーヘッドがないという理由だけで、クロスプラットフォーム開発よりもはるかに先を行っています。

また、私の経験からすると、一度コードを書けばすぐにすべてのプラットフォームで動作するという神話は、一種の聖杯です。多くの人がそれを達成したと主張していますが、プラットフォーム固有のコード (「if Explorer、if safari、if chrome」など) を記述していることに常に気付くでしょう。

私のアドバイスは、アプリのしっかりしたアーキテクチャを作成することです。1 つのプラットフォームで一度アプリをビルドし、デザインのすべての不具合を解決してから、そのデザインを他のプラットフォームにコピーします。もう少し時間がかかりますが、アプリの強みと、アプリの機能やその他の小さなことを追加/変更する柔軟性は、それだけの価値があります.

例として、フェイスブックを取り上げます。彼らの以前のアプリ (覚えていれば) はクロスプラットフォーム アプリでした。遅く、応答がなく、常にクラッシュし、実際には使用できませんでした。約 1 年ほど前、数え切れないほどの苦情の後、彼らはネイティブ アプリのアップデートをリリースし、突然、これらの問題はすべて解消されました (まあ、少なくとも大部分は)。

于 2013-10-21T06:29:11.337 に答える
7

主な違いは、アプリの主なものである UI コンポーネントに関するものです。ハイブリッド アプリでは、ネイティブ ダイアログ、通知、およびネイティブ アニメーションのようなネイティブのルック アンド フィールを実現することはできません。

どちらが効率的か知りたいですか?

効率性は問題ではありません。ハイブリッド アプリは、複数のプラットフォームをサポートする単一のアプリであり、コストと時間の効率に優れています。

ハイブリッド アプリの長所

  1. 費用対効果が高く、単一のアプリが開発されるため、さまざまなプラットフォームでアプリを作成するために開発者に支払われるコストを節約できます。
  2. 時間効率、プラットフォームごとに異なるアプリを作成するための時間を節約できます。
  3. 非常に高速に更新されます。Google プレイストアから更新する場合とは異なり、アプリはサーバー側でのみ更新され、再インストールする必要はありません。
  4. サイズが小さい。複数の画面をサポートするために使用されるリソースは、HTML によって処理されます。

ハイブリッド アプリの短所

  1. ネイティブ アプリのようなルック アンド フィールはありません。
  2. サーバーがダウンしている場合、アプリは静的な動作を示しません。

UI に妥協しても構わない場合は、ハイブリッド アプリを使用する必要があります。

于 2013-10-21T06:24:30.977 に答える