Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以使用Java后端创建桌面应用程序&;Web技术用户界面_Java_Browser_Desktop_Embedded Jetty - Fatal编程技术网

是否可以使用Java后端创建桌面应用程序&;Web技术用户界面

是否可以使用Java后端创建桌面应用程序&;Web技术用户界面,java,browser,desktop,embedded-jetty,Java,Browser,Desktop,Embedded Jetty,我想用Java和web技术创建一个桌面应用程序。选择Java的主要原因是它是免费的、开源的,因此我们的投资将是最小的,我们将在许可成本等方面节省大量投资。此外,选择web技术的主要原因是我们当前的程序员精通HTMl、css、Ajax等web技术,我们在web技术中创建令人惊叹的UI方面拥有丰富的经验 我会给你一些关于我们想要创建的软件的想法。它将是一个基于桌面的软件,即类似于ERP软件的东西 关键的要求是,应该有一个很好的UI,它应该是快速的,而不是资源密集型的 我听说实现一个伟大的GUI是可能

我想用Java和web技术创建一个桌面应用程序。选择Java的主要原因是它是免费的、开源的,因此我们的投资将是最小的,我们将在许可成本等方面节省大量投资。此外,选择web技术的主要原因是我们当前的程序员精通HTMl、css、Ajax等web技术,我们在web技术中创建令人惊叹的UI方面拥有丰富的经验

我会给你一些关于我们想要创建的软件的想法。它将是一个基于桌面的软件,即类似于ERP软件的东西

关键的要求是,应该有一个很好的UI,它应该是快速的,而不是资源密集型的

我听说实现一个伟大的GUI是可能的,但在Java中很难。这是可以做到的,但很复杂,而在微软的产品VisualStudio中做到这一点非常简单

我也检查过AdobeAIR、Nokia QT等,但它们对我们来说都非常昂贵,我们正在寻找使用java技术的前端浏览器UI和后端嵌入式服务器/数据库

是否可以创建一个桌面软件,其中UI是使用web技术创建的,并且有一个嵌入式服务器(如jetty或tomcat)和数据库,后端编程将使用Java。JavaFX如何适应这种情况

因此,基本上,桌面应用程序将有一个嵌入式浏览器(mozilla或一些可以与软件打包的java浏览器),但最终用户永远不会意识到这一点

我期待着得到同样的反馈。您能否提供一些用java+web技术的类似组合创建的软件示例


我确实研究过一些类似的软件,比如PulpTunes和Zimbra,但它们似乎连接到互联网来显示数据。我们的软件将完全是一个离线桌面应用程序。

你说得对,如果你自己开发一个项目,java是很棒的

服务器端编码可以使用Spring(用于MVC、数据库等…非常丰富轻巧的框架,易于学习和理解)和hibernate(用于数据库处理的ORM框架,为任何数据库服务器提供方言)来完成

对于UI,您可以使用SpringMVC、JSF、GWT或javaFX。JavaFX提供JNLP下载,该下载在java上运行,无需浏览器。查看链接了解更多JavaFX示例

所以,这取决于您,您希望在UI端使用什么。如果您更喜欢WebUI(我的意思不是javaFX),那么您可以有很多选择

对于Ajax,您将拥有支持easy Ajax的库。像DWR(Easy Ajax,JS to JAVA)和许多其他JS库,如yahoo、jQuery等。。可以使用


希望这能有所帮助。

我觉得运行一个web服务器只是为了创建一个带有js和ajax的桌面应用程序的想法太可怕了。。。我听说哪个是允许使用web技术创建跨平台应用程序的。还有一些其他类似的项目


我认为你最好买一个好的wyswing java ui设计工具,它会花费你几百美元,但会为你节省很多开发麻烦。很难相信设计一个漂亮的桌面应用程序比设计一个网页更复杂

我没有得到嵌入式jetty/tomcat部件。您希望桌面应用程序运行与数据库对话的嵌入式服务器吗?那么每个桌面应用程序都会打开一个DB连接

为什么没有一个Java桌面应用程序可以向连接到DB并处理请求的JavaEE服务器发送HTTP请求?因此,基本上,Java客户机(可以是开发人员所能提供的最丰富的客户机)取代了浏览器。这给了您更多的可伸缩性,等等

我们有一个类似的(尽管要复杂得多)产品是使用 -桌面上的Swing+Apache Commons HttpClient。这会向服务器发出带有序列化二进制数据的HTTP POST请求。
-在web容器中运行的dispatcher servlet,它在服务器上重新创建Java对象并执行请求。

首先,这是可能的。例如,如果您正在查找,请检查。 如果深入研究他们的代码,您可以获得基本的体系结构。它不使用任何嵌入式数据库。 您是说您的应用程序将始终处于脱机状态,在这种情况下,我建议您使用Eclipse插件开发等技术来开发纯桌面应用程序

如果您已经下定决心,以下几点可以帮助您根据我在类似应用程序中的经验

  • 尽管您的应用程序处于脱机状态(我假设,您的应用程序不需要连接到任何用例的任何服务器,但用户机器可以访问internet),但您需要透明地向最终用户交付更改(例如,html或jsp页面中的更改)/错误修复。JNLP/JavaWebStart非常适合这种情况

  • 如果您选择JNLP安装方式,那么launcher应该负责最终用户机器上的嵌入式db安装和端口(这是一个比看起来更大的问题)

  • 另外,如果您通过JNLP启动服务器(在我的例子中是Jetty),您将遇到由于权限问题而导致的类加载错误。准备好挖掘服务器代码。我很久以前就这样做了,现在我没有代码来指出确切的问题

  • 在安装过程和应用程序启动期间显示进度条。war部署需要一些时间,用户需要知道应用程序正在启动中。您最终将编写一些swing UI

  • 应用程序启动后,在用户系统的默认浏览器中自动启动应用程序的URL。您不需要嵌入式浏览器。请检查

  • 我使用MySql作为嵌入式数据库。检查。这对我很有效,我没有遇到任何问题