【发布时间】:2023-08-19 02:13:01
【问题描述】:
我想创建一个本地应用程序,它具有基于浏览器的 UI,而不是基于 MFC / Qt / 等的独立 GUI。如果我不想在本地机器上运行网络服务器,我该如何实现我的应用程序的动态部分?浏览器能否指向机器上的本地脚本、可执行文件或库?我可以直接使用本地数据库吗>这种方法有什么陷阱?
【问题讨论】:
-
您做出这个决定的过程是什么?
-
HTTP + CSS 非常适合制作动态且可移植的 GUI。但是服务器是本地 Web 应用程序的不便之处,可能意味着安装需要提升等。这就是为什么 - 如果可能的话要避免使用服务器。
-
@paperjam:安装服务器并不需要 root 权限。在端口 80 上运行需要它,但您可以在其他端口上运行您的服务器。我们这样做是为了实现我们的网络应用程序的桌面版本。基本上是在随机端口上运行的最小 perl 服务器(我们的应用程序在 perl 中)和连接到服务器的自定义 webkit 可执行文件。我们选择 webkit 来构建我们的自定义浏览器,因为它支持三大技术:Windows、Mac 和 Linux。
-
@slebetman:到此为止,您还不如放弃服务器并将自定义 URL 方案/协议集成到您的 Webkit 或 Chromium 浏览器中。或者只是在 http 请求离开浏览器之前拦截它们。然后可以将服务器链接到浏览器可执行文件。这是我目前正在考虑的路线。
-
@paperjam:对我来说,我已经用 perl 编写了应用程序,因此服务器路由最有意义。即使没有,我也很犹豫用 C/C++ 编写 Web 处理代码,所以我们仍然必须弄清楚如何在 Webkit 和脚本引擎之间进行 IPC。 TCP/IP 恰好是最可靠的跨平台通信方式。由于我们使用 TCP/IP 还不如使用 HTTP ;-)