gpt4 book ai didi

delphi - 使用Delphi+Intraweb创建带有浏览器存储(webSQL/IndexedDB)的HTML5离线应用程序(缓存 list )可能吗?

转载 作者:搜寻专家 更新时间:2023-10-31 08:21:10 24 4
gpt4 key购买 nike

我当前的 Intraweb 应用程序实际上是一个 DataSnap 客户端,它连接到我的 DataSnap 服务器,该服务器连接并与同一台机器上的 Interbase 服务器放在一起。它工作正常但很慢,需要持续的互联网连接才能工作。单击每个按钮或触发任何事件都需要浏览器连接到 Web 服务器 (Intraweb)。

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

有可能吗?

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

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

最佳答案

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

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

为了拥有能够独立运行的完整 HTML5 AJAX 客户端应用程序,您需要一个纯 JavaScript 应用程序。即使是基于 Sacha/ExtJS 的 AJAX 框架(如 ExtPascalUniGUI )或 Morfik 也需要服务器才能运行。

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

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

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

关于delphi - 使用Delphi+Intraweb创建带有浏览器存储(webSQL/IndexedDB)的HTML5离线应用程序(缓存 list )可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8830097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com