当前位置 : 主页 > 编程语言 > delphi >

使用Delphi Intraweb可以创建带有浏览器存储(webSQL / IndexedDB)的HTML5离线应用程序(缓

来源:互联网 收集:自由互联 发布时间:2021-06-23
我当前的Intraweb应用程序实际上是一个DataSnap客户端,它连接到我的DataSnap服务器,该服务器在同一台机器上连接并与Interbase Server连接在一起.它工作正常,但速度很慢,需要不断的Internet连接
我当前的Intraweb应用程序实际上是一个DataSnap客户端,它连接到我的DataSnap服务器,该服务器在同一台机器上连接并与Interbase Server连接在一起.它工作正常,但速度很慢,需要不断的Internet连接才能工作.单击每个按钮或触发任何事件都需要浏览器连接到Web服务器(Intraweb).

我正在考虑使用Delphi XE2中的Intraweb创建一个离线Web应用程序,HTML5缓存清单功能,并在移动设备脱机时使用基于浏览器的SQL存储(例如webSQL或IndexedDB)作为本地浏览器存储.当Internet连接可用于初始化或同步回DataSnap Server时,它将仅连接到真正的DataSnap服务器.

有可能吗?

我的主要问题是从intraweb Web应用程序中获取网页的url,我不想将所有浏览器的存储代码放在模板文件中.

将Intraweb生成的JavaScript代码移动到其他js文件也非常繁琐,通过这样做,我可能会破坏Intraweb应用程序代码和逻辑.这有什么解决方法吗?

正如您自己所说:“单击每个按钮或触发的任何事件都需要浏览器连接到Web服务器”.

这是IntraWeb的设计:一个客户端 – 服务器应用程序,其中大多数代码逻辑在服务器端执行.您可以向应用程序添加一些AJAX小部件,但IntraWeb本身就是服务器端框架.

为了使完整的HTML5 AJAX客户端应用程序能够独立运行,您需要一个纯JavaScript应用程序.甚至基于Sacha / ExtJS的AJAX框架(如ExtPascal或UniGUI)或Morfik也需要运行服务器.

但是创建纯HTML5 JavaScript应用程序是一项艰巨的任务 – 但这是可能的,因为您可以使用JavaScript(使用XML或JSON)来使用DataSnap内容.您可以尝试http://www.appcelerator.com/这是一个很棒的IDE和平台,用于创建作为本机应用程序运行的JavaScript应用程序.

要拥有断开连接的HTML5应用程序,您可能需要等待以下产品发布:

> Smart又名OP4JS;
> Elevate Web Builder.

感谢这两个项目,您可以在对象pascal中编码,然后JavaScript将从pascal源编译,然后使用HTML本地存储.例如参见this article about using storage with Smart/OP4JS – 我已经测试过它(在Alpha中),它运行得很好:你有一个纯粹的独立HTML文件,它可以在没有任何服务器的情况下运行,并且具有本地存储. SQLite3存储计划(尚未完成).

网友评论