如何将web ui移植到桌面应用程序?

时间:2009-08-20 10:25:42

标签: java user-interface

我见过很多人试图制作一个看起来像桌面用户界面的网页。但是,大多数时候我认为web ui比桌面ui更有趣,借助jquery,gwt-ext等javascript工具包。

我的问题是,如何将网络ui移植到桌面ui?我需要在java中嵌入一个javascript引擎吗? css引擎? HTML布局引擎?这听起来有很多工作要做。

这样做的简单方法是什么?

8 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

您可以在应用中嵌入网络服务器,然后可以在应用窗口中嵌入浏览器。我知道eclipse做得很好。它使用SWT来完成繁重的工作

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

您的网络服务器甚至不必是一个合适的网络服务器,它只需要设置内容,并可以动态查询/更改它。页面上的javascript甚至可以直接与您的应用进行互动。

你甚至可以使用像

这样的疯狂网页框架

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

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

甚至通过JRUBY运行红宝石网站 或使用新的HTML5引擎[canvas / video标签]制作非常复杂的应用程序(如果您的客户端安装了新的mozilla)

答案 2 :(得分:3)

你见过Appcelerator的Titanium Desktop吗? 这是对你来说最好的解决方案之一(我想!) 您编写了javascript和html代码,而且Chrome SDK创建了相同的桌面应用程序 支持Python和Ruby 必须尝试:
http://www.appcelerator.com/products/titanium-desktop/
如果你是Ruby程序员,那么你也必须看到这个 http://www.rubyinside.com/bowline-rails-for-the-desktop-2183.html

答案 3 :(得分:2)

来自Mozilla的Prism正是为了这个目标而做的。我相信它现在也已经过了测试版。

答案 4 :(得分:2)

答案 5 :(得分:1)

这不是“要做很多工作”,这是一项繁重的工作 - 你实际上是在编写自己的浏览器而且它永远不会接近那里的杨树,只因为你不愿意获得像Firefox一样的反馈级别。

如果你试图避免使用地址栏,菜单栏等,这些可以在所有流行的浏览器中关闭,因此对于用户而言,它的外观更像应用程序,只有HTML的丰富内容可见。

答案 6 :(得分:1)

听起来像JavaFX会对你有好处吗?

http://en.wikipedia.org/wiki/Javafx

答案 7 :(得分:1)

XULRunner尝试Mozilla。如果您已经为Firefox开发了扩展,那么这就完全相同了。 XULRunner包含Gecko引擎,因此它可以使用CSS呈现XUL和HTML,并且它支持带有许多有用的XUL组件的JavaScript,如文件读写,目录浏览器和网络工具。

因为它支持HTML,所以您实际上可以创建一个网页并使其像应用程序一样运行。它也是跨平台的,因此它可以在Windows,Mac和Linux上运行,实际上是Firefox运行的任何地方。

有关于在网络上创建XULRunner应用程序的一些信息,但由于它与制作Firefox扩展程序非常相似,因此您可以直接进行谷歌搜索。一个好的入门教程是this one

相关问题