声明:JavaEye新闻文章的版权属于JavaEye网站所有,严禁任何网站转载本文,否则必将追究法律责任!
提到Desktop Java,不得不说这是Java开发之痛。从一开始引入JAVA平台的AWT(Abstract Windowing Toolkit)“一次编译,到处调试”给人留下了很糟糕的印象;在Java1.2加入的Swing后,虽然解决了AWT中的很多问题,但似乎也没让人对其产生多少好感,而且普遍认为Swing的速度慢,开发效率低下。
不过最近几年SUN又开始大力支持Desktop Java的发展,从Java6中加入诸多Desktop Java新特性,以及对Swing性能有了很大的提高;并且特别针对Desktop Java创造了一个新的语言JavaFX……
这一切,是否能改变Desktop Java的命运呢?
最近,《Thinging in Java》的作者 Bruce Eckel 在其博客上发表了一篇题为:Does Anyone Really Care About Desktop Java? 文章。他认为,Desktop Java从设计之初到现在一直走在错误的路线上:
此文发出后,在论坛上引起强烈的反响。支持者不少,强烈反对的也很多。你是否认同他的观点呢?
不过最近几年SUN又开始大力支持Desktop Java的发展,从Java6中加入诸多Desktop Java新特性,以及对Swing性能有了很大的提高;并且特别针对Desktop Java创造了一个新的语言JavaFX……
这一切,是否能改变Desktop Java的命运呢?
最近,《Thinging in Java》的作者 Bruce Eckel 在其博客上发表了一篇题为:Does Anyone Really Care About Desktop Java? 文章。他认为,Desktop Java从设计之初到现在一直走在错误的路线上:
引用
The history of Java UI is littered with disastrous decisions, starting with the AWT (Abstract Windowing Toolkit), which was created at the last second, because (no surprise) the language designers hadn't considered UI as an important paradigm for Java. Rumor has it that AWT was one month from conception to completion, which certainly fits. The results of AWT -- buggy and equally mediocre on all platforms -- destroyed everyone's faith in Java UI, for so long that Swing, which has been baking for years and years, is only just getting back some of the lost mojo. Users, who have a long memory of first impressions, still equate Java with crappy user interfaces, so to them the steaming coffee cup looks like something else that steams.
此文发出后,在论坛上引起强烈的反响。支持者不少,强烈反对的也很多。你是否认同他的观点呢?
来自:http://www.artima.com


评论 共 48 条 发表评论
xuyao 2008-08-25 10:02
eserver220 2008-08-20 16:30
Java作为排名第一编程语言,会有大量的潜在程序员会使用JAVA的桌面开发。
还有一个原因是目前BORLAND的退出IDE市场。微软阵营的开发如果采用VC++,
会面临 MFC/.NET 2.0/.NET3.0 等多个API。其实,采用微软VC++进行桌面
开发的最大障碍就是目前其技术变化太快。
而J2SE吸引人的地方除了其本身外,支持J2EE/J2ME的广阔市场,也是
目前JAVA就业培训班“火”的原因。
evancess 2008-08-16 11:01
servlet 2008-08-08 16:29
试问如果一个类,有2M或3M。那有多少行。
fxbird 2008-07-27 14:05
icewubin 2008-07-24 22:51
这仅仅说明Java缺少一个较好的UI库,仅此而已吧,JavaFX也是为了解决这个问题的。例如Swing没有坐标的概念,做动画就非常困难,用JavaFX就很简单了。JavaFX也可以做桌面应用的。
codekook 2008-07-24 22:29
一些界面模型也抽象的不够好,比如treetable,官方的例子,几乎是用一种hack的方式实现的。最近在看了一下Qt的编程模型,跟java很相似,也借鉴了一些java的概念,但确实比java专业多了
Allen 2008-07-24 22:28
现在大家似乎都觉得是时候恢复桌面应用的光辉岁月了,但是桌面应用到底会以怎样的面目回归,却没人有把握断定。
鹤惊昆仑 2008-07-24 13:21
Eastsun 2008-07-24 12:59
他认为该文属于“标题党”,是为了吸引眼球增加网站的点击量从而提高网站的广告收益。
看来,外国也有“标题党”一说,不过貌似没有像中国一样有个专有名词来形容。
icewubin 2008-07-24 09:22
还有个大问题就是,安全性,SL目前还没暴出什么漏洞,但是只要SLR暴出漏洞,SL逃也逃不掉。现在Flash病毒已经开始满天飞了,如果Adobe应对不力,一般客户封杀flash,形势马上就会对Adobe极为不利。
icewubin 2008-07-24 09:18
去除linux,在windows平台,应该
sl>flex>javafx
当年的applet就是一个例子
以目前的下载量,结合当年(2000年)的网速来看,SL和Flex在当年推出都是一个下场。
supercode 2008-07-24 09:14
去除linux,在windows平台,应该
sl>flex>javafx
当年的applet就是一个例子
geminiyellow 2008-07-24 08:44
chanball 2008-07-23 23:57
cph8066 2008-07-23 23:48
icewubin 2008-07-23 22:17
4.硬件加速的支持,引进了一个完整的基于微软的Direct3D 9 api的硬件加速图形通道(hardware accelerated graphics pipeline),使得swing应用添加了半透明,不规则图形等特性和其他先进的2d特性。
个人认为这个很强,如果能加快3D的硬件调用,就暴强了。
caoyi1983 2008-07-23 21:59
1.增强的java安装体验,用户不必下载完整的jre,只需要下载一个内核就可以满足大部分applet/application的需要。其他需要的类库可以由内核在用到的时候再下载。这种安装机制使用户启动和运行java应用的速度显著提高。
2.jre的更新也变得更快、更可靠,更新的版本将不再在Windows的“添加或删除程序”中被列为单独项目。
3.快速启动,在启动计算机时将预先把jre的一部分缓存到内存中,可以很大的提高jre的启动速度。
4.硬件加速的支持,引进了一个完整的基于微软的Direct3D 9 api的硬件加速图形通道(hardware accelerated graphics pipeline),使得swing应用添加了半透明,不规则图形等特性和其他先进的2d特性。
5.一个新的跨平台的外观(lookandfeel),代号为nimbus。对'Metal' 和'Ocean'外观进行了更新。
6.下一代Java插件,改进了java插件的可靠性,并对applet提供长期的支持,能够指定java堆的大小,能够选择为特定的applet选择不同版本的jre。改进与javascript的互操作性,在vista上更好的支持applet的签名。
7.统一的浏览器和桌面体验,新的可拖动的功能,你可以从浏览器拖动applet到你的桌面上,同时程序继续运行。同时拖动会创建一个快捷方式,快捷方式依赖Java Web Start技术运行,并允许用户不打开浏览器来运行applet。
香克斯 2008-07-23 21:22
足够简单强大跨平台
sp42 2008-07-23 19:35
只有ajax是非营利性组织的技术,
好处是 十年 才更新一次 ,不用老绕着大款转啊