¿Es posible utilizar Delphi+Intraweb para crear una aplicación HTML5 fuera de línea (manifiesto de caché) con almacenamiento en el navegador (webSQL/IndexedDB)?

StackOverflow https://stackoverflow.com/questions/8830097

Pregunta

Mi aplicación Intraweb actual es en realidad un Cliente DataSnap que se conecta a mi Servidor DataSnap que se conecta y se ubica junto con un Servidor Interbase en la misma máquina.Funciona correctamente pero es bastante lento y requiere una conexión constante a Internet para funcionar.Cada botón presionado o cualquier evento desencadenado requerirá que el navegador se conecte al servidor web (Intraweb).

Estoy pensando en crear una aplicación web sin conexión usando Intraweb en Delphi XE2, la función de manifiesto de caché HTML5 y usar el almacenamiento SQL basado en navegador (como webSQL o IndexedDB) como almacenamiento del navegador local cuando el dispositivo móvil se desconecta.Solo se conectará al servidor DataSnap real cuando haya una conexión a Internet disponible para realizar la inicialización o sincronización con el servidor DataSnap.

¿Es posible?

Mi principal problema es obtener la URL de las páginas web desde la aplicación web intraweb y no quiero colocar todo el código de almacenamiento del navegador dentro de los archivos de plantilla.

También es bastante tedioso mover el código JavaScript generado por Intraweb a otros archivos js y, al hacerlo, puedo romper los códigos y la lógica de la aplicación Intraweb.¿Existe alguna solución para esto?

¿Fue útil?

Solución

Como usted mismo dijo:"Cada botón presionado o cualquier evento desencadenado requerirá que el navegador se conecte al servidor web".

Este es el diseño de IntraWeb:una aplicación Cliente-Servidor, en la que la mayor parte de la lógica del código se ejecuta en el lado del servidor.Puede agregar algunos widgets AJAX a sus aplicaciones, pero IntraWeb, en sí mismo, es un marco del lado del servidor.

Para tener una aplicación cliente HTML5 AJAX completa capaz de ejecutarse de forma independiente, necesitará una aplicación JavaScript pura.Incluso los frameworks AJAX basados ​​en Sacha/ExtJS (como ExtPascal o UniGUI) o Morfik requieren un servidor para ejecutarse.

Pero crear una aplicación JavaScript HTML5 pura es una tarea difícil, pero es posible, ya que puede consumir contenido DataSnap desde JavaScript (usando XML o JSON).Puedes probar http://www.appcelerator.com/ que es un excelente IDE y plataforma para crear aplicaciones JavaScript, que se ejecutan como aplicaciones nativas.

Para tener una aplicación HTML5 desconectada, es posible que tengas que esperar a que se lancen los siguientes productos:

Gracias a estos dos proyectos, podrá codificar en objeto pascal, luego el JavaScript se compilará desde la fuente de pascal y luego usará el almacenamiento local HTML.ver por ejemplo este artículo sobre el uso del almacenamiento con Smart/OP4JS - Lo he probado (en Alpha) y funciona muy bien:Tiene un archivo HTML puro e independiente que puede ejecutarse sin ningún servidor y tiene almacenamiento local.El almacenamiento de SQLite3 está planificado (aún no terminado).

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