En muchos sitios web estáticos, el tamaño total del contenido de texto real de las 20 páginas más populares llegaría a menos de 100 kb.
Me imagino que sería posible aprovechar el almacenamiento local HTML5 para descargar contenido a través de AJAX desde el servidor en un solo archivo, guardarlo en el almacenamiento local y usarlo con un marco JS basado en datos como angularJS. De hecho, podría estar descargando aún más contenido en silencio en segundo plano. Esto podría generar una experiencia de usuario muy rápida y receptiva.
A pesar de esto, no he visto ningún sitio web que funcione de esta manera. ¿Hay alguna razón por la que me estoy perdiendo que haga de esto una mala idea?
javascript
angularjs
local-storage
Matthew Dolman
fuente
fuente
Respuestas:
Creo que la respuesta breve a su pregunta es que la razón por la que no ve que suceda mucho como lo que describe es que el almacenamiento local HTML5 no está a la altura de la tarea, y hasta los últimos dos años nos faltó algo se especifica que proporcionaría una mejor solución.
Acerca del almacenamiento local HTML5 específicamente: tiene una condición de carrera y algunos otros problemas que impiden que sea adecuado para su uso en producción para cualquier aplicación en la que desee asegurarse de que no haya corrupción de datos y donde desee poder almacenar más que cadenas. .
Es posible que se solucionen esos problemas en el almacenamiento local, pero la realidad es que ninguno de los proveedores de motores de navegador tiene ningún interés en este momento en invertir más recursos en sus implementaciones de almacenamiento local. Todos preferirían que los desarrolladores web usen alternativas al almacenamiento local.
De todos modos, para el caso de uso que describe, afortunadamente hay soluciones más robustas en proceso. La pieza clave en el futuro será Service Worker y, en el contexto de esta pregunta, las interfaces Service Worker Cache y CacheStorage específicamente.
También IndexedDB es la solución de grado de producción que el tiempo de ejecución web ahora tiene para el caso general de almacenamiento robusto de datos en el cliente, con implementaciones eficientes y con un control más completo sobre el tipo de datos almacenados y cómo se almacenan.
fuente
"local storage is in no way up to the task"
- Sí , está listo para la tarea. puede volcar allí cualquier respuesta proveniente del servidor, y para aplicaciones simples no rayará el5MB
límite. no estaba destinado a ello, pero aún así, se puede utilizar con mucho éxito para almacenar en caché las respuestas del servidor.