Java桌面应用程序

时间:2010-10-17 21:30:10

标签: java database

这是一个问题,但有几个子问题。我正在计划使用Java的桌面应用程序,我使用NetBeans作为IDE。问题:

  1. 为什么有这么多版本的Java? Java,Java SE,Java EE,Java Me

  2. 我希望应用程序在本地存储数据,什么是最好的Java DB或SQLite?

  3. 我是否需要额外的东西来为我的客户创建安装应用程序的安装文件?

  4. 是否有与.Net OneClick类似的Java解决方案,以使客户端更新到最新版本的应用程序?

  5. 我计划在Windows中运行该应用程序,但如果我必须移植到Mac或Linux有多难?

3 个答案:

答案 0 :(得分:2)

  1. 因为你并不是真的需要到处都是。例如,您不需要使用来自计算机的GPRS或SMS,或来自手机的ORM。每个版本都针对特定环境。通过这种方式,您可以为移动设备提供更轻松的环境,为企业应用程序提供更多组件(您不需要标准应用程序)。
  2. 我建议你使用JavaDB(或Derby),但这实际上取决于你
  3. 不是,您可以提供a nice solution来安装您的应用程序,但这不是必要
  4. 有(我不记得,但其他答案肯定有帮助)
  5. 这很简单,特别是对于unix应用程序,可执行文件创建基本上是一个直接启动的.sh文件(你当然可以在UNIX上有一个真正的可执行文件,但维护.sh文件真的很常见也很容易)(你也可以在Windows上使用.bat文件,但让我们说这不太常见)

  6. 我重新阅读了这个问题,可能还没有真正回答最后一点(我还在创建.exe创建)所以这是第二次拍摄:

    5.这是java的主要目标,无处不在。只要您的代码不使用系统的特性(或者使用ifs保护),您的代码就可以在任何地方使用。当然你必须使用相同的java版本(版本,而不是版本)和相同的库,否则你可能会遇到问题。

答案 1 :(得分:2)

  1. 有不同的java库用于不同的目的。例如,Java ME专为手机/移动设备而设计。你可能对java SE没问题,除非你需要EE的一些功能。

  2. 根据您的数据存储的复杂程度,您甚至可能不需要“数据库”。在java中,任何实现“可序列化”接口的对象都可以直接写入文件。因此,如果您只是尝试存储诸如用户设置等内容,则可以创建一个对象来存储它们,实现Serialiazable,然后将其写入光盘。

  3. 仅当您的应用程序链接到您不希望打包在同一目录中的代码库时。您可以将它打包为netbeans中的自执行JAR,它的功能类似于.exe

  4. (耸肩。)

  5. 如果您不小心不使用特定于操作系统的路径,则自动执行的jar将立即在安装了JVM的任何操作系统上运行。可能还有其他一些怪癖,但Java的构建非常便携。

答案 2 :(得分:1)

  
      
  1. 为什么这么多Javas? Java,Java SE,Java EE,Java Me
  2.   

这么多环境。前两个是桌面,EE是服务器端,ME是电话。

  

... 3。我是否需要额外的东西来为我的客户创建安装应用程序的安装文件?

使用Java Web Start

这也包括4.& 5。

我不知道哪个是“最好的”数据库,但请注意,对于少量数据,JWS提供的机制甚至是沙盒应用程序。可以存储和检索信息,也可以将installer-desc元素包含在启动文件中以安装/设置数据库。