怎样运用Java开发桌面软件

admin3年前软件教程131

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代码的能力。

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

相关文章

soul注销后密友会消失吗

soul注销后密友会消失,注销后账号中的一切信息以及业务将会消失。soul注销了密友是知道的。进入对方主页后,页面显示“我暂时离开几天,归期未有期,请君择日再来”,表示对方已注销了账号。2019年6月...

构件的软件开发技术与方法是什么

在信息多元化的时代,计算机逐渐进入我们的生活,使我们的生活发生了翻天覆地的变化。计算机的主要核心就是软件技术,但是软件的开发部门经常会面对开发系统工期短,任务繁重,及缺乏技术性人员等难题,为了解决这些...

拼多多签收多久钱到账

拼多多签收之后马上钱就到账了,但是如果是系统默认确认收货,这个收货时间是15天,海外淘30天,买家延迟收货就加三天。拼多多于2015年9月正式成立时间,它是一家专注于C2B拼团的第三方社交电商平台。用...

拼多多封号是什么意思

拼多多封号的意思是在拼多多因违反拼多多平台的规则受到的最严重惩罚之一,店铺的封店时间不确定,从15天到几十年不等。拼多多是上海寻梦信息技术有限公司于2015年9月上线的一家专注于C2B拼团的第三方社交...

虎牙发的弹幕主播那没显示

虎牙发的弹幕主播那没显示的原因:1、首先,先确认有没有打开弹幕的开关,如果没有就打开。2、然后,如果你已经打开了还没有弹幕的话,可能是你的网络有问题,请刷新一下直播间或者等网速好了,就会一下子涌出很多...

java输出所有偶数的和

Java是一种广泛应用于开发各种类型应用程序的计算机编程语言。如果你需要输出所有偶数的和,可以使用Java编写一个简单的程序。public class SumOfEvenNumbers {public...