怎样运用Java开发桌面软件

admin3年前软件教程90

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

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

相关文章

拼多多销量多久清一次

拼多多销量一般是一个月清一次,靠销量累计。拼多多是团购电商,也就是等发起拼团人齐之后才会发货。也就是说只要有人不停的拼单成功,拼多多的总销量会一直累计,且不会清零。它的产品销量会显示在产品图的右下方。...

钉钉电脑和手机消息不同步

钉钉电脑和手机消息不同步的解决方法:1、退出钉钉,重新登录看下。2、切换网络,刷新页面看下。3、检查钉钉是否最新版本,升级版本或考虑卸载重装看下。4、若按以上步骤操作都不行,可在手机钉钉点此提交,选择...

拼多多发电话号码算导流吗

拼多多发电话号码不算导流,导流是指说微信号支付宝账号这些有同行竞争性质的东西,是不允许的且会被判定违规,影响严重的会扣保证金封店。拼多多是上海寻梦信息技术有限公司于2015年9月上线的一家专注于C2B...

oracle 10g for mac

Oracle 10g是一款非常优秀的数据库管理软件,虽然其功能强大、性能稳定,但一直以来,Oracle 10g都因为无法在Mac平台上运行而被Mac用户所遗忘。直到最近,Oracle 10g for...

拼多多7天退货运费是谁出

以拼多多v5.28.0为例,拼多多7天退货运费是买家出,消费者在拼多多购物后,在签收货物后7天内,如因主观原因要求退换货,可以提出7天无理由退换货的申请(部分商品及类目除外),并且买家退货的商品不可影...

美团会员尊享版是什么

美团会员尊享版是APP为美团外卖会员尊享专属客户端,可享受美团外卖特权、下单优惠折扣、下单配送福利等功能,外卖种类齐全,服务优质贴心,让你足不出户轻松订外卖。美团网是2010年3月4日成立的团购网站,...