2012-03-18 3 views
4

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

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

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

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

Спасибо

ответ

3
How to sync between local database and database on host? 

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

  • двухсторонней
  • односторонний клиентом
  • односторонний устройства
  • Bootup.

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

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

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

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

Позвольте мне знать, если у вас есть вопросы о рамках

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

удачи !!!

2

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

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

Я знаю, что это старый вопрос, но у нас есть некоторые хорошие решения, доступные сейчас. Мы используем Couchbase Mobile для нашего приложения - репликация в основном похожа на двухстороннюю синхронизацию и требует очень мало кода. Я бы также посмотрел на сторонние службы данных, такие как Firebase или Parse.Большинство из них используют RESTful API с JSON. Держитесь подальше от XML и SOAP, которые представляют собой тяжеловесные решения, часто рекомендуемые предпринимателями Java-разработчиков :-) – Eno

2

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

Nice !!!

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

Я Пойду Для REST услуг.

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

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

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

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

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

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

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

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

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

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

Должен ли я использовать технологию одностраничных приложений?

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

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

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

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