Кроссплатформенное решение для мобильных приложений - PullRequest
4 голосов
/ 18 марта 2012

Я занимаюсь разработкой мобильного приложения, которое можно запускать на мобильных устройствах (с такими ОС, как Android, iOS, WP7 ...). Это приложение будет получать данные из онлайн-базы данных, а затем сохранять их в локальной базе данных на устройстве, и я могу сделать CRUD с данными. Есть три идеи:

  1. Я создам веб-сервис для работы с базой данных на хосте и использую некоторую кроссплатформенную инфраструктуру для создания приложения, затем подключусь к веб-сервису для получения и передачи данных на сервер. Вопросы:

    • Какую технологию использовать для создания веб-сервиса? (RESTful / SOAP ...?)
    • Какой тип возвращаемых данных прост в обращении? (XML / JSON? ...)
    • Как синхронизировать между локальной базой данных и базой данных на хосте?
  2. Я сделаю приложение для загрузки внешнего URL-адреса и создам веб-сайт (со всеми функциями, которые мне нужны для работы с базой данных). Вопросы:

    • iOS, Android, WP7 ... принять для загрузки внешнего URL в приложениях?
    • Как синхронизировать данные, как моя первая идея?
    • Должен ли я использовать технологию одностраничных приложений?
  3. Я сделаю приложение, использующее кроссплатформенный фреймворк, и оно будет работать с локальной базой данных. Я просто занимаюсь синхронизацией между локальной базой данных и базой данных хоста. Вопрос: какая база данных лучше всего подходит для этой цели?

Спасибо

Ответы [ 3 ]

3 голосов
/ 18 марта 2012
How to sync between local database and database on host?

Для синхронизации вы можете взглянуть на проект с открытым исходным кодом, службу синхронизации OpenMobster.Вы можете выполнять все типы операций синхронизации

  • двусторонний
  • односторонний клиент
  • одностороннее устройство
  • загрузка.

Кроме того, все модификации автоматически отслеживаются и синхронизируются с облаком.Вы можете отключить приложение, когда сетевое соединение не работает.Он будет отслеживать любые изменения и автоматически в фоновом режиме синхронизировать его с облаком при восстановлении соединения.Кроме того, при создании новых данных в облаке они автоматически синхронизируются с локальной базой данных с помощью push-уведомлений.

В настоящее время на Android и iOS поддерживаются только собственные разработки.Однако следующая версия 2.2-M8 (конец марта) будет поддерживать сквозную интеграцию с PhoneGap на Android, а 2.2-M9 (конец апреля) добавит iOS.

Поддержка PhoneGap обеспечитпредоставьте вам гибкость в создании приложения с использованием веб-технологий, таких как HTML5, и JavaScript вместе с синхронизацией для ваших локальных данных с использованием OpenMobster.

Если вы хотите использовать чистую нативную систему, вы все равно можете использовать службу синхронизации и синхронизироватьваша локальная база данных с вашей удаленной базой данных.

Дайте мне знать, если у вас есть дополнительные вопросы о фреймворке

Вот ссылка на проект с открытым исходным кодом: http://openmobster.googlecode.com

Удачи !!!

2 голосов
/ 18 марта 2012

Я занимаюсь разработкой мобильного приложения, которое можно запускать на мобильных устройствах (с такими ОС, как Android, iOS, WP7 ...).Это приложение будет получать данные из онлайн-базы данных, а затем сохранять их в локальной базе данных на устройстве, и я могу сделать CRUD с данными

Ницца !!!

Какую технологию использовать для создания веб-сервиса?(RESTful / SOAP ...?)

Я пойду на услуги REST .

REST имеет преимущества, когда:

  • У вас есть набор ресурсов, которыми вы хотите манипулировать.
  • Вы хотите поддерживать навигацию между ресурсами.
  • Вам нужна масштабируемость.

SOAP имеет преимущества, когда:

  • Вы хотите опубликовать описание веб-службы (используя WSDL).WSDL 2 также может описывать веб-сервис RESTful.WADL является альтернативой WSDL для веб-сервисов RESTful.
  • Вы хотите использовать безопасность и т. Д., Которые основаны на использовании заголовков SOAP или какого-либо подобного механизма, в котором данные добавляются и удаляются из запроса.
  • Вам нужна лучшая поддержка инструментов.
  • Вы хотите проверить совместимость платформы.

Какой тип возвращаемых данных для удобства обработки?(XML / JSON ...?)

Я лично говорю о XML Это не критерий, с которым легко работать. Это касается производительности в мобильных приложениях.JSON, как правило, меньше, чем XML-документ, и для более быстрой работы с ним. JSON может быть проанализирован более эффективно, потому что он может быть проанализирован как JavaScript, что сделает для вас встроенная функция eval ().

Как синхронизировать между локальной базой данных и базой данных на хосте?

Создать службу, которая содержит таймер и работает в фоновом режиме. Вызовите службу REST через определенные промежутки времени, чтобы получить последние значения.Но поскольку это опросный тип, он неэффективен и имеет меньшую производительность.Другим подходом будет использование PUSH-уведомлений. Как только произойдут какие-либо изменения на стороне сервера, отправьте push-уведомление клиенту (мобильному) и, следовательно, выполните операции с локальной базой данных.

iOS,Android, WP7 ... принять для загрузки внешнего URL в приложениях?

Я не понял этого пункта. Что вы хотите на самом деле?

Должен ли я использовать одну страницуТехнология приложения?

Технология одностраничной печати очень хороша. Но это будет зависеть от вашего бизнеса. Если это возможно, используйте ее. Или создайте разные HTML-страницы.

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

Выбор базы данных будет зависеть от выбора кроссплатформенной мобильной платформы. Phonegap - это именно то, что вам нужно,И база данных будет sqlite .PhoneGap предоставляет API для хранения, так что вы можете легко получить доступ к базе данных другой мобильной платформы.

2 голосов
/ 18 марта 2012

Некоторые предложения:

  • Если вы планируете, чтобы ваше мобильное приложение обменивалось данными с сервером, я настоятельно рекомендую вам использовать RESTful Services.Перегрузка XML, связанная со службами SOAP, может привести к проблемам в работе вашего телефона и вашей сети
  • Возвращаемые данные могут быть либо в формате JSON, либо в формате XML.Например, в приложениях Blackberry я предпочитаю XML, потому что поддержка включена в SDK.
  • Существует три типа мобильных приложений: веб-приложения (сборка с использованием HTML / Javascript и доступ через браузер), собственные приложения (установленов устройстве и закодированы в Java / Objective-C или другом языке) и гибридные приложения (установлены на устройстве, но закодированы в HTML / Javascript и могут получить доступ к некоторым функциям ОС).Ваш тип загрузки URL-адреса звучит как гибридный подход (не совсем уверен в этом), поэтому вы можете использовать PhoneGap для создания приложений такого типа.
  • Гибридные и веб-приложения используют возможности браузера телефона для управления HTML/ JavaScript.Теперь устройства оснащены очень мощными браузерами на основе WebKIt, поэтому шаблон с одной страницей будет работать без проблем.Хотя это своего рода подход к разработке мобильных приложений.
  • Я не вижу необходимости в локальной базе данных в вашем приложении, вы можете просто обработать все данные на сервере и получить к ним доступ через RESTful Services.на телефоне.
...