Вопрос по json, jquery-mobile – Создание мобильного приложения с помощью jQuery Mobile, Django и Phonegap

18

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

Ваш Ответ

2   ответа
19

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

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

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

  1. Use a jquery.ajax function or a getJSON function to get/post/put JSON data from a specified URL.

  2. This URL is the tastypie API created from your Models. it could look like /api/vi/blogs/all/

  3. Now you have JSON data in your frontend with Jquery - you can do whatever you want with it - fill in a table - work with forms - etc.

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

@HackingLife: Твои взгляды выглядят довольно благоприятно и для меня. Но случай, как в чистом использовании приложения Django$.ajax({url:'/app/save-user', type:'POST'}) здесь URL мы выбираем на сервере Dev, как127.0.0.1:8000/app/save-user & Амп; на производственном сервереhttps://myappname.com/app/save-user, Таким образом, здесь возникает реальное сомнение: как мы можем получить доступ к этому URL в случае phonegapp? так как это будет независимо от сервера разработки.
Эй, я тоже делал это несколько раз. Вы можете ОТПРАВИТЬ JSON обратно в Django. У вас есть форма для входа и вы получаете имя пользователя / пароль из формы для входа. Есть несколько способов пойти отсюда. Ваше действие в форме отправки может отправить имя пользователя / пароль в URL-адрес django, который примет и сравнит имя пользователя / пароль в функции просмотра. Ваше действие формы может быть действием = / check-login / передача данных. Вы также можете сделать это с помощью ajax - вместо отправки формы - используйте ajax для отправки данных поля в тот же URL / вид django
Другой вопрос, который у меня возникает, - это если я использую систему аутентификации Django, и мне нужно, чтобы пользователи входили в систему, как бы я этого добился, поэтому, когда они открывают приложение, оно предлагает один раз войти в систему, и у них будет возможность запомнить имя пользователя / пароль. и держите пользователя вошедшим в систему, просто задаваясь вопросом, каков наилучший способ добиться этого, видя, как приложение phonegap будет на стороне клиента html / css / js и django будет передавать данные JSON в приложение flaiks
Во-вторых, чтобы кто-то вошел в систему, вы можете использовать Локальное хранилище PhoneGap для хранения данных о пользователе на устройстве. Сохранить настройки пользователя и т. Д.
4

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

увидетьhttp://jquerymobile.com/test/docs/pages/phonegap.html

Помимо этого, между получением и публикацией JSON между мобильным приложением телефонной связи и обычным веб-приложением нет большой разницы.

По ссылке в моем ответе "Поскольку jQuery Mobile использует функциональность $ .ajax () ядра jQuery, для $ .support.cors должно быть установлено значение true, чтобы $ .ajax сообщал о загрузке междоменных страниц. Мы слышали сообщения о том, что веб-просмотры на некоторых платформах, таких как BlackBerry, поддерживают междоменную загрузку, но ядро jQuery неправильно устанавливает значение $ .support.cors в false, что отключает междоменные запросы $ .ajax () и вызывает страницу или активы, которые не удалось загрузить. & quot;
Это не правильно. При запуске из протокола file: // в мобильных браузерах CORS не применяется.
Ну, обычно, как я запрограммировал бы это, используйте jQuery mobile, чтобы сконструировать мой html-фреймворк и код в шаблоны django, а затем использовать django для вывода данных в эти представления / шаблоны. Так что я спрашивал, является ли JSON лучшим подходом к этому? flaiks

Похожие вопросы