您在使用 Web 技术(HTML、XML、CSS、JavaScript)实现 GUI 应用程序的部分功能方面有什么经验?优点和缺点,请说一下。
没有服务器、关系数据库、AJAX 或用于会话管理的 cookie,也没有现有的 Web 应用程序,而是使用 Web 小部件的 GUI 应用程序(例如Qt WebKit http://doc.qt.nokia.com/4.7-snapshot/qtwebkit.html)来渲染和处理 UI 的重要部分,同时利用 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 https://stackoverflow.com/questions/2351330/what-approach-can-i-take-to-developing-a-desktop-application-using-web-technologi and this one https://stackoverflow.com/questions/1196233/net-webbrowser-control-as-user-interface之前制作的,除其他外,因为不需要在 GUI 上使用 Web 技术,但要求应用程序应该在没有可用网络连接的情况下工作,并且应该与不同平台上的默认桌面良好集成,而不需要以前的基础设施要求(无 .NET、Java、浏览器或数据库服务器)。
注意:我在 PMS 上发布了这个问题的不同版本,但发现很少有这种方法的经验。
结束语
我刚刚在一系列中找到了我要寻找的大部分信息安德烈·帕雷 (André Pareis) 的博客文章 http://www.pareis.com/2010/04/22/why-i-completely-dropped-qt-and-qtwebkit-from-my-hybrid-app/.
我认为使用 HTML/CSS 等网络标记和其他网络技术的最大优势是桌面应用程序的日子可能已经屈指可数了。
就在我们说话的时候,谷歌工程师正在开发 Chromium 操作系统,它本质上由一个 GUI 应用程序组成……浏览器……
现在,虽然可能永远不会有任何结果,但通过网络浏览器访问的应用程序数量明显呈上升趋势,可以在任何地方访问。在我看来,这就是应用程序开发的未来。
通过使用这些技术,当您确定您的应用程序应该作为 Web 应用程序提供时,这将成为您必须处理的一件麻烦事。
Update:几年前,我们为呼叫中心开发了一个 Agent Desktop,它本质上是一个本地应用程序,可打开套接字以与电话系统集成。代理使用的用户界面是用 HTML、CSS 和 JavaScript 构建的,体验令人惊叹。当我们在 2010 年发布最新的更新并进行了专业的 CSS 重新设计时,我们的代理都对它的交互简单性和使用简单性印象深刻。
将来我们会将其 100% 移植到浏览器,但目前它需要是本地应用程序,因为 COM 与电话系统集成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)