2011-08-11 7 views
9

iOSアプリケーションを開発する方法は複数あります。私はiOSアプリを作るためにObjective-Cでプログラミングしたい。Objective-C対PhoneGap

しかし、あなたが使用して、物事のほとんどを行うことができますjQTouchjQMobilePhoneGapなど

質問:

それはネイティブプラットフォームを使用するために、適切なまたは適切でしょうか?

+1

をこれが偽 – Joe

答えて

20
  1. PhoneGapは本質的にラッパーなので、一部のエッジケースにバグがある可能性がありますが、常に最新の機能に遅れが生じます。
  2. プラットフォームの機能の一部がPhoneGapで利用できるわけではないため、使用する前にサポート対象外の機能を知る必要があります。
  3. ほとんどのハードウェアアクセラレーション機能は完全に利用できないため、ハイエンドグラフィックスを使用して高度なゲームを作成する場合は、うまく機能しません。
  4. すぐに使用できないカスタムモジュールを実行するために必要なメンテナンスには、ネイティブの開発よりも実際に時間がかかることがあります。
  5. 本当に2つ以上のモバイルOSで実行する必要がありますか? iOSとAndroidのための書き込みは、あなたにかなり大きなマーケットカバレッジを与えるので、ネイティブに行く方が良いかもしれません。

PhoneGapは、よりシンプルなWebアプリケーション、データ駆動型アプリケーション、および接続が必要なソーシャルアプリケーション用に設計されています。あなたのアプリケーションが普及し、より多くの機能をサポートする必要がある場合、それを母国語で書き直すことになるかもしれませんが、複数のデバイスでアイデアを素早く立ち上げることができれば、市場で競争上の優位性があります。

0

私はphonegapを試しました。そして、私を迷惑にした最初のことは、あなたがobj-cで慣れていたようにキーボードを制御できないことでした。キーボードはウェブサイトを閲覧するときとまったく同じですが、キーボードの上部に「次へ/前へ」ボタンがあります。 したがって、代わりにTitanium Appceleratorを試しています。代わりに、javascriptを使用してネイティブGUIを作成できます。

3

私の経験から、すべてのJavaScriptアプリケーションは、ネイティブプラットフォームで書かれたアプリケーションよりも低速でした。電話やJavaScriptのためではなく、DOM要素のレンダリングのためです。

0

私はObjective-Cを学んだり、使うことがあなたの能力の中にあれば、そうするのが最善だと思います。ネイティブSDKを使用すると、可能な限り最も互換性のある方法でデバイス上のすべてにアクセスできます。抽象化レイヤーを使用すると、機能性、カスタマイズ性、およびデバッグが害されます。

つまり、HTML、CSS、JSをネイティブアプリにコンパイルするための強力でよく書かれたフレームワークがあるようです。あなたが本当にタイトなスケジュールでない場合や、素早いプロトタイプを入手する必要がある場合は、JavaScriptの忍者ですが、初心者のObjective-Cコーダーであれば適切かもしれません。

4

複数のモバイルプラットフォーム用のアプリを最小限の労力で短時間で開発する必要がある場合は、PhoneGapなどを使用します。これらのフレームワークは「最小共通の分母」タイプの環境を提供するため、しばしばネイティブプラットフォームの機能にアクセスできなくなります。

一方、iOS専用のアプリを開発している場合は、Objective-Cでネイティブアプリとして開発してください。プラットフォームの完全なSDKと機能を自由に使えます!これはもちろん、iOSアプリを開発するためのベストプラクティスとしてのAppleの推奨です!

私のプラットフォームでネイティブアプリケーションを開発するのか、PhoneGapを使用するのかについて、自分の会社に入社する前に私は私のCTOと会話しました。私たちは、各プラットフォームの特定の機能を利用できるため、ネイティブアプリの開発が進んでいることに同意しました。それ以外のネイティブアプリは、ユーザーがよく知っているかもしれない他のネイティブアプリのように動作するため、プラットフォームでのユーザーエクスペリエンスが向上します。その最後の考えを考えてみてください。あなたが楽しむすべてのアプリを考えてみてください。開発者は、使用しているものとそうでないものとを、おそらく迅速に - ネイティブであるものとそうでないものに分けることができます。どのユーザーがより良いユーザーエクスペリエンスを提供すると思いますか?考えていること。 :-)

最後に、それはあなた次第です。あなたはObjective-Cプログラミングが好きだと言った。だから、それに行き、ネイティブに行く!一方で、マルチプラットフォームの願望を持ち、PhoneGap(または他の人)に慣れているか、またはそれらについて学びたいと思ったら、それを求めてください! :-)

1

携帯電話の互換性のための大容量のデータストレージは、phonegapに問題があります。あなたが少なくとも10メガバイト相当のデータ(メディアファイル、ドキュメントなど)を保存する必要がある場合、2-5MBまたはlocalStorageまたはキャッシュマニフェストによって制限されます。ここに私の関連の質問を参照してください:これはhttp://programmers.stackexchange.comに適し議論のように思える

html5 to store greater than 50 mb worth of data?

+1

(私の親しい投票は、移行のために、単純です)。私は、私のiOS Phonegapアプリで数百メガバイト使用しています。 –

+0

これは本当にクールです。あなたはそれについてブログを書くことができますか?多くのことを助けてくれるだろう – John

+0

ルークは、ハイブリッド/ウェブアプリが保存できるデータと比べて、あなたのアプリに同梱できるもののデータストレージを混乱させるだろう。この制限は、アプリがダウンロードまたは作成したデータの最大2.5Mbです。 – ader

関連する問題