Приложение режима офлайн в возможном браузере (HTML5)?

Действительно ли возможно создать приложение внутри в браузере? Приложение означает:

1, Где существует соединение (режим онлайн) между браузером и сервером удаленного приложения:

  • выполнение приложения в типичном веб-режиме
  • приложение хранит необходимые данные в автономном хранении, чтобы использоваться в режиме офлайн (2)
  • данные синхронизации/нажатия приложения (полученный во время режима офлайн) назад к серверу, когда это возобновляется от режима офлайн назад к режиму онлайн

2, Где нет никакого соединения (режим офлайн) между браузером и сервером удаленного приложения:

  • приложение будет все еще работать (JavaScript?)
  • приложение представит данные (который хранится офлайн) пользователю
  • приложение может принять вход от пользователя (и хранить/добавлять в автономном хранении),

Действительно ли это возможно? Если ответ является a да, есть ли какая-либо (Ruby/Python/PHP) создаваемая платформа?

Спасибо

45
задан ohho 7 May 2010 в 04:55
поделиться

5 ответов

Да, это возможно.

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

  • Убедитесь, что ваше приложение состоит только из статических файлов HTML, Js и CSS (или установите политику кэширования вручную в скрипте, чтобы ваш браузер запомнил их в автономный режим). Обновления страницы выполняются посредством манипуляций с JS DOM, а не через сервер (здесь вам поможет структура, такая как ExtJS http://www.extjs.com )

  • Для хранения используйте модуль например, PersistJS ( http://github.com/jeremydurham/persist-js ), который использует локальное хранилище браузера для отслеживания данных. Когда соединение восстановится, выполните синхронизацию с сервером.

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

  • Опять же: основная часть вашего приложения должна быть на javascript, инфраструктура PHP / Ruby / Python вам мало поможет, если сервер недоступен. Сервер, вероятно, будет максимально простым, REST-подобным AJAX API для хранения и загрузки данных.

40
ответ дан 26 November 2019 в 21:25
поделиться

Вот статья на hacks.mozilla.org с демонстрацией: http://hacks.mozilla.org/2010/01/offline-web-applications/

Еще одна демонстрация.

Более подробная документация: https://developer.mozilla.org/en/HTML/HTML5#Web_application_features

1
ответ дан 26 November 2019 в 21:25
поделиться

Взгляните на Google Gears, http://code.google.com/apis/gears/ . Хотя они были заменены на HTML5. Однако похоже, что то, что продвигается как HTML5, - это Google Gears.

-1
ответ дан 26 November 2019 в 21:25
поделиться

Глава «Давайте перейдем в автономный режим» в книге Марка Пилигрима (онлайн ) book Dive Into HTML5 - очень хороший обзор написания автономных веб-приложений с использованием технологий HTML5.

Примечание: с тех пор, как исходная ссылка Марка Пилигрима «Погружение в HTML5», похоже, не работает.

Копии теперь можно найти здесь среди других мест.

15
ответ дан 26 November 2019 в 21:25
поделиться

я тоже искал это, я узнал о HTML5 Offline Web Apps. еще не пробовал

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

0
ответ дан 26 November 2019 в 21:25
поделиться
Другие вопросы по тегам:

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