Вопрос

Я подумываю о разработке веб -приложения с автономным возможностями. Я рассматриваю форматирование всех отправков клиентских форм в качестве объектов JSON и написания их прямого на HTML5 LocalStorage в обратной образе формы. Затем у меня будет отдельный процесс, который асинхронно опробовал LocalStorage для записей JSON и передает их на сервер. Этот процесс Server-Sync не будет иметь никакого контекста пользовательского интерфейса. Фактический пользовательский пользовательский интерфейс может быть очень отзывчивым. (Я использую файлы манифеста кэша для решения других автономных вопросов).

Является ли это планом звука, и что будет лучшей технической реализацией асинхронного пост -процесса JSON? (Возможно, таймер, опрос LocalStorage и проверяющий подключение к серверу каждую секунду?) Есть ли лучший способ реализации синхронизации сервера (если я реализовал это на сервере, я бы написал службу - есть ли эквивалентный механизм JavaScript? )

Спасибо.

Это было полезно?

Решение 2

В конце концов я только что использовал простой SetInterval следующим образом:

setInterval("SyncLocalStorageToServer()", 4000); // Loop at 4 second intervals

который затем вызывает функцию, которая переходит вокруг записей LocalStorage, отправляя каждый по очереди на сервер.

Другие советы

В прошлом году я провел некоторое тестирование, чтобы запустить наше приложение в автономном режиме, только для браузеров HTML5.

Приложение основано на услугах JSON и оказалось на стороне клиента с использованием нашей LIB: pure.js. Анкет Вы получаете очень отзывчивое приложение, просто используя аналогичную архитектуру, даже без автономного доступа.

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

Но затем я начал повторять некоторую логику проверки сервера на клиенте. И обнаружили, что хранимые данные не были зашифрованы. Даже с чем -то вроде Джаваскрипт Вам нужен клавиша где -нибудь или установите ключ пароля и т. Д.
Тогда что вы держите клиенту? Все? Последние просмотренные элементы? Как вы обрабатываете столкновения с изменением данных?

Я держу пари с сегодняшними мобильными сетями, которые находятся в Интернете в целом, легче сделать приложение хорошо работать на мобильном телефоне, а не пытаться сделать его в автономном режиме.
На данный момент мы сбросили наши офлайн -усилия.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top