web-dev-qa-db-ja.com

Phonegapを使用したネイティブアプリケーション開発

私は最近遭遇しました Phonegap 。誰でも試してみてください。開発者は、Sencha touchやJqueryなどのHTML 5ベースのフレームワークを同時に使用して、電話のネイティブ機能にアクセスできると主張する信じられないほどのツールです。また、コードはAndroidから手間をかけずにIphoneに移植できます。突入する前に、Phonegapでのフォーラムの経験を知りたいと思います。レベルのアプリケーション開発。

97
SaKet

PhoneGapを使用していくつかのアプリケーションを作成しましたが、それが提供するものは素晴らしいものです。私が指摘したい簡単なメモがいくつかあります。

Disable device-based features you're not using加速度計、ジオロケーション機能はデフォルトでオンになっています。それらを使用していない場合は、アプリの読み込みが高速化(初期化)され、スムーズに実行されるため、それらをオフにします。

onDeviceReady-これは、phonegapがロードされ、準備ができたら呼び出されるメソッドです。 $(document).readyまたはあなたが慣れているものは何でも、ここでは実際には適用されません-インターフェイス/ハードコードされたHTMLのことだけをしているのでない限り。 GeoLocationなどのiPhoneの機能を操作する場合は、すべてを行う必要がありますafteronDeviceReadyと呼ばれています。

Pick a UI/libraryインターフェイス/ライブラリ、jquery-mobile、sencha touch、jqtouchなどのオプションが多数あります。これらはそれぞれ独自のアプローチと機能セットを提供します。いくつかの調査を行って使用しますが、結合は避けてください。他のオプション、ツールについてはこちらをご覧ください: http://www.phonegap.com/tool (リンク更新)

Also, more on just mobile development in general, with PhoneGapAndroidマーケットとiPhone App Storeを通じて配布されているアプリを作成する場合は、ガイドラインの網羅的なリストを読みます。たとえば、上記のツールリンクには、 Easy APNS という「ツール/プラグイン」がありますが、これはAndroid -そして技術的にはiPhoneで実行可能です。Apple通知ネットワークなどを使用する必要があると述べているため、開発契約に違反しています。これは単なる例です。それがあなたの最終目標であるならば、あなたに多くの頭痛を救います。

全体として、特にWeb開発のバックグラウンドから来た場合は、軽量アプリに最適です。 LocalStorage、GeoLocationなどは非常にうまく機能します。これが少し役立つことを願っています...そして質問をしてください。

追加編集:

私は本当にあなたがしたいこと、そしてあなたがする方法を知っていることに帰着すると思います。 Mattは、iOS用のネイティブアプリの開発などが優れていることを指摘しました。ええ、もしあなたがそれを学ぶ時間と知識があれば、もちろんネイティブが良いでしょう。ただし、PhoneGapは、既存のスキルセットを活用してアプリを構築できるWeb開発者向けに作られています。また、PhoneGapを使用すると、iOS、Android、Symbian、Palm、Blackberry向けのアプリをすばやく作成できます。それぞれのコードベースを微調整します。

95
TNC

PhoneGapで読んだ最高のパフォーマンスガイドは次のとおりです...しっかりした安定したパフォーマンスを確保するために注意する必要があります...しかし、たった1晩で読むことができます。

最高のナゲットは次のとおりです。

PhoneGap /モバイルWebパフォーマンスのヒント

新しい機能を有効にする

建築

Ext JS 4でのアプリの設計: http://www.sencha.com/learn/architecting-your-app-in-ext-js-4-part-2

52
ATSiem

Phonegapについての意見を述べる前に、私は決してWeb開発者ではないという少しの免責事項を発行する必要があります。私にとって、JavaScriptとCSSを書くことは、歯を引っ張るようなものです。とはいえ、Phonegapは好きではありません。

フレームワークには非常に魅力的な側面がいくつかあります。主に「一度だけ実行してください」という魅力と、「学習する目的を持っていない」というものです。アピール。フレームワークは、加速度計などのハードウェア機能の一部にアクセスすることもできます。これらはすべて、ある程度まで有効です。

とは言っても、優れたiOSアプリはいずれのクロスプラットフォームフレームワークを使用しても構築されていません。ネイティブUIKitコントロールによって処理される非常に多くの微妙でエレガントなUIインタラクションがあります。多くのユーザーと開発者は、見落とされるまで信じられないほど詳細に表示します。 WebビューベースのUIで。あなたはそれらを完全に再現するために努力することができますが、その時間投資のために、なぜネイティブになるだけではありませんか?

2つ目の注意点は、Phonegapで構築されたiOSアプリケーションのサポートコミュニティは、ネイティブに開発されたアプリケーションよりも大幅に小さいことです。あなたがプロジェクト中にコミュニティに依存している人なら、これはまたあなたを一時停止させるでしょう。

最終的には、あなたが提供したい体験の質に帰着します。 Phonegapの上限は下限です。開発時間の短縮と移植性の向上と引き換えに、あまり優れていないユーザーエクスペリエンスを受け入れる準備ができている場合は、非常に実行可能なフレームワークです。

興味のある人のためのサブテキストとして、Marco ArmentとDan Benjaminは最近このトピックについて議論しました。あなたはそれを聞くことができます ここ

29
Matt Wilding

インストール手順には、いくつかのパッケージ(Java、Apache Ant、Ruby、iOS SDK、Android SDKおよびPhoneGap自体))が含まれます。これらはすべて、正しくインストールおよびセットアップする必要があります。公平を期すために、ベータ版にはPhoneGap Buildと呼ばれるものがあります。

これをNS Basic/App Studioで使用して、アプリストアに適したアプリを作成します。

4
ghenne

ゲームやウィジェットを作成していない場合は、単純な見栄えの良いアプリであれば、phonegapを選択します。

ただし、JSには注意が必要です。たとえば、アニメーションを実行する場合はJSで何もしないでください。短い間隔(100ミリ秒など)でタイマーを設定することを避け、jqueryなどのアニメーションを避けてください。たとえば、各ポイントの不透明度を段階的に減少させる短期間タイマーを設定してフェードをアニメーション化する代わりに(jqueryフェードの動作)、不透明度1から不透明度0へのcss3遷移を使用する必要があります。

私のアドバイスは、すべてのphonegapがie6を実行しない後、zeptojs.comのようなものを使用することです:-)

JSをより軽くする方法に関するチュートリアルを確認してください

http://bcksp.blogspot.com/

2
Muayyad Alsadi

HTML5とPhonegapが提供する以上のハードウェア機能やパフォーマンスが必要ない場合は、カプセル化されたWebアプリ(および他の機能への制限付きアクセス)が優れたソリューションです。

多くの企業が大規模なWebアプリを展開しています。 Phonegap(またはコンテンツが埋め込まれた単なるWebビューコントロール)を使用すると、これらのWebアプリをオフラインで実行できます(もちろん、必要なオンラインデータを除く)。

1
hotpaw2

複数の異なるデバイス間で展開するときに言及されていない「痛み」:デバイスが多いほど、学習曲線は大きくなります。 PhoneGapを使用してiOSデバイスにデプロイするには、MacでXcodeの基本を学ぶ必要があります。 Androidにデプロイするには、Eclipse、Android SDKなどをインストールして学習する必要があります。他のプラットフォームでは、独自のSDKを使用する必要があります。初歩的なXcode、Javascript、およびJavaを学ぶと、エラーと一般的な構文を理解するのに役立ちます。

「一度作成して、どこにでも展開」では、多くの手順を省きます。

0
Steve