怎样运用Java开发桌面软件

admin3年前软件教程70

Java对于服务器,个人电脑和移动设备来说是一项伟大的技术。由于需要java的跨平台的特性,因此java在服务器和移动设备方面的应用是非常成功的。但java在个人电脑应用方面的情况和在服务器及移动设备方面的应用有所不同,但是这很快就会有所改变,至少比你想象得要快。

即使在JavaFX出现之前Java已经在桌面软件领域做出了一些重大的提升,比如Swing中的提升;我们现在也有了很棒的OpenGL;DirectX也有了很大的提升;启动时间也显着提升了。没错,Java在去年做了很多显着而有效的工作。

然而不得不说的是,除此之外其他的仍是一塌糊涂。比如Java sound实际上并不好用,被遗弃的Java3D又如何呢?最近甚至JOGL也被Sun遗弃,包括很久之前的SwingLab;JAI(用作图片处理)多年未真正升级过,看起来也没有在什么地方得到利用,它迫切需要性能上的巨大提升以适应来临的多核GPU时代所有这些应用于桌面软件领域的Java产品不是被遗弃就是成为鸡肋。

而且很关键一点是,尽管我们可以用Java创建出桌面应用,但只要我们想开发真正的富桌面软件应用我们就无法真正使用Java而使用JNI、C/C++和平台依赖的libraries等。

使用Java构建桌面应用更多的是困难和麻烦,比如即便想要在Java应用内创建一个高效的优良的web浏览器都是一件难事。而且没有用Java编写的图片处理应用,没有一个纯粹的Java web浏览器,没有数字音频应用,没有3D建模器,没有矢量图形编辑器,没有先进的光栅编辑器。Java今日在桌面端所到达的高度只能满足那些服务器开发者,因为他们只需要在远程服务时使用电脑桌面上的简单界面。

过去我们一直说这是因为Java太慢,无法在一个慢的平台上开发出如此复杂的应用。但我们这样说是错的。原因有两点:一,Java从来就没有慢过,即便有些部分曾经慢过,但没有人怀疑当它需要被用到服务器端时它会迅速地得到提升,比如JITs,GCs等。这一点也正是Java语言卓越的地方。二,由于Java平台的天然特性,Java应用总是第一个利用市场上新硬件和新操作系统的应用。一旦JVM被配置到了一个新系统中,几乎不需要任何编辑和调试,Java应用就可以在上面全速运行。比如你在32位的操作系统上开发了一个应用,它就可以全速运行在Windows 7 或者Solaris的64位JVM上。所以所谓的Java太慢根本不能成为Java在桌面软件端碌碌无为的借口。

而且,如果你是一个终端用户,你甚至不需要从网站上重新下载应用,这意味着不仅终端用户和开发者得到了速度提升,甚至应用的执行性能的前边也得到了速度提升。今天,JIT在runtime为本地操作优化代码已经做得很棒了,这意味着你可以挖掘出你运行的硬件的全部的能力,这是一个静态编译语言永远也无法竞争过的性能,只是这个性能如果可以运用到桌面端和游戏领域就好了

我们总是说:由于Sun总是一个服务器端公司的原因,Java在桌面端一直没有真正的机会。而Oracle的收购让这种境况看起来不会有什么改变。希望这不要再继续下去,为了Sun、Oracle和Java自身的利益,Oracle内部的知名人士应该提醒公司来让他们知道:如果缺乏了在桌面端的能力和效率,必将影响Java的普及率甚至它在服务器端的占有率。

我们一直以来习惯着Sun主要提供服务器端服务,因而想象着未来更多的处理能力还是出现在服务器端,而客户端不过是连接服务器的简单服务。这种情况已被证明是绝对错误的。因为未来的桌面应用将服务、应用与硬件所有的运算能力相结合,大量的数据和解码、声音、图像、视频被开发者处理,而且用并行编程的方式来实现,既保证了丰富的性能又保证了速度。对开发者来说,未来的服务既需要他们在客户端处理也需要在服务器端处理:执行复杂的搜索、图像、视频以及虚拟3D环境需要服务器端的技术,而远程服务如医学分析、远程教育和远程会议等则需要客户端能力。

Java作为一种网络技术,为了在浏览器中能够运行小应用程序而发布,但是它从开始就有运行独立的桌面软件程序的能力。不幸的是,AWT没有提供足够的桌面端的程序所需的特性。Swing着手于解决这些问题,但是它有不少的bug。今天,Java有构建大型桌面端应用程序的能力并修复了bug。Java独有的优点是“只写一次,到处运行“??在Windows, Linux, Mac和其它操作系统上运行Java代码的能力。

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

如何判断好的APP开发公司

大家都知道,如果想要更好的开发好APP,那么就需要选择一个专业的APP开发公司,这帮助非常大,那么到底如何判断好的APP开发公司?为您列举几个要点:1.详细了解APP开发公司以往的案例数量及难度系数,...

怎么用闲鱼第三方鉴定

用闲鱼第三方鉴定的操作方法为:1、首先打开闲鱼APP。  2、然后点击我的。  3、再点击客服中心。  4、然后点击联系客小蜜。 5、最后输入平台鉴定,即可获得官方给出的平台鉴定操作流程。 闲鱼是阿里...

小红书在哪看直播

以小红书6.64.2版本为例,小红书看直播的方法是:1、首先点击打开小红书。 2、在首页顶部搜索框输入“小红书直播”,然后点击搜索。 3、点击“去看看”。 4、找到并点击正在直播的直播间。 5、进入后...

钉钉私聊老师能看到吗

钉钉私聊老师不能看见。钉钉将所有用户的个人信息做到最大化的保障,对用户账户信息绝对保密,因此私聊老师是不会看见的。钉钉(DingTalk)是阿里巴巴集团专为中国企业打造的免费沟通和协同的多端平台,提供...

家政类App开发有哪些的功能特点

家政类App开发面对的是一个庞大的需求市场,随着人们生活水平的提升,更愿意花费一定的费用去请专业的服务人员为自己提供服务,而不愿意自己动手。家政服务更是如此,很多的用户都不想自己做家务,搞清洁等方便的...

12306的账号一般是什么

12306账户是指在12306铁道部火车票客户服务中心注册的账号,需要实名认证,从2015年11月10日开始,12306新用户注册,需要进行手机双向验证。中国铁路客户服务中心(12306.cn)是铁路...