Кроссплатформенное мобильное приложение/серверная архитектура

Я работаю в команде, которая поддерживает мобильный веб-сайт. Это типичное веб-приложение в том смысле, что страницы форм отправляют и извлекают данные с сервера. Серверная часть в настоящее время JSF.

Он работает нормально, но есть сильное желание начать использовать больше компонентов и функций родного устройства (а именно, сообщения/оповещения и виджеты пользовательского интерфейса). Учитывая количество платформ, которые мы пытаемся поддерживать (iOS, Android, BlackBerry, Symbian [тьфу] и, возможно, Windows 7), PhoneGap кажется первым, на что я должен потратить некоторое время.

Я думаю, что хорошо понимаю, как это работает (в широком смысле), поскольку оно позволяет вам использовать HTML CSS и JS, а затем создает собственное приложение, которое «обертывает» ваш код и предлагает JS API в собственных виджетах устройства и функции по мере необходимости.

Что мне не совсем понятно, так это то, как можно использовать его в клиент-серверном взаимодействии. Можем ли мы использовать PhoneGap для создания внешнего пользовательского интерфейса, который по-прежнему будет общаться с нашими серверами в прямом эфире? Если да, можем ли мы использовать стандартные технологии типа AJAX/JSON/XML для отправки и получения данных, или существуют скрытые препятствия, о которых я не знаю, при использовании такого решения, как PhoneGap? Другими словами, работает ли веб-просмотр в приложении PhoneGap так же, как WebKit, в том смысле, что мы можем сделать вызов AJAX, получить некоторые данные и обновить DOM?

Или есть другой тип фреймворка, на который я должен смотреть?

Вот примерное краткое объяснение того, что мы ищем: мы хотели бы, чтобы наше текущее веб-приложение могло запускать встроенный инструмент выбора даты на устройстве и получать оповещения, но при этом взаимодействовать с нашими серверами, как это делает наш текущий мобильный веб-сайт. .


person DA.    schedule 03.06.2011    source источник


Ответы (2)


Как говорит пользователь 731077, да, PhoneGap может все это. Существует ряд потенциальных методов, которые вы могли бы использовать для этого в коде Javascript вашего приложения PhoneGap. Вот несколько, чтобы проверить.

  • XMLHttpRequest, но я бы предложил один из приведенных ниже вариантов, который обрабатывает несоответствия между браузерами.
  • jQuery ajax()
  • xui.js xhr() (мой выбор)
  • zepto.js ajax()

Я предлагаю xui.js и zepto.js, поскольку они в основном представляют собой урезанные версии jQuery, оптимизированные для мобильной веб-разработки. Я неравнодушен к xui.js, потому что это фреймворк, обычно используемый самими ребятами из PhoneGap.

person Tony Lukasavage    schedule 03.06.2011
comment
Спасибо за эту дополнительную информацию. Рад, что оказался на правильном пути! Я еще не слышал о Zepto. Спасибо, что поделился! - person DA.; 03.06.2011

на каждый твой вопрос ответ ДА ​​:)

person Syed_Adeel    schedule 03.06.2011