是否可以使用 Java 后端和 Web 技术 UI 创建桌面应用程序 [关闭]

2023-11-21

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

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

关键要求是应该有一个很棒的用户界面,并且应该快速并且不是非常消耗资源。

我听说实现一个出色的 GUI 是可能的,但用 Java 实现却很困难。它可以做到,但很复杂,而在 Visual Studio、微软产品中做同样的事情却相当简单。

我还检查了 Adob​​e Air、Nokia QT 等,但它们对我们来说都相当昂贵,我们正在寻找使用 java 技术的前端浏览器 UI 和后端嵌入式服务器/数据库。

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

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

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

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


首先,这是可能的。如果您正在寻找示例,请检查http://wiki.eclipse.org/Hudson-ci/Meet_Hudson。 如果你深入研究他们的代码,你可以获得基本的架构。它不使用任何嵌入式数据库。 您说您的应用程序将始终处于离线状态,在这种情况下,我建议您使用 Eclipse 插件开发等技术来选择纯桌面应用程序。

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

  1. 虽然您的应用程序处于离线状态(我假设您的应用程序不需要连接到任何用例的任何服务器,但用户计算机可以访问互联网),但您需要透明地交付更改(例如,html 或 jsp 页面中的更改)/错误修复给最终用户。 JNLP/Java Web Start 非常适合于此。

  2. 如果您打算采用 JNLP 方式安装,则启动程序应该负责最终用户计算机上的嵌入式数据库安装和端口(这比看起来的问题要大)。

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

  4. 在安装过程和应用程序启动过程中显示进度条。您的战争部署需要一些时间,并且用户需要了解应用程序正在启动。您最终将编写一些 Swing UI。

  5. 应用程序启动后,自动在用户系统的默认浏览器中启动应用程序的 URL。您不需要嵌入式浏览器。检查http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/.

  6. 我使用 MySql 作为嵌入式数据库。查看在java桌面应用程序中嵌入mysql。它对我有用,我没有遇到任何问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以使用 Java 后端和 Web 技术 UI 创建桌面应用程序 [关闭] 的相关文章

  • 无法在 Android 10 中创建目录

    我无法在 android 10 中创建目录 它可以在 android Oreo 之前的设备上运行 我尝试了两种创建文件夹的方法 Using File mkdir File f new File Environment getExternal
  • 清理码头 - 删除“不必要”的东西

    我习惯用Jetty http jetty codehaus org jetty 作为我的网络容器 我对我做了什么安装步骤得到原始的焦油球并且清理一些目录和文件从中 我在这里想提出的是 您通常从 Jetty 中删除什么以在生产 登台环境中使用
  • Java Try Catch Final 没有 Catch 的情况下会阻塞

    我正在审查一些新代码 该程序只有一个 try 和一个 finally 块 既然排除了 catch 块 那么如果 try 块遇到异常或任何可抛出的内容 它如何工作 它直接进入finally块吗 如果 try 块中的任何代码可以引发已检查异常
  • Grails 2.3.0 自动重新加载不起作用

    我最近将我们的项目升级到 grails 2 3 0 一切工作正常 除了每当我更改代码时自动重新加载都无法工作的问题 这包括所有项目工件 控制器 域 服务 gsps css 和 javascript 文件 我的旧版本 grails 可以正常工
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • 在文本文件中搜索单词并返回其频率

    如何在包含单词文本的文本文件中搜索特定单词并返回其频率或出现次数 使用扫描仪 String text Question how to search for a particular word in a text file containin
  • 在 HTTP 标头中发送 UTF-8 值会导致 Mojibake

    我想使用 servlet 发送阿拉伯语数据HTTPServletResponse给客户 我正在尝试这个 response setCharacterEncoding UTF 8 response setHeader Info arabicWo
  • 如何在android中设置多个闹钟,在这种情况下最后一个闹钟会覆盖以前的闹钟

    我正在开发一个Android应用程序 用户可以在其中设置提醒时间 但我在以下代码中遇到一个问题 即最后一个警报会覆盖之前的所有警报 MainActivity java public void setreminders DatabaseHan
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • 计算日期之间的天数差异

    在我的代码中 日期之间的差异是错误的 因为它应该是 38 天而不是 8 天 我该如何修复 package random04diferencadata import java text ParseException import java t
  • Cloudfoundry:如何组合两个运行时

    cloundfoundry 有没有办法结合两个运行时环境 我正在将 NodeJS 应用程序部署到 IBM Bluemix 现在 我还希望能够执行独立的 jar 文件 但应用程序失败 APP 0 bin sh 1 java not found
  • Spring Security OAuth2简单配置

    我有一个简单的项目 需要以下简单的配置 我有一个 密码 grant type 这意味着我可以提交用户名 密码 用户在登录表单中输入 并在成功时获得 access token 有了该 access token 我就可以请求 API 并获取用户
  • 如何在 Eclipse Java 动态 Web 项目中使用 .properties 文件?

    我正在 Eclipse 中开发动态 Web 项目 我创建了一个 properties 文件来存储数据库详细信息 用户名 密码等 我通过右键单击项目和 New gt File 添加它 我使用了Java util包Properties类 但它不
  • 如何通过 Inno Setup for NetBeans 使用自定义 .iss 文件

    我将 Inno Setup 5 与 NetBeans 8 一起使用 并且我已经能够创建一个安装程序来安装该应用程序C users username local appname 但是我希望将其安装在C Programfiles 我如何在 Ne
  • 无法捕获 Spring Batch 的 ItemWriter 中的异常

    我正在编写一个 Spring Batch 流程来将数据集从一个系统迁移到另一个系统 在这种情况下 这就像使用RowMapper实现在传递给查询之前从查询构建对象ItemWriter The ItemWriter称为save我的 DAO 上的
  • 对象锁定私有类成员 - 最佳实践? (爪哇)

    I asked 类似的问题 https stackoverflow com questions 10548066 multiple object locks in java前几天 但对回复不满意 主要是因为我提供的代码存在一些人们关注的问题
  • 挂钩 Eclipse 构建过程吗?

    我希望在 Eclipse 中按下构建按钮时能够运行一个简单的 Java 程序 目前 当我单击 构建 时 它会运行一些 JRebel 日志记录代码 我有一个程序可以解析 JRebel 日志文件并将统计信息存储在数据库中 是否可以编写一个插件或
  • 哪个集合更适合存储多维数组中的数据?

    我有一个multi dimensional array of string 我愿意将其转换为某种集合类型 以便我可以根据自己的意愿添加 删除和插入元素 在数组中 我无法删除特定位置的元素 我需要这样的集合 我可以在其中删除特定位置的数据 也
  • Java &= 运算符应用 & 或 && 吗?

    Assuming boolean a false 我想知道是否这样做 a b 相当于 a a b logical AND a is false hence b is not evaluated 或者另一方面 这意味着 a a b Bitwi
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创

随机推荐

  • 无法使用经过训练的 Tensorflow 模型

    我是深度学习和 Tensorflow 的新手 我将预训练的张量流 inceptionv3 模型重新训练为保存的模型 pb识别不同类型的图像 但是当我尝试使用以下代码的 fie 时 with tf Session as sess with t
  • 从 powershell 启动非阻塞进程

    我正在编写一个 powershell 脚本 需要同时将代码推送到多个 git 存储库 这是我迄今为止的脚本 param parameter Mandatory true string repoPath parameter Mandatory
  • 仅使用键盘导航 UI

    我正在尝试仅使用键盘浏览记录列表 当页面加载时 默认的 焦点 应该在第一条记录上 当用户单击键盘上的向下箭头时 需要聚焦下一条记录 当用户单击向上箭头时 应聚焦前一条记录 当用户单击 Enter 按钮时 应该将他们带到该记录的详细信息页面
  • Typeahead 将结果显示为未定义

    我正在尝试使用 typeahead 显示谷歌建议 Ajax 调用工作正常并且数据正确返回 执行前返回过程 数据 data 包含以 w 开头的字符串数组 data 沃尔玛 天气 富国银行 worldstarhiphop 沃尔格林 维基百科 白
  • Node js 请求实体太大,且无法上传 multer

    好吧 我尝试了不同的方法来上传 200k 文件 增加了限制 更改了参数 做了所有更改了 multer 的操作 Fucei 我知道我在堆栈中读到的所有内容 我在谷歌上发现基本的谷歌搜索已经完成了我的问题 而不是向上而是向下的图片就像魅力一样
  • 将 sqlite 导出到 csv

    我试图从我的 sqlite 数据库中获取数据并将其写入 csv 文件 并在完成写入后通过电子邮件发送信息 我的数据库中只有一个包含 3 列的表 我有 DBAdapter 和一个具有用户必须按下的按钮的类以便能够导出数据 这是我尝试过的代码导
  • Scala 隐式类型转换和 ==

    谁能告诉我为什么隐式类型转换不起作用 例子 class BitArray l Int v Long val length l var value v def that BitArray value that value def intege
  • Java8分组列表列表来映射

    我有一个Model and a Property具有以下签名的类 public class Property public String name public String getName return name public void
  • 如何在 h:inputText 中指定 name 属性?

    我需要渲染h inputText如下html输出
  • 在 IIS 7.5 托管的 Web Api 中找不到 HTTP 404 页面

    我有一个 Web Api 应用程序 当我使用 VS 2010 调试开发服务器对其进行测试时 它运行得非常好 但我现在将其部署到 IIS 7 5 并且在尝试访问该应用程序时收到 HTTP 404 错误 这是我的 web config
  • 如何使用代码隐藏技术在asp.net中获取当前页面的Url?

    我想获取像abc aspx这样的页面的Url 我怎样才能使用代码隐藏技术得到这个 任何想法 完整详细信息 您稍后可以使用字符串操作进行高级操作 string url HttpContext Current Request Url Absol
  • 尝试附加到小程序进行调试时出现“shmemBase_attach 失败:系统找不到指定的文件”

    我使用的是netbeans 6 1 我的 java 运行时设置中有以下内容 agentlib jdwp 传输 dt shmem 地址 jdbconn 服务器 y 挂起 n 以及 netbeans 附加对话框中的以下内容 调试器 JPDA 调
  • 是否可以将 UITests 目标中的文件复制到应用程序的文档目录中?

    我的 UITests 目标中有一个示例文本文件 我想将此文件复制到应用程序的文档目录中 以便当我在应用程序中执行文件上传测试时 我可以通过文件应用程序选择它并上传它 这可以通过使用 XCUIApplication 的 launchArgum
  • 静态断言模板类型名 T 不完整? [复制]

    这个问题在这里已经有答案了 有没有办法 static assert 类型 T 是Not在标题中的那一点完成 这个想法是 如果有人在不应该添加的地方添加 includes 就会出现编译错误 有关的 如何编写 is complete 模板 使用
  • pg_config、ruby pg、postgresql 9.0 升级后问题、centos 5

    将 postgresql 8 1 升级到 9 0 后 我注意到库依赖性问题 Postgresql 工作正常 连接 查询 yum list postgresql Installed Packages postgresql i386 9 0 0
  • 居中对齐容器并左对齐子元素[重复]

    这个问题在这里已经有答案了 我有 X 张图像 高度和宽度都相同 我想将它们显示在网页上 但我想让页面在浏览器调整大小时自动显示一行中的最大数量的图像 不调整图像大小 并以固定的距离显示图像 此外 图像应在页面中央分组在一起 并一个接一个地显
  • 如何检查字符串是否以多个前缀之一开头?

    我有以下 if 语句 String newStr4 strr split 2012 0 if newStr4 startsWith Mon str4 add newStr4 我希望它包括startsWith Mon Tues Weds Th
  • 有没有办法在 Access 和 Excel 2007 中获得 VBA 的完整 IntelliSense?

    在 VB NET 中 一旦您开始键入 IntelliSense 就会弹出 为您提供当时可以使用的内容的完整列表 智能感知在VBA但是 直到您正在使用的部分后面加上句点后 我才开始使用 例如 我进入 Excel 2007 中的 VBA 编辑器
  • 防止通用链接在“WKWebView”/“UIWebView”中打开

    当用户点击通用链接时WKWebView 相应的应用程序将被打开 如果已安装 这在Apple 搜索编程指南 如果您实例化 SFSafariViewController WKWebView 或 UIWebView 对象来处理通用链接 iOS 将
  • 是否可以使用 Java 后端和 Web 技术 UI 创建桌面应用程序 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想用 Java 和 Web 技术创建一个桌面应用程序 选择Java的主要原因是它是免费的 开源的 因此我们的投资是最小的 在许可成本等方面我们会节省大量的投资 另外 选择Web