Pregunta

Necesito poder ejecutar formularios HTML sin conexión. Quiero decir que tienen que trabajar sin conexión directa al servidor web.

En una aplicación que escribí hace más de 5 años, lo hice implementando un controlador de protocolo personalizado: cuando un usuario inició el formulario, la solicitud HTTP resultante se grabó localmente. En un momento posterior, cuando una conexión con el servidor esté disponible, un programa de sincronización recorre las solicitudes recopiladas y las envía al servidor, recoge las respuestas y las vuelve a guardar localmente para su uso posterior.

Eso fue entonces. Ahora otro cliente se me acercó con una solicitud muy similar. ¿Qué tecnología creen ustedes que debería usar hoy?

El soporte para HTML5 es muy limitado por el momento. Google engranajes? ¿O debería regresar y continuar usando el controlador de protocolo y el sincronizador personalizado?

¿Fue útil?

Solución

Yo diría que vaya a HTML5. No todos los navegadores lo soportan; pero todos lo harán. Mientras tanto, creo que es mejor decir "para obtener funciones sin conexión, intente tal o cual navegador", en lugar de & "; descargue este enorme complemento con muchas advertencias de miedo".

También una información demográfica simple: HTML5 está en qué, ¿el 5% de todos los navegadores? 10%? aún mucho más que el 0% de los usuarios con Gears ya instalado.

Es una verdadera pena, muchas gracias Google por empujar el sobre con Gears; pero en la naturaleza el único complemento generalmente aceptado es Flash. Afortunadamente, HTML5 ya está casi allí, con casi las mismas características.

Otros consejos

Google Gears es un muy buen candidato. Por ejemplo, Google acaba de anunciar que los usuarios podrán adjuntar archivos a correos electrónicos mientras están "fuera de línea". Otro método podría ser almacenar los datos del formulario publicado en una cookie y, cuando el usuario pueda volver a conectarse, el servidor recoge la cookie y los datos que contiene.

Corren rumores de que Google Gears ya no está en desarrollo. Cuando observa las características de los engranajes y el rastreador de problemas en http://code.google.com/p/gears/issues/list?can=2&q=&sort=version&colspec=Version%20Milestone%20Owner%20ID % 20Summary% 20Component para el nuevo desarrollo de Gears, solo hay 3 elementos que se arreglarán en la versión 0.6. Además, según este artículo de Wikipedia ( http://en.wikipedia.org/wiki/Google_Gears), parece que Google no está haciendo ningún desarrollo, y el proyecto de código abierto tampoco tiene mucho vapor. Tomado del artículo es este:

" A fines de noviembre de 2009, numerosas fuentes de noticias en línea informaron que Google va a migrar para usar HTML 5 en lugar de Gears en el futuro. Más tarde, un portavoz de Google aclaró que, sin embargo, Google continuará apoyando a Gears para que no rompa los sitios que lo usan. & Quot;

En otras palabras, Gears ha sido desaprobado. Utilice HTML 5 en su lugar.

Dojo.Storage/ Dojo Offline , tiene un puente flash que le permitirá almacenar datos usando almacén de datos de flash. El límite lo establece el usuario, pero comienza a 5Mb. El componente de la biblioteca es una abstracción y también es compatible con HTML 5, cookies y engranajes.

Los engranajes más le permitirán almacenar blobs binarios, si la memoria sirve.

Google Gears está muerto: http://gearsblog.blogspot.com/2011 /03/stopping-gears.html

Su mejor apuesta es probablemente una combinación de los estándares HTML5 para applicationCache y localStorage.

Sin embargo, applicationCache debe usarse con moderación, es un verdadero dolor. Este artículo explica por qué, además de dar algunos consejos sobre cómo utilizar un enfoque híbrido de applicationCache y localStorage para la VISIÓN sin conexión (no envío) de páginas:

http://www.alistapart.com/articles/application -cache-is-a-douchebag /

Aquí hay un artículo que tiene un ejemplo de captura de datos de formulario en localStorage, pero desafortunadamente no proporciona un ejemplo de envío de datos sin conexión:

http: //miniapps.co.uk/blog/post/using-html5-localstorage-as-a-fallback-for-offline-form-submission

Además, tenga cuidado con window.navigator.onLine para detectar el estado fuera de línea; no se implementa de manera consistente en todos los navegadores, y probablemente sea mejor que el usuario le diga explícitamente si están desconectados o no.

- Chad

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top