2012-05-24 4 views
18

В настоящее время я начинаю создавать мобильное приложение с помощью jQuery Mobile и переносить его с помощью Phonegap для поддержки родного приложения, это расширение нашего уже существующего настольного приложения, написанного на Django , мой вопрос - это лучший способ подключить приложение на стороне клиента, написанное на html5/js/css, на сервер, я бы просто использовал JSON для отправки/получения данных, и есть ли у кого-нибудь хорошие статьи?Создание мобильного приложения с jQuery Mobile, Django и Phonegap

ответ

19

Я лично создал несколько родных приложений с JqueryMobile в качестве моего интерфейса - Django в качестве серверной части - и телефонную связь, чтобы изначально занести в приложение для хранения itunes. Это действительно отличное сочетание технологий, которые - если все сделано правильно - могут дать быстрое собственное приложение.

Прежде всего, вы должны изучить Tastypie. Tastypie - очень простой способ создать мгновенный API-интерфейс RESTIVE, который может отправлять данные JSON в javascript/JQuery. Это приложение Django, и оно очень pythonic (много простых переопределений класса/метода - все прозрачно).

поток передачи данных будет выглядеть примерно так:

  1. Используйте функцию jquery.ajax или функцию getJSON, чтобы получить/сообщение/пут JSON данные из указанного URL.

  2. Этот URL-адрес - это API-интерфейс tastypie, созданный в ваших моделях. это может выглядеть так:/api/vi/blogs/all/

  3. Теперь у вас есть данные JSON в вашем интерфейсе с JQuery - вы можете делать все, что хотите, - заполнить таблицу - работать с формами - и т. д.

Сначала проверьте некоторые функции jjery/JQuery для мобильных ajax и как работать с JSON на интерфейсе с помощью библиотеки JQuery. Во-вторых, ознакомьтесь с отправкой JSON в представление Django (разбор данных и сохранение их в базе данных). Затем погрузитесь в специфику JQuery Mobile User Interface и шаги, чтобы он хорошо работал с PhoneGap.

+1

Еще один вопрос, который я имею, заключается в том, что если я использую систему аутентификации Django, и мне нужно, чтобы пользователи заходили в систему, как бы я это сделал, поэтому, когда они открывают приложение, он предлагает им войти в систему один раз, и у них будет возможность запомнить имя пользователя/password и не заставлять пользователя войти в систему, просто интересно, какой лучший способ достичь этого - видеть, как приложение для мобильного телефона будет на стороне клиента html/css/js и django будет загружать данные JSON в приложение. – flaiks

+4

Hey-I Вы сделали это несколько раз. Вы можете ОТПРАВИТЬ JSON обратно в Django. У вас есть форма для входа в систему, и вы получаете имя пользователя/пароль из формы входа в систему. Есть несколько способов отсюда: ваше действие в форме отправки может POST имя пользователя/пароль на URL-адрес django, который будет принимать и сравнивать имя пользователя/пароль в функции просмотра. Действие вашей формы может быть action =/check-login/передача данных. Вы также можете сделать это с помощью ajax - вместо отправьте форму - используйте ajax для отправки поля d на тот же URL-адрес django –

+2

Во-вторых - чтобы кто-то вошел в систему, вы можете использовать локальное хранилище PhoneGap для хранения данных о пользователе на устройстве. Сохраните настройки пользователя и т. Д. –

4

Одна из вещей, которые вам понадобятся, - это те же функции происхождения, которые встроены в jquery. Так как в телефонной книге используется веб-просмотр с url-файлом: // любой веб-запрос, который вы делаете, будет перекрестным, поэтому вам нужно настроить jquery mobile, чтобы разрешить его.

см http://jquerymobile.com/test/docs/pages/phonegap.html

Кроме этого, существует не так много разницы между PhoneGap мобильными приложениями и обычным вебом-приложением относительно получения/размещения JSON.

+0

Хорошо Обычно, как бы я программировал, это использовать jQuery mobile для создания моей html-структуры и кода, которые используются в шаблонах django, а затем использовать django для вывода данных в эти виды/шаблоны. Итак, что я спрашивал, является ли JSON лучшим подходом к этому? – flaiks

+1

Неправильное использование. При запуске из файла: // протокол в мобильных браузерах CORS не применяется. –

+1

По ссылке в ответе «Поскольку jQuery Mobile использует функцию $ .ajax() ядра ядра jQuery, для параметра $ .support.cors должно быть установлено значение true, чтобы указать $ .ajax для загрузки междоменных страниц. Мы слышали сообщения, webviews на некоторых платформах, таких как BlackBerry, поддерживает междоменную загрузку, но это ядро ​​jQuery неправильно устанавливает значение $ .support.cors в значение false, которое отключает запросы междоменного $ .ajax() и приведет к сбою страницы или активов ,« – chad

Смежные вопросы