带有webview UI的Java桌面应用程序

带有webview UI的Java桌面应用程序,java,browser,web-applications,webview,desktop,Java,Browser,Web Applications,Webview,Desktop,我想要一些为浏览器(chrom-e/ium或firefox)创建专用浏览器窗口的方法。它的内容需要由java应用程序控制(对localhost的http调用,或者更直接的通信方式)。这两者应该以某种方式捆绑在一起 一点背景 我想写一个java桌面应用程序,但不想在UI中使用Swing或javaFX。UI应该像一个单页应用程序一样编写,并且可以(至少部分)移植到web。我已经看过javafx,但是我更愿意拥有一个成熟的浏览器。它也将是很好的,有一点更多的控制说,浏览器发送文件和读取文件在一个更桌面

我想要一些为浏览器(chrom-e/ium或firefox)创建专用浏览器窗口的方法。它的内容需要由java应用程序控制(对
localhost
的http调用,或者更直接的通信方式)。这两者应该以某种方式捆绑在一起

一点背景 我想写一个java桌面应用程序,但不想在UI中使用Swing或javaFX。UI应该像一个单页应用程序一样编写,并且可以(至少部分)移植到web。我已经看过javafx,但是我更愿意拥有一个成熟的浏览器。它也将是很好的,有一点更多的控制说,浏览器发送文件和读取文件在一个更桌面的方式。唯一真正的要求是它背后必须有一些java后端,也就是说必须离线工作


像这样的事情是可能的还是只是一个白日梦?

是的,这是可能的,并不是那么不寻常。您的应用程序可以打开默认浏览器,如下所述-


然后继续响应应用程序的http请求

我几乎晚了一年才参加聚会,但是:

有一些(我知道的)技术可以帮助您:

  • 。这基本上是你想要的,你可以使用网络 “伪造”桌面应用程序的技术,这是众所周知的,我从未使用过它,但据我所知,你几乎可以将任何东西粘贴到它的“后端”

  • JavaFxWebView。你可以用一些很好的方法来使用它 即使使用bootstrap和AngularJs,这里也有一个(不是我写的)


  • 这只是我的观点,但你似乎在跨越范式,“我想要一个像桌面api一样的web api”或“我想要一个像web api一样的桌面应用程序”。根据您的需求和要求选择一个或另一个,以确定哪一个适合您的大多数需求。桌面应用程序可以很好地与web服务交互,web应用程序(特别是html5)可以非常高级。选择其中一种方式是有原因的,你需要决定你的需求是哪种方式。编辑更重要的是,我想用网络技术创建一个桌面应用程序,因为他们做UI的方式要好得多。@MadProgrammer有很多软件都是这样写的。例如,用于(非消费者)网络设备的管理控制台,其中每个设备都没有内置管理界面。您运行一个java应用程序,为本地浏览器的UI提供服务,该应用程序反过来管理设备。最终是跨平台的,用户界面不错。@Pvg是的,但在任何浏览器中都可以运行,OP似乎想做一个hibrid解决方案,允许他们从桌面应用程序控制浏览器,但通过浏览器驱动应用程序。最后一条评论是基于观点的,我知道有很多“基于web的应用程序”看起来完全是废话,不遵循用户对使用的平台的既定用户体验期望,也不只是自己制作的(我还知道很多桌面/本机应用程序也做同样的事情)@然后,只需制作一个web应用程序,并通过标准可用浏览器运行它。“因为他们做UI的方式好得多”是一个观点问题,坦白地说,我见过很多web应用程序都是垃圾,要么忽视建立用户体验范式,要么只是因为“他们可以”而自行构建。关注用户的需求和期望,无论你朝哪个方向走,你都会有一个好的应用程序。这是一个我不知道的很酷的功能。但由于一些限制,用户只能使用IE9。在这种情况下,我宁愿编写一个Swing应用程序。那么,你想要一个完全现代化的浏览器,但你的用户没有访问这种浏览器的权限?我不确定Java(或者除了安装最新的浏览器以外的任何东西)是否能为您解决这个问题。我正在寻找类似mozillas的东西。我知道这个问题有多牵强。有些东西是这样的,它们通常不与Java集成,只是开箱即用。现在回想起来。nw.js looks正是我想要的。感谢电子。虽然我不得不说ipc是个麻烦。通过stdIO上的JSON解决了这个问题。