Каковы мои варианты автономного режима и сокетов для современного веб-приложения? - PullRequest
2 голосов
/ 18 декабря 2011

Так что я думал о создании довольно сложного приложения.Идея создания версии html5 стала весьма привлекательной возможностью.Однако сначала у меня есть несколько вопросов по этому поводу.

Моя первая проблема - насколько надежны API автономных приложений на данный момент.Я изучал этот стандарт: http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html, и он выглядит довольно простым в реализации и использовании, но мне интересно, насколько он прост в использовании?При условии, что вы настроили манифест и т. Д., Доступ к веб-приложению (в автономном режиме) осуществляется по тому же URL-адресу, с которого вы изначально загрузили приложение?Это автономное приложение все еще должно иметь возможность взаимодействовать с локальными серверами, в идеале я хотел бы избежать размещения веб-сервера, однако соединение с сокетом было бы правдоподобным.Насколько хорошо работают веб-сокеты, когда браузер отключен?Возможно ли, чтобы полностью сетевое / интерактивное браузерное приложение работало даже без активного интернет-соединения?(после первой загрузки приложения)

Любое понимание было бы здорово!

1 Ответ

2 голосов
/ 18 декабря 2011

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

Моя первая проблема - насколько надежны API автономных приложений на данный момент.

Достаточно надежные, они были реализованы для ряда версий в большинстве основных веб-браузеров (кроме IE) .

- это веб-приложение, к которому только что обращались (в автономном режиме), перейдя втот же самый URL-адрес, с которого вы изначально загрузили приложение?

Да.Как только автономное приложение было кэшировано, приложение обслуживается из этого кэша.Сетевые запросы не будут выполняться, если вы явно не запросите URL-адреса из разделов манифеста NETWORK или FALLBACK или не будут включены в манифест вообще, за исключением проверки того, изменился ли сам манифест.

Это автономное приложение все еще должно поддерживать связь с локальными серверами, в идеале я хотел бы избежать размещения веб-сервера, однако соединение с сокетом было бы правдоподобным.

AВеб-сокет все еще требует веб-сервера.Начальное рукопожатие для веб-сокета - HTTP . Веб-сокет - это не то же самое, что сокет в TCP / IP .

Насколько хорошо веб-сокеты в настоящее время работают, когда браузер отключен?

Они вообще не будут работать, если вы установите браузер в автономный режим, он вообще не будет отправлять запросы в сеть.Обратите внимание, что браузер, установленный в автономный режим, - это не то же самое, что автономный браузер в «автономном API».Автономный API-интерфейс в первую очередь связан с тем, можно ли получить доступ к серверу, на котором размещено приложение, а не с тем, подключен ли в настоящее время браузер к сети или эта сеть подключена к Интернету.Если сервер отключается, приложение просто отключается, как если бы сетевой кабель на компьютере пользователя был отключен.Прочитайте этот пост , в частности комментарии.Мой обычный подход к обнаружению статуса в автономном режиме - настроить пару файлов в разделе FALLBACK таким образом, чтобы вы получали один файл в режиме онлайн, а другой - в автономном режиме - запросите этот файл с помощью AJAX и посмотрите, что у вас получится.

Возможно ли иметь полностью сетевое / интерактивное браузерное приложение, работающее даже без активного подключения к Интернету?

Да, но я не думаю, что это означает то, что, по вашему мнению, происходит.Отдельные экземпляры приложения, работающего в разных браузерах на разных машинах, не смогут обмениваться данными друг с другом без прохождения через веб-сервер.Тем не менее, не требуется, чтобы веб-сервер был «в Интернете», он будет прекрасно работать в локальной сети.

...