您在使用 Web 技术(HTML、XML、CSS、JavaScript)实现 GUI 应用程序的部分功能方面有何经验?利弊,请。
没有用于 session 管理的服务器、关系数据库、AJAX 或 cookie,也没有现有的 web 应用程序,而是使用 web 小部件(如 Qt WebKit )呈现和处理 UI 的大部分内容的 GUI 应用程序,同时利用GUI 框架,实现更丰富的交互和更好的桌面集成。
我已经验证了该方法可以使用 PyQt。内容可以从文件系统或字符串呈现,并且 URL 请求(图像或点击)可以被表单的事件处理程序捕获和服务。支持 CSS 和 JavaScript,可能有一些限制。
# ...
self.webView.page().setLinkDelegationPolicy(
QtWebKit.QWebPage.DelegateExternalLinks
)
#...
class TotiMainWindow(QtGui.QMainWindow):
def linkClicked(self, url):
pass # events arrive here
注意:此问题不同于 this one和 this one之前制作的,除其他外,因为不需要在 GUI 上使用 Web 技术,但要求应用程序应该在没有可用网络连接的情况下工作,并且应该与不同平台上的默认桌面很好地集成,而不需要以前的基础架构要求(无 .NET、Java、浏览器或数据库服务器)。注意:我在 PMS 上发布了这个问题的不同版本,但在那里发现这种方法的经验很少。
结束语
我刚刚在一系列 blog posts by André Pareis 中找到了我正在寻找的大部分信息。 .
最佳答案
我认为使用 HTML/CSS 和其他 Web 技术等 Web 标记的最大优势是桌面应用程序的日子可能已经屈指可数了。
正如我们所说,谷歌工程师正在开发 Chromium OS,它基本上由一个 GUI 应用程序组成……浏览器……
现在,虽然可能永远不会真正实现它,但通过 Web 浏览器访问的应用程序数量明显呈上升趋势,可在任何地方访问。在我看来,这是应用程序开发的 future 。
通过使用这些技术,当您确定您的应用程序应该作为 Web 应用程序可用时,您必须处理的问题就少了一个。
更新 :几年前,我们为我们的调用中心开发了一个 Agent Desktop,它本质上是一个本地应用程序,它打开套接字以与电话系统集成。代理使用的用户界面是用 HTML、CSS 和 JavaScript 构建的,体验非常棒。当我们在 2010 年通过专业的 CSS 重新设计发布最新更新时,我们的代理都对交互的简单性以及使用的简单性都印象深刻。
future 我们会将此 100% 移植到浏览器上,但由于 COM 与电话系统的集成,现在它需要成为本地应用程序。
关于user-interface - GUI 应用程序中的 Web 技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4610869/