5

友人と私は、iOS、Android、およびWindowPhoneを対象とするモバイルPhonegapプロジェクトを開始することを計画していました。カメラ付き携帯電話などのネイティブ機能にアクセスする必要があります。また、CakePHPで行われるいくつかのXHRサーバー呼び出しを行う必要があります。

今、私はそのようなプロジェクトが通常Phonegap /でどのように構成されているのか、そしてGitが何をコミットするのか疑問に思っています。

これが私が検討していることです:

1)これは比較的普遍的であるため、サーバー側のものに対して1つのリポジトリが必要になります。

2)すべてのモバイルアプリを個別のGitリポジトリに保持する必要がありますか?(つまり、iOS用に1つ、Android用に1つ、Window Phone用に1つ)。このアプローチでは、3つの個別のwwwフォルダーを維持する必要があり、それぞれが多くのhtmlファイルで構成されます。

3)1ページのHTMLドキュメントindex.htmlのみを使用して、すべてを1つの巨大なGitリポジトリに圧縮します。それ以外はすべて、JavaScriptおよびデバイス関連の関数によって処理されます。(このアプローチでページ遷移、ナビゲーション、戻るボタンを処理する方法はまだわかりませんが、まだ学習中です)

私はPhonegapで行われたこのウィキメディアプロジェクトに本当に感心しています:https ://github.com/wikimedia/WikipediaMobile 。それらはすべてを1つの巨大なリポジトリと、デバイス関連のjsファイルが分離されたユニバーサルwwwフォルダーに保持します(私のアプローチ3のように)。彼らがどのようにやってきたかを追跡するのは少し複雑ですが。WikipediaMobileに関するケーススタディをご存知の場合は、お知らせください。

4

1 に答える 1

1

私がお勧めするアプローチは、すべてを1つのリポジトリに含めることですが、それを次のようなフォルダ構造に分割します。

- android
    [eclipse_project]

- ios
    [xcode_project]

- windows
    [vs_project]

- www

各プラットフォーム固有のフォルダーには、各プラットフォームのネイティブプロジェクトが含まれます(つまり、XcodeプロジェクトはiOSフォルダーにあり、EclipseプロジェクトはAndroidフォルダーにあります)が、実際のHTML/JSアプリケーションはwwwフォルダーに保存されます。

私の意見では、PhoneGapプロジェクトで構築するWebアプリケーションは完全にプラットフォームに依存しないため、バージョンは1つだけである必要があります。Android / iOS / Windows全体のブラウザがかなり標準化されていることを考えると、これはそれほど問題にはならないはずなので、個別のJSファイルが必要な理由がわかりません。いずれにせよ、デバイスごとに異なる動作が必要な場合は、デバイスを識別して、JavaScriptコード/CSSレベルで処理できます。

@ F481が示唆しているように、 PhoneGapBuildを使用するかどうかは大きな違いになります。PhoneGapビルドを使用する場合、ネイティブプロジェクトは必要ないため(ネイティブIDEに精通していない場合に最適です)、Webアプリケーション用に必要なフォルダーは1つだけです。ぜひご覧ください!

これがあなたの質問に答えることを願っています!

于 2012-11-02T16:36:00.237 に答える