2009-08-20 135 views
2

我见过很多人试图让网络用户界面看起来像桌面用户界面。然而,大部分的时间,我觉得网络用户界面比桌面用户界面变得更加有趣,有像jQuery JavaScript工具包的帮助下,GWT-EXT等如何将web ui移植到桌面应用程序?

我的问题是,如何移植的Web UI来桌面UI ?我需要在java中嵌入JavaScript引擎吗? CSS引擎? html布局引擎?这听起来像很多工作要做。

任何简单的方法呢?

+1

在这里做的最好的事情是写一个桌面环境的特定UI。如果您的用户界面在业务逻辑上有足够的支持,这应该相当容易。为什么你不能这样做有一个特别的原因吗? – lexx 2009-08-20 10:28:38

回答

3

,你可以在你的应用程序中嵌入一个Web服务器,并且可以将您的应用程序窗口内的浏览器。我知道日食会很好。它使用SWT做繁重

http://www.eclipse.org/swt/snippets/#browser
检查浏览器部分

您的Web服务器甚而不必须是一个正确的Web服务器,它只是设置的内容,可查询/更改在飞行中。该页面上的JavaScript甚至可以直接与您的应用进行交互。

你应该甚至能够通过JRUBY
用疯狂的Web框架一样

http://echo.nextapp.com/site/

http://code.google.com/webtoolkit/

甚至跑红宝石网站或使使用新的HTML5引擎非常复杂的应用程序[画布/视频标签](如果你的客户端安装了新的mozilla)

+0

你有没有任何示例链接嵌入一个Web服务器也许与jruby以及? – 2011-02-17 17:28:16

+0

对不起,我通常不会乱用jruby。我想这些链接必须从浏览器中截取,并重定向到JRuby运行时。如果您只是使用javascript/css/html,那么这应该是相当平凡的,因为调用只需加载这些文件,而不是由JRuby运行时生成它们。 – aepurniet 2011-08-09 03:01:05

1

这不是一个很多工作要做的事情 - 你实际上会写你自己的浏览器,它永远不会接近那些白杨树,因为你不会得到类似Firefox的反馈水平。

如果你想避免地址栏,菜单栏等,这些可以在所有流行的浏览器中关闭,所以对用户来说,外观应该是更像HTML应用程序的丰富内容可见。

4

Adob​​e AIR技术解决了这个问题。您使用Flex开发的代码可以在浏览器的Flash播放器插件中呈现,或者可以将相同的代码轻松打包为在AIR运行时运行的桌面应用程序。

+0

这是一个Flash应用程序,而不是一个Web应用程序。 – aepurniet 2009-08-20 13:28:34

+0

不仅仅是Flex--你也可以让HTML/JavaScript只作为AIR应用程序运行。但是,您无法在JSP中执行此操作,因为它们必须在服务器上解析才能生成HTML页面。但是,您可以使用带JavaScript的静态HTML来完成此操作,然而,这会将调用回服务器。我听说GWT可以与AIR一起工作 - 也可能是Echo2。 – Nate 2009-08-20 13:34:38

1

Mozilla尝试XULRunner。如果你已经开发了Firefox的扩展,那么这是完全一样的东西。 XULRunner的包含Gecko引擎,所以它可以使XUL和HTML的CSS,它支持JavaScript许多有用的XUL组件,如文件读写,目录浏览器和网络工具。

因为它支持HTML,你可以在效果做出一个网页,有它运行像一个应用程序。它也是跨平台的,所以它可以运行在Windows,Mac和Linux上,无论任何地方Firefox运行。

有创造的净XULRunner的应用的一些信息,但因为它是如此的相似,使得Firefox扩展,你可以只是谷歌为。一个好的入门教程是this one。从Mozilla的

2

棱镜为这个目标做的,没错。我相信它现在也已经过测试。