私の経験では、PhoneGapなどのクロスプラットフォームソリューションは、開発しているアプリが超簡単なものでない限り、期待に応えることはできません。過渡的なアニメーションやUIの微妙な調整など、基本的なことさえも、これらのツールを使用すると難しい戦いになります。
ネイティブ開発に時間がかかることがあります(1つ以上のプラットフォーム向けにアプリケーションを作成する場合)が、作成する内容を完全に制御できるという利点があります。パフォーマンスを考慮したネイティブ開発は、ブラウザや他の実行時解釈プラットフォームにネストされるオーバーヘッドがないため、クロスプラットフォーム開発よりもはるかに先を行く可能性があります。
また、私の経験から言えば、一度コードを書いてすぐにすべてのプラットフォームで動作させるという神話は、聖なる聖杯です。多くの人がそれを達成したと主張していますが、プラットフォーム固有のコード(「if explorer if safari if chrome」などの形で)を書くことが常にあります。
私のアドバイスは、あなたのアプリケーションのための頑丈なアーキテクチャを作成します。一度に1つのプラットフォームでアプリケーションをビルドし、デザイン内のすべての不具合を解決してから、そのデザインを他のプラットフォームにコピーします。それはもう少し時間がかかりますが、あなたのアプリの強みと、あなたのアプリで機能やその他の小さなものを追加/変更する柔軟性がそれに値するでしょう。
例として、Facebookを利用してください。以前のアプリ(覚えていれば)は、クロスプラットフォームのアプリでした。それは遅い、応答しない、常にクラッシュし、事実上使用できなくなった。約1年ほど前、無数の苦情の後、彼らは彼らのネイティブのアプリでアップデートをリリースし、突然、それらの問題はすべて消えた(少なくとも、ほとんど)。
これについて本当に良い記事があります。それが助けてくれることを願っています http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ – andykkt
ありがとうございました@andykktこの記事はメモリ管理の問題について良いです! –
モバイルの世界では、ネイティブアプリ、ウェブアプリ、ハイブリッドアプリなどの用語は非常に一般的ですが、違いは何ですか?ここにはちょっとした説明があります。 http://markupjavascript.blogspot.in/2013/11/native-apps-web-apps-hybrid-apps-what-is-the-difference.html –