2013-09-04 18 views
15

私はdjangoを使用するWebアプリケーションを開発中です。PhoneGap with Django Backend

ios/androidのネイティブアプリケーションを電話のギャップを使って作成したいと考えています。

これは可能ですか?理解しているように、ネイティブデバイスはPythonコードを解釈できません。

プロジェクトの早い段階ですが、それが難しいことが分かったら、私は別のフレームワーク、つまりbackbone.jsを使うかもしれません。

どのような考え/経験ですか?

答えて

20

そうです、PhoneGapを使用してiOSやAndroidでPythonコードを実行することはできませんが、その必要はありません。はい、PhoneGapを使用してサイトのネイティブモバイルアプリケーションを構築できます。

私は、これらの技術は相互に比較する方法少し説明してみましょう:

  • Djangoは
  • Webサーバ上で実行されているPythonのWebフレームワークでのPhoneGapが使用してネイティブモバイルアプリケーションを構築するためのフレームワークですWebテクノロジー(HTML5 + CSS + Javascriptを)、アプリケーションは、1つの一般的なアプローチは、すなわちjQuery MobileモバイルUIを構築し、を提供するために、DjangoのWebアプリケーションを使用することです

モバイルデバイス上で実行されます:アプリケーションにデータを取得する。

詳しくはthis another questionをご覧ください。


編集:はい、それはこれらのフレームワークで、高速でうまく動作するアプリケーションを構築することが可能だ最初のコメント

で質問に回答します。今日のスマートフォンでのパフォーマンスは、それ自体jQueryモバイルやDjangoよりも実装の品質に依存しています。

  • サーバ側はで転送、ページ
  • サーバーからのJavascript usinデータをクライアント側で生成されたページを生成:

    は、基本的にはPhoneGapの持つユーザにコンテンツを表示するための3つの異なる方法があります前の二つの

This answerの組み合わせがSERVを明確例JSON

  • に使用して所定のフォーマットクライアントとのコミュニケーションとページのレンダリングが非常にうまくいきます。

    PhoneGapは制約のあるWebブラウザのように少し使うことができ、基本的には通常のWebブラウザを使ってサイトにアクセスするときと同じようにサーバーから直接コンテンツを表示します。 しかし、私はこのをお勧めしません。このアプローチには多くの弱点があります(つまり、ユーザーがあなたのウェブサイトから別のウェブサイトにつながるリンクを開くとどうなりますか?)

    少なくとも私の意見では、JavaScriptはJavascriptで書かれ、 PhoneGapはネイティブではありません。ネイティブアプリケーションとPhoneGapアプリケーションを比較することもあります。take on explaining the differencesです。

    私はどのようなサービスを構築しているのかわかりませんが、一般的には、アプリケーションを構築する前にさまざまなアプローチを評価することをお勧めします。レスポンシブモバイルに最適化されたWebサイトは、アプリが提供できるものを本当に必要としているのでしょうか?

    PhoneGapでアプリケーションをビルドする場合は、クライアントサイドのJavascriptを使用してアプリケーションを作成し、JSON形式のXHRリクエストを使用してDjangoバックエンドからデータを取得することをお勧めします。インターネットには多くのexamplesがあります。

  • +0

    ありがとうございました。この方法はモバイルで優れたパフォーマンスを発揮しますか?あなたがリンクしたもう一つのスレッドはそう示唆しています。しかし、私は様々な意見を読んだ。私はデスクトップ・マシンからモバイルに比べてサイトを訪れることの違いは何かを頭で覆そうとしているのですか?デスクトップはURL経由でビューをトリガします。これはモバイルでも同じですか?または、ビューロジックをJavaScriptで記述し、最良の結果を得るために電話でネイティブに実行することをお勧めしますか?別の質問を提起する..なぜ、サーバーがクライアントではなくビューの機能を処理するデスクトップでは遅く動作しないのですか? – endline

    +0

    @eol私は理解していない最後のものを除いてあなたの新しい質問の答えを答えを更新しました。 – lekksi

    +0

    あなたのアドバイスを受けて、Djangoを使用してTastypie RESTful APIを使用して私のサイトを構築し、私のphonegap iOSアプリケーションからアクセスしました。しかし、このようなAPIを使用しているときには、セッション認証に関する私の頭を覆すためにまだ本当に苦労しています。私は私の問題を詳述しています[こちら](http://stackoverflow.com/questions/19717875/django-tastypie-request-user-from-js-client-side)。私はあなたがこのスタックの周りに私の頭を包み込むためにいくつかの光を発することができることを望んでいます。事前に多くの感謝。 @lekksi – endline