我见过很多人试图制作一个看起来像桌面用户界面的网页。但是,大多数时候我认为web ui比桌面ui更有趣,借助jquery,gwt-ext等javascript工具包。
我的问题是,如何将网络ui移植到桌面ui?我需要在java中嵌入一个javascript引擎吗? css引擎? HTML布局引擎?这听起来有很多工作要做。
这样做的简单方法是什么?
答案 0 :(得分:4)
Adobe 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会对你有好处吗?
答案 7 :(得分:1)
从XULRunner尝试Mozilla。如果您已经为Firefox开发了扩展,那么这就完全相同了。 XULRunner包含Gecko引擎,因此它可以使用CSS呈现XUL和HTML,并且它支持带有许多有用的XUL组件的JavaScript,如文件读写,目录浏览器和网络工具。
因为它支持HTML,所以您实际上可以创建一个网页并使其像应用程序一样运行。它也是跨平台的,因此它可以在Windows,Mac和Linux上运行,实际上是Firefox运行的任何地方。
有关于在网络上创建XULRunner应用程序的一些信息,但由于它与制作Firefox扩展程序非常相似,因此您可以直接进行谷歌搜索。一个好的入门教程是this one。