欢迎来到天天文库
浏览记录
ID:8920903
大小:25.50 KB
页数:2页
时间:2018-04-12
《java开发桌面应用程序的优劣》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Java开发桌面应用程序的优劣即使在JavaFX出现之前Java已经在桌面领域做出了一些重大的提升,比如Swing中的提升;我们现在也有了很棒的OpenGL;DirectX也有了很大的提升;启动时间也显着提升了。 (中国软件网讯)即使在JavaFX出现之前Java已经在桌面领域做出了一些重大的提升,比如Swing中的提升;我们现在也有了很棒的OpenGL;DirectX也有了很大的提升;启动时间也显着提升了。没错,Java在去年做了很多显着而有效的工作。 然而不得不说的是,除此之外其他的仍是一塌糊涂。比如Javasound实际上并不好用,被遗
2、弃的Java3D又如何呢?最近甚至JOGL也被Sun遗弃,包括很久之前的SwingLab;JAI(用作图片处理)多年未真正升级过,看起来也没有在什么地方得到利用,它迫切需要性能上的巨大提升以适应来临的多核GPU时代所有这些应用于桌面领域的Java产品不是被遗弃就是成为鸡肋。 而且很关键一点是,尽管我们可以用Java创建出桌面应用,但只要我们想开发真正的富桌面应用我们就无法真正使用Java而使用JNI、C/C++和平台依赖的libraries等。 使用Java构建桌面应用更多的是困难和麻烦,比如即便想要在Java应用内创建一个高效的优良的web
3、浏览器都是一件难事。而且没有用Java编写的图片处理应用,没有一个纯粹的Javaweb浏览器,没有数字音频应用,没有3D建模器,没有矢量图形编辑器,没有先进的光栅编辑器。Java今日在桌面端所到达的高度只能满足那些服务器开发者,因为他们只需要在远程服务时使用电脑桌面上的简单界面。 过去我们一直说这是因为Java太慢,无法在一个慢的平台上开发出如此复杂的应用。但我们这样说是错的。原因有两点:一,Java从来就没有慢过,即便有些部分曾经慢过,但没有人怀疑当它需要被用到服务器端时它会迅速地得到提升,比如JITs,GCs等。这一点也正是Java语言卓越
4、的地方。二,由于Java平台的天然特性,Java应用总是第一个利用市场上新硬件和新操作系统的应用。一旦JVM被配置到了一个新系统中,几乎不需要任何编辑和调试,Java应用就可以在上面全速运行。比如你在32位的操作系统上开发了一个应用,它就可以全速运行在Windows7或者Solaris的64位JVM上。所以所谓的Java太慢根本不能成为Java在桌面端碌碌无为的借口。 而且,如果你是一个终端用户,你甚至不需要从网站上重新下载应用,这意味着不仅终端用户和开发者得到了速度提升,甚至应用的执行性能的前边也得到了速度提升。今天,JIT在runtime为
5、本地操作优化代码已经做得很棒了,这意味着你可以挖掘出你运行的硬件的全部的能力,这是一个静态编译语言永远也无法竞争过的性能,只是这个性能如果可以运用到桌面端和游戏领域就好了 我们总是说:由于Sun总是一个服务器端公司的原因,Java在桌面端一直没有真正的机会。而Oracle的收购让这种境况看起来不会有什么改变。希望这不要再继续下去,为了Sun、Oracle和Java自身的利益,Oracle内部的知名人士应该提醒公司来让他们知道:如果缺乏了在桌面端的能力和效率,必将影响Java的普及率甚至它在服务器端的占有率。 我们一直以来习惯着Sun主要提供服
6、务器端服务,因而想象着未来更多的处理能力还是出现在服务器端,而客户端不过是连接服务器的简单服务。这种情况已被证明是绝对错误的。因为未来的桌面应用将服务、应用与硬件所有的运算能力相结合,大量的数据和解码、声音、图像、视频被开发者处理,而且用并行编程的方式来实现,既保证了丰富的性能又保证了速度。对开发者来说,未来的服务既需要他们在客户端处理也需要在服务器端处理:执行复杂的搜索、图像、视频以及虚拟3D环境需要服务器端的技术,而远程服务如医学分析、远程教育和远程会议等则需要客户端能力。 只是令我们感到失望的是历史又一次地重复了,因为至今Java中还没有
7、什么大的动作。 arminEhrenreich在回复中说道:说的好,我完全认同。 确实迫切需要跨平台的桌面应用技术,而且我不认为C++结合Qt是个好的选择。你说阐述的问题之所以没有引起很多的共鸣,我想是文化上的问题。许多Java社区的人们包括Sun内部的负责人无法理解你所说的,所以我断言Oracle也不会对Java做出什么大的改变。 客户端现在基本上被微软和Apple包揽。到Cocoa论坛中会发现他们谈论的是GUI的可用性、响应性、终端户如何处理桌面应用等而我们的论坛呢,大部分人认为应用的未来在服务器端。这就是文化上的差异。 但是桌面技术
8、需要做很多工作,Swing很慢很慢地进化,连同Netbeans平台、Java3D,JOGL等应用勉强成为了桌面端的一个选择。但Sun置此
此文档下载收益归作者所有