PhoneGapと「ネイティブ」(対チタンなど)については、すでに多くのことが書かれています[右側の「関連」バーを参照]。個別のガイドを使用する理由は、最終的にアプリケーションをビルドするためにこれらの特定の環境が必要になるためです(html / css / jsをPhoneGapsプラットフォーム固有のコードとマージします)。PhoneGap Buildは、これを修正しようとします。つまり、(Webサービスとして)アプリをビルドします。
開発自体はhtml/css/jsで行われます。jsコードは、プラットフォームごとに異なる一連のPhoneGapコードによって提供されるインターフェイスを介して、電話(カメラなど)のjsでは通常は利用できない機能にアクセスできます。PhoneGapが特定の機能を提供しない場合は、これを自分で追加する(またはこれを行うサードパーティのプラグインを見つける)ことができますが、これにはプラットフォームに依存するコードを記述する必要があります。これを使用したとき、PhoneGap Build(ビルドするWebツール)を介してカスタムライブラリを使用することはできませんでした。
個人的には、PhoneGapのアイデアを完全に残しました。ネイティブの「UI」はありませんが、代わりにHTML / css/jsで実行できることが残されています。私の意見では、これは多くの点で制限されているだけでなく(見た目と速度に関して)、「単純」で「安定」していません。その結果、多くの奇妙で解決が難しい「バグ」が発生します(アプリは機能しますが、ユーザーが「予想どおり」に指を動かしてタップしないとすぐにグリッチが表示され、私はそれが好きではありません、個人的に)。これらを解決するには多くの時間がかかり、それを行うのは楽しいことではないと思います。そして、私はここで単一の電話、単一のプラットフォームについて話している。これを別の方法で試してみるとどうなるか想像できます。
さらに、PhoneGapを使用すると、さらに別のサードパーティ(つまりPhoneGap)に依存するようになります。また、あなたはコードを作成し、モバイルレベルで、そして私の意見では「標準」ではなく、したがって再利用性が低いスキルを学びます。それがすぐに変わるかどうかは疑問です。サポートとドキュメントも少なく、同じことがツールにも当てはまります。そして最後に、ネイティブコードを開発すると、実際のプラットフォームにはるかに近づくことができます。それぞれに長所、短所、および特殊性があるため、これは重要だと思います。
現在、AndroidとiOSが販売されたスマートフォンの85%を占めています。したがって、現在、私の戦略はこれら2つをターゲットにすることです。特にWebから来て、すでにhtml / css / jsのスキルを持っている場合は、学習曲線は確かに大きくなります。しかし、「標準に達する」と、ネイティブで2回アプリを開発すると、PhoneGapが必要とするすべてのデバッグと時間的に競合する可能性があると思います(PhoneGapアプリに少なくともある程度の品位が必要な場合)。そして品質的には、ネイティブアプリの方が優れています。確かに。
しかし、それは1つの意見であり、時間の経過とともに変化する可能性もあります。私は主にPhoneGapの経験に基づいて(ネイティブ開発に焦点を当てる)戦略を立てました。チタンのように長所と短所が異なる他のアプローチもありますが、少なくともそれらも見てみるとよいでしょう。
編集:長い暴言について申し訳ありません。言うまでもなく、その関連性と同じことがあなたに当てはまるかどうかは、あなたがどこから来ているのか(スキルなど)とどこに行くのか(1つまたは2つのプラットフォームに固執することもオプションであるかどうか)に完全に依存します。