2013-10-21 18 views
16

iOS、Android、Windows Phone用のシンプルなアプリケーションを開発したいと考えています。どちらが良いですか?ネイティブアプリまたはハイブリッドアプリ?

シンプルなHTML5、JS、CSSの組み合わせがこれらすべてのプラットフォームで動作することがわかりました。

私は知ってほしいどれが効率的でしょうか?

時間とコードに問題はありません。しかし、もし私がHTML5-JS自体ですべてを達成できるなら、私はハイブリッド開発を選択します。とネイティブとハイブリッドの開発の主な違いはです(主な違いはHTML5-JSがクロスプラットフォームをサポートしていることがわかります)。

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

+3

これについて本当に良い記事があります。それが助けてくれることを願っています http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ – andykkt

+0

ありがとうございました@andykktこの記事はメモリ管理の問題について良いです! –

+0

モバイルの世界では、ネイティブアプリ、ウェブアプリ、ハイブリッドアプリなどの用語は非常に一般的ですが、違いは何ですか?ここにはちょっとした説明があります。 http://markupjavascript.blogspot.in/2013/11/native-apps-web-apps-hybrid-apps-what-is-the-difference.html –

答えて

31

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

ネイティブ開発に時間がかかることがあります(1つ以上のプラットフォーム向けにアプリケーションを作成する場合)が、作成する内容を完全に制御できるという利点があります。パフォーマンスを考慮したネイティブ開発は、ブラウザや他の実行時解釈プラットフォームにネストされるオーバーヘッドがないため、クロスプラットフォーム開発よりもはるかに先を行く可能性があります。

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

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

例として、Facebookを利用してください。以前のアプリ(覚えていれば)は、クロスプラットフォームのアプリでした。それは遅い、応答しない、常にクラッシュし、事実上使用できなくなった。約1年ほど前、無数の苦情の後、彼らは彼らのネイティブのアプリでアップデートをリリースし、突然、それらの問題はすべて消えた(少なくとも、ほとんど)。

+1

私がハイブリッドのアプローチで好きなのは、あなたのデバイスエミュレータが変更を更新する準備ができているのを待つ必要がないので、結果を得るのが速いということです。ハイブリッドでは、ブラウザでF5キーを押すだけでよいことがよくあります。 http://ionicframework.com/のように、開発したアプリのウェブサイト版でモバイルコードを再利用することもできます。 – ses

+0

しかし、私はアプリケーションが無応答であれば、ハイブリッドアプリケーションの開発には時間が無駄だと思います。 – Ravi

6

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

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

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

PROS

  1. コスト効果的な、単一のアプリケーションは、それによって別のプラットフォームでアプリを作るための開発者に支払った費用 を節約開発されます。
  2. 時間効果があります。 異なるプラットフォーム用に異なるアプリを作成するための時間が保存されます。
  3. Google Playstoreからアップデートするのとは異なり、 アプリがサーバー側でのみ更新され、 を再度インストールし直す必要はありません。
  4. 小さいサイズです。 複数の画面のサポートに使用されるリソースはHTMLで処理されるため、
ハイブリッドアプリの

CONS

  1. ない外観とネイティブアプリのように感じます。
  2. サーバーがダウンしていても、アプリケーションは静的な動作を表示しません。

あなたがUIで妥協するつもりなら、ハイブリッドアプリを使うべきです。

+0

と言います - 2)コストを増やすプラットフォームごとに異なるアプリを開発する必要があります。私はそれがハイブリッドアプリのあなたのPROSにちょうど論争であると思う - 1)コスト効果的 –

+0

更新された答え、今すぐチェック –

+0

@Brontok "コストと時間効果"、 "サイズが小さく、速く更新する" - 何について?もっと正確にしてください。要件分析、開発、テスト、プロジェクト管理、マーケティング、ツール、および特定のプラットフォームとツールセットの開発者を雇用し訓練するための間接的なコストにはコストがかかります。 IMHO、PROSとCONSは述べたとおり、意味をなさない。 – CouchDeveloper

関連する問題