- 浏览: 125797 次
最近访客 更多访客>>
最新评论
-
mellen:
设计 是把现实中的 系统,通过抽象的 方式 进行模拟化,并进行 ...
有了OO、分层、DI、AOP、TDD和Refector,DDD不再是空谈 -
wxq594808632:
rehte 写道lgx522 写道5:这点赞同。虽然庞大是由于 ...
借JavaFX之风,Swing终于熬到了出头之日 -
xjlnjut730:
支持Swing,也支持JavaFx,虽然有点奢求,不过还真是希 ...
借JavaFX之风,Swing终于熬到了出头之日 -
kjj:
罗宾汉 写道
大访问量系统的可扩展性问题主要取决于软件的架构, ...
Spring性能小测,参其它技术 -
murainwood:
回复里有很多的精华。
Spring性能小测,参其它技术
前几天看了点新闻,一是说JavaFX1.0的推出,二是是说Sun停止了对SwingX的资助,由此激怒了社区。
由此一些人推论Sun已经全力押宝JavaFX,Swing将沦为鸡肋。而后Sun的高管自然出面表态,Swing和JavaFX两手都要硬。
由于本人一直从事企业信息系统的管理和研发,平日对Swing还是多有涉猎,看到这些传闻不免要探个究竟。其实最近忙于管理工作,技术上已多日不熟了。于是下载了NetBeans6.5 JavaFX版,顺便装了个JDK1.6 update11,这一试却是大获惊喜,同时对Sun的JavaFX策略深感怀疑。
惊喜在于经过多年的等待和失望,Swing居然真正快了起来,启动速度几乎提高了一倍以上。这对于Swing的爱好者们无异打了一针鸡血!老实说,Swing一直以来是设计精品、性能垃圾,从Applet时代开始,大家就一直是恨铁不成钢,期待了很多年了,直到期待到绝望。以至于本人怀疑Swing的性能也“只能如此了”。于是大家才会去折腾设计上莫名其妙的Swt,才会毅然决然地把Applet扔到一边,硬啃代码丑陋的Flex。经过多年的批判,很多初学者早已习惯把“Swing很烂”当做公理。其实经过多年发展和实践,Swing的架构设计是超优秀,跨平台也是目前最完善的,“慢”才是Swing的真正硬伤。可惜Sun一直对这个问题视而不见,才导致了这种明珠暗藏的局面。
也许Sun还是要靠买高端的服务器挣钱吧,所以从来对“慢”这个问题相当麻木。以至于众多从Java时代成长起来的程序员已经逐渐习惯了“慢”,甚至找出各种借口说“慢”已经不是问题。结果如何呢,EJB渐成笑柄,而Swing这种超经典GUI(除MS的各大系统级厂商由于要跨平台,故Swing是GUI首选)总是令人不满,根本性的问题其实还是“慢”,这甚至让爱好者都难于启齿。与之相对的是,MS恰恰是最重视“ 快、慢”问题的,君不见Windows的GUI就是快,MS的软件上手也是快,随之是滚滚而来的钞票。等Vista一“慢”,连MS都不好使了,大家不买帐了。所以对于用户而言,“使用快”永远是个硬道理。其实对于程序员而言,“开发快”也永远是个硬道理,只不过在这方面是相对的,面对不同规模和生命周期的系统,各种技术是难有定论的。几经折腾,笔者还是坚守中庸主义的Java。
这几年RIA之风日渐疯狂,人们早起习惯大谈Flex、 Ajax,甚至新出炉的SliverLight,全然忘记了Java起家时的Applet在十多年前早已是RIA的先行者。作为后起之秀的Flex强在哪里,其实最主要是“快”,运行快、安装快、开发快。或许迟钝的Sun终于感到了耻辱,才开始下决心解决这个“慢”的问题。NetBeans的GUI设计器算是解决了开发“慢”的问题,更重要的是JRE update10之后终于可以让爱好者享受一下不输于winform和swt的速度感了。以Swing经典的架构设计、完善的跨平台特性,优秀的可扩展性,笔者实在找不到不用Swing的理由了。以现在而论,针对Internet的JavaFX尚不完善(连NetBeans都不能可视化设计,且标记化的语言实在是够乱的),大家不必胡乱跟风。但企业应用则可以好好考虑一下JApplet或者Swing Application,与其死磕乱糟糟的JS和Flex(对于习惯了Java的程序员来说),不如享受一下All in Java的乐趣。
我觉得你才是笑话,北美有不少Applet做的在线3D游戏,在线人数几十万,都能盈利。Flash试试看。
Java2D性能要远超Flash。这是有人宁愿用Applet不用Flex的一个主要原因
就你啊,被我找到了。离开sun之后干嘛去了呢兄弟?
嘿嘿。这里JavaEye以前的域名是Hibernate.cn,所以这里讨论Swing是很少的
以前经常上你的Blog看看,但是现在不做Swing这些东西了。有空聊
良好、精华无所谓,认真回帖讨论问题已经够给面子了,谢过。
1、布署当然是个大原因,不过这是在用户层面了,但也并非绝对。Flash不也没有预装吗?可现在上网半数以上的Windows还不是可以跑Flash。下载快、运行快、效果酷啊。JRE如果沿此正确策略,达到这种效果也是可能的,那么多Java小游戏,都放到Applet上,用户量会上去的。关键还是要本身够强。
以个人体会,过去Swing/JApplet不叫座,主要还是连开发者自己都难以认同的慢速度,始作俑者底气都不足,接下来MS轻轻一挡就退下去了。当年MS还想劫持Java呢,设想如果Sun招安了,也就不会有.NET,那如今半个编程世界就都是Java了。
2、这两年还都是搞动态语言去了,PHP、Ruby甚至Python都有涉猎,PHP和Ruby都还有实践的系统。为什么会转回Java,主要还是觉得Java够成熟,够放心。静态语言用久了,大家都有很多不满;但动态语言也有它们的问题,大家多用用就清楚了。其实这两大体系,字面上就已经指明了适用范围。一方适用在“静”的系统,一方适用在“动”的系统。本人身在需要长治久安的企业领域,坚守“静态”的Java其实是必然的。
Java从设计角度来看最大的优点,在于高度的标准化和兼容性,可以大规模长期持续扩展。所以最近斗胆提倡企业应用“All in Java”这样的理念,不是有意挑衅,乃是有感于当前企业应用的混乱局面而发,并给国内Java界貌似低迷沉闷的同道们鼓鼓气。
有一点很同意楼主,就是Java的成熟和稳定,这是无可厚非的。
有一点我不同意,就是Flash没有集成进Windows,也很流行。
在以前Sun没有Flash这样的技术,或是说没有能和Flash相竞争的技术。Applet只是RIA的雏形。
Sun当今推出了JavaFX平台,官方的解释说是对RIA的一种回应。很明显,主要针对的Flash,当然也包括MS。
Flash的运行环境是多少?以前的Java运行时环境是多少? Java以前可以像Flash那样做吗?很明显,不能!
当然Sun做出了很多的努力改变了以前的状态,特别是jre6 upda10
运行速度Sun一直在努力,都论在服务器端还是客户端都有了长足的进步。
速度不是阻止应用普及的最大阻力,Linux市场也没有Windows Vista多。Vista is very poor是被公认的。
有一点不太同意,如果M$以前一直支持Java的话,那么以M$的做事风格,会产生出两种不兼容的Java,并且M$那个只能在Windows上运行。
你说的是MS以前的J#。后来被Sun告了
我说的是MS的Window支持不支持Java是指其的运行环境。请了解。
由此一些人推论Sun已经全力押宝JavaFX,Swing将沦为鸡肋。而后Sun的高管自然出面表态,Swing和JavaFX两手都要硬。
由于本人一直从事企业信息系统的管理和研发,平日对Swing还是多有涉猎,看到这些传闻不免要探个究竟。其实最近忙于管理工作,技术上已多日不熟了。于是下载了NetBeans6.5 JavaFX版,顺便装了个JDK1.6 update11,这一试却是大获惊喜,同时对Sun的JavaFX策略深感怀疑。
惊喜在于经过多年的等待和失望,Swing居然真正快了起来,启动速度几乎提高了一倍以上。这对于Swing的爱好者们无异打了一针鸡血!老实说,Swing一直以来是设计精品、性能垃圾,从Applet时代开始,大家就一直是恨铁不成钢,期待了很多年了,直到期待到绝望。以至于本人怀疑Swing的性能也“只能如此了”。于是大家才会去折腾设计上莫名其妙的Swt,才会毅然决然地把Applet扔到一边,硬啃代码丑陋的Flex。经过多年的批判,很多初学者早已习惯把“Swing很烂”当做公理。其实经过多年发展和实践,Swing的架构设计是超优秀,跨平台也是目前最完善的,“慢”才是Swing的真正硬伤。可惜Sun一直对这个问题视而不见,才导致了这种明珠暗藏的局面。
也许Sun还是要靠买高端的服务器挣钱吧,所以从来对“慢”这个问题相当麻木。以至于众多从Java时代成长起来的程序员已经逐渐习惯了“慢”,甚至找出各种借口说“慢”已经不是问题。结果如何呢,EJB渐成笑柄,而Swing这种超经典GUI(除MS的各大系统级厂商由于要跨平台,故Swing是GUI首选)总是令人不满,根本性的问题其实还是“慢”,这甚至让爱好者都难于启齿。与之相对的是,MS恰恰是最重视“ 快、慢”问题的,君不见Windows的GUI就是快,MS的软件上手也是快,随之是滚滚而来的钞票。等Vista一“慢”,连MS都不好使了,大家不买帐了。所以对于用户而言,“使用快”永远是个硬道理。其实对于程序员而言,“开发快”也永远是个硬道理,只不过在这方面是相对的,面对不同规模和生命周期的系统,各种技术是难有定论的。几经折腾,笔者还是坚守中庸主义的Java。
这几年RIA之风日渐疯狂,人们早起习惯大谈Flex、 Ajax,甚至新出炉的SliverLight,全然忘记了Java起家时的Applet在十多年前早已是RIA的先行者。作为后起之秀的Flex强在哪里,其实最主要是“快”,运行快、安装快、开发快。或许迟钝的Sun终于感到了耻辱,才开始下决心解决这个“慢”的问题。NetBeans的GUI设计器算是解决了开发“慢”的问题,更重要的是JRE update10之后终于可以让爱好者享受一下不输于winform和swt的速度感了。以Swing经典的架构设计、完善的跨平台特性,优秀的可扩展性,笔者实在找不到不用Swing的理由了。以现在而论,针对Internet的JavaFX尚不完善(连NetBeans都不能可视化设计,且标记化的语言实在是够乱的),大家不必胡乱跟风。但企业应用则可以好好考虑一下JApplet或者Swing Application,与其死磕乱糟糟的JS和Flex(对于习惯了Java的程序员来说),不如享受一下All in Java的乐趣。
评论
85 楼
windywany
2008-12-30
由JAVA转作PHP,再写JAVA,还是那么亲切!
84 楼
hoorace
2008-12-27
现在还是感觉flex的组件不够成熟,而且个人速度也不是很快,它解决的问题只是jre过大而已,正在快的还是用javascript写出的网页。所以我个人认为google的选择是对的。
83 楼
efanstudio
2008-12-27
其实swing是很优秀的架构了,只不过刚开始上手比较难一点(以前的版本+开发工具),所以导致很多人望而生畏而已。另外严重同意楼主对applet的看法,真是可惜啊,这么好的东西,居然被那个语法莫名其妙的JavaScript打得几乎没有立足之地了(针对国内而言)……
82 楼
shiren1118
2008-12-27
希望大家看看groovy的swingbuilder
真的很简单
真的很简单
81 楼
java.lang.Object
2008-12-27
我也很喜欢SWING,看到楼主的文章很高兴,哈哈,希望中国希望SWING的人慢慢多起来
80 楼
creasure
2008-12-26
rehte真是大牛
79 楼
steeven
2008-12-26
偶也玩swing很久了,几个龌龊的地方:
1. 布局,自带的几个丑陋家伙很难让人上手。NB最后也另外自带布局。
2. 颜色,灰不拉几的一辈子了,谁看了都觉得土
3. java.awt, javax.swing然人迷糊,感觉就是个阑尾
4. applet,本来也不难,如果能直接运行并且不需要签名就更爽了。
5. 另外,jre庞大的身躯也让人望而生畏,如果所有lib能像ubuntu的apt一样根据需要下载会更好。
sun一直在想各种idea, 但是总不提供一个好用的基本实现。你能想想在医院看病,但是要到别的地方手术吗?
1. 布局,自带的几个丑陋家伙很难让人上手。NB最后也另外自带布局。
2. 颜色,灰不拉几的一辈子了,谁看了都觉得土
3. java.awt, javax.swing然人迷糊,感觉就是个阑尾
4. applet,本来也不难,如果能直接运行并且不需要签名就更爽了。
5. 另外,jre庞大的身躯也让人望而生畏,如果所有lib能像ubuntu的apt一样根据需要下载会更好。
sun一直在想各种idea, 但是总不提供一个好用的基本实现。你能想想在医院看病,但是要到别的地方手术吗?
78 楼
ruilei05
2008-12-26
java6后 的确让Swing强大了不少。支持Swing
77 楼
aotori
2008-12-24
一直都很喜欢Swing,但很少有用到,不知道进程中增加的那个jqs能不真的可以带来起色呢?
76 楼
icewubin
2008-12-24
meatloaf 写道
Applet是个大笑话,我一直很奇怪,以SUN的技术能力,竟然就是做不出一个和FLASH一样稳定的浏览器插件。
我觉得你才是笑话,北美有不少Applet做的在线3D游戏,在线人数几十万,都能盈利。Flash试试看。
75 楼
javagui
2008-12-24
rainsilence 写道
......再多跑几年可能都比不上flex的图形运算速度。
Java2D性能要远超Flash。这是有人宁愿用Applet不用Flex的一个主要原因
74 楼
meatloaf
2008-12-23
Applet是个大笑话,我一直很奇怪,以SUN的技术能力,竟然就是做不出一个和FLASH一样稳定的浏览器插件。
06年的时候,部门需要做一个WEB上的流程图可视化工具,选型的时候咨询我,我选择了Applet,很多小朋友反对,但我坚持了,后来那个后悔啊。没办法,后来我用dojo的gfx把这个流程图形引擎重写了,20000多行js代码啊,没什么好说的,效果好多了。
Applet加载那个慢,问题那个多,老是有用户反应无法使用系统。
Swing是非常好的技术,Javafx更棒,不过我觉得Sun如果还不彻底改进Applet的话,Applet将是Javafx推广最大的障碍。
另外,单纯考虑技术的话,希望大家不要纠缠Applet了,就当他不存在。我觉得WebStart是非常不错的技术。
WebStart目前也是Swing在企业应用中的主流,Web Start搭配JavaFx,一点也不慢的。
另外,Swing是非常棒的UI框架,那就是一个UI框架模式的集中营,非常之经典。VCL相对于MFC是一个大进步,Swing相对于VCL又是一个大进步。
以我从业的经历看,当年很多用vb/pb/delphi开发的桌面企业应用,很多份额都是swing的了,不过swing桌面企业应用的寿命太短暂,很快就被B/S应用替代了。swing桌面企业应用在02~03年的时候,一度在国内挺火的,可惜就只有一年多的时间。
06年的时候,部门需要做一个WEB上的流程图可视化工具,选型的时候咨询我,我选择了Applet,很多小朋友反对,但我坚持了,后来那个后悔啊。没办法,后来我用dojo的gfx把这个流程图形引擎重写了,20000多行js代码啊,没什么好说的,效果好多了。
Applet加载那个慢,问题那个多,老是有用户反应无法使用系统。
Swing是非常好的技术,Javafx更棒,不过我觉得Sun如果还不彻底改进Applet的话,Applet将是Javafx推广最大的障碍。
另外,单纯考虑技术的话,希望大家不要纠缠Applet了,就当他不存在。我觉得WebStart是非常不错的技术。
WebStart目前也是Swing在企业应用中的主流,Web Start搭配JavaFx,一点也不慢的。
另外,Swing是非常棒的UI框架,那就是一个UI框架模式的集中营,非常之经典。VCL相对于MFC是一个大进步,Swing相对于VCL又是一个大进步。
以我从业的经历看,当年很多用vb/pb/delphi开发的桌面企业应用,很多份额都是swing的了,不过swing桌面企业应用的寿命太短暂,很快就被B/S应用替代了。swing桌面企业应用在02~03年的时候,一度在国内挺火的,可惜就只有一年多的时间。
73 楼
centgo
2008-12-23
java的特长在于服务端,flex特长在于桌面。这有点像linux和windows,当然linux也想在桌面上争得一席之地,确实也有了一席之地,现实是桌面系统的霸主是windows。虽然现在还不敢说flex就是做桌面开发的霸主,但他有那个潜质,并且已经有半个屁股靠近了霸主地位。
All in java需要java有那个银弹的能力,至少我认为他在桌面开发上还是有所欠缺。
个人认为java与flex结合开发RIA系统最值的推荐。
All in java需要java有那个银弹的能力,至少我认为他在桌面开发上还是有所欠缺。
个人认为java与flex结合开发RIA系统最值的推荐。
72 楼
rainsilence
2008-12-22
我非常理解lz的想法。但是光是运行在没有运行环境的机器上这一点。javafx就落后flex不止一点
我装了最新的jdk,运行官方网站上的demo,先是等了好久,我在日本,网速是adsl的10倍。然后问我要不要装最新的jre...
罢了,我装好了,看了demo,关闭页面,再开同样的页面,他又报要不要装jre.......
而且每开一个新页面都会报:***要运行吗?不要烦死了阿。而且还有一个demo叫applet的回归。就是运行了以后,可以直接从网页里拖动到桌面。哈哈,真是一大败笔阿。安全性怎么办?本来是限制在网页里的东西,现在能够运行在桌面上了。本来applet的砂箱机制就是可以破解的。现在。。。
而且这个javafx的速度真是。。。。再多跑几年可能都比不上flex的图形运算速度。
我装了最新的jdk,运行官方网站上的demo,先是等了好久,我在日本,网速是adsl的10倍。然后问我要不要装最新的jre...
罢了,我装好了,看了demo,关闭页面,再开同样的页面,他又报要不要装jre.......
而且每开一个新页面都会报:***要运行吗?不要烦死了阿。而且还有一个demo叫applet的回归。就是运行了以后,可以直接从网页里拖动到桌面。哈哈,真是一大败笔阿。安全性怎么办?本来是限制在网页里的东西,现在能够运行在桌面上了。本来applet的砂箱机制就是可以破解的。现在。。。
而且这个javafx的速度真是。。。。再多跑几年可能都比不上flex的图形运算速度。
71 楼
raojl
2008-12-22
sun一直处于搞JB科研状态,走中国社会主义经济路线迟早得吃亏!
70 楼
cyberblue
2008-12-22
我用Core2 Duo 3.0,没感觉Swing慢。
69 楼
laiseeme
2008-12-22
桌面开发什么时候出头了 可能还能时兴一阵子
68 楼
cddcdd
2008-12-22
rehte 写道
本人多年来一直力挺Swing,死不悔改,至今仍想为Swing的普及做努力,我为Ecipse平台开发了一款类似于NetBeans界面设计工具的插件,虽然目前稳定和质量上不是太好,但是功能上已经相当好用了,可以用来替换VE了,这款工具在:
http://code.google.com/p/visualswing4eclipse/
我在JavaEye写了一篇文章介绍:
http://www.iteye.com/topic/208787
在EclipseZone也写了篇文章介绍:
http://eclipse.dzone.com/announcements/visual-swing-designer-eclipse
都获得不少好评。
另外现在的Swing绝对不是你想象丑、慢、功能弱,真是和开发者对于Swing的掌握程度有关,我写过一些博客介绍Swing技术,虽然已经很长时间不更新了,但是我觉得有助于消除大家对于Swing的偏见:
http://blog.sina.com.cn/swingjava
http://blogs.sun.com/swing
但是可惜的是,很少Java开发者关注使用Swing开发,尤其是国内,尽管现在的Swing的已经今非昔比了,这真是让人心寒。
希望大家回头看一下现在的Swing,尤其是Java 6 Update 10之后的Swing,配合NetBeans的界面设计工具,或者Eclispe上的界面设计工具(包括我的),看一看,给Swing和Applet技术再一次的机会,绝对会让你惊喜的。
http://code.google.com/p/visualswing4eclipse/
我在JavaEye写了一篇文章介绍:
http://www.iteye.com/topic/208787
在EclipseZone也写了篇文章介绍:
http://eclipse.dzone.com/announcements/visual-swing-designer-eclipse
都获得不少好评。
另外现在的Swing绝对不是你想象丑、慢、功能弱,真是和开发者对于Swing的掌握程度有关,我写过一些博客介绍Swing技术,虽然已经很长时间不更新了,但是我觉得有助于消除大家对于Swing的偏见:
http://blog.sina.com.cn/swingjava
http://blogs.sun.com/swing
但是可惜的是,很少Java开发者关注使用Swing开发,尤其是国内,尽管现在的Swing的已经今非昔比了,这真是让人心寒。
希望大家回头看一下现在的Swing,尤其是Java 6 Update 10之后的Swing,配合NetBeans的界面设计工具,或者Eclispe上的界面设计工具(包括我的),看一看,给Swing和Applet技术再一次的机会,绝对会让你惊喜的。
就你啊,被我找到了。离开sun之后干嘛去了呢兄弟?
嘿嘿。这里JavaEye以前的域名是Hibernate.cn,所以这里讨论Swing是很少的
以前经常上你的Blog看看,但是现在不做Swing这些东西了。有空聊
67 楼
sunnymoon
2008-12-22
lgx522 写道
sunnymoon 写道
我给楼主的帖子加精了,但是完整的看过之后真的后悔了。最多只能给个良好。
1.
Swing的设计优秀很同意楼主的观点,但是没有流行恐怕不是一个慢字可以概括。
最跟本原因是Sun主导的Swing缺少对终端设备使用的感观。比速度更致命的是默认界面丑陋。也许你会说,我不是一个好的设计者。但是我会说在相同的工程量下,Swing表现的确实很一般。这一点也不是最主要的,热爱Java的人很多不会因为这一点原因被打败。但大的阻碍是Windows默认不支持Java。这损失了几乎所以的终端用户,当然企业用户是不在乎这一点的。Windows在世界的垄断阴挡了Java Swing在终端设备产品上的应用。如果MS真的以前错误的完全支持Java,那估计也没有今天.net的什么事儿了。
2.
些外Java标准的优秀的静态语言。和动态语言比很不高效。这什么Ruby这么流行呢?
Sun想改变这种现状。可能楼主是静态语言用久了,或是对动态语言不够了解。
难了不会,会了不难。因为不够熟悉才会觉得很“乱”。如果和C相比谁更乱呢请问。又有几个人说C很乱呢?
3.
最后,在我的实践和观察中总结出,Java Swing 在终端产品中不是很流行的最大原因是系统默认不支持它,或是不完全支持它。每一个系统的发行者都不会主动的去支持Java或是完全支持,如果苹果,支持Java不是技术问题,比如Windos vista,
再比如Windos 7,再比如 ......
1.
Swing的设计优秀很同意楼主的观点,但是没有流行恐怕不是一个慢字可以概括。
最跟本原因是Sun主导的Swing缺少对终端设备使用的感观。比速度更致命的是默认界面丑陋。也许你会说,我不是一个好的设计者。但是我会说在相同的工程量下,Swing表现的确实很一般。这一点也不是最主要的,热爱Java的人很多不会因为这一点原因被打败。但大的阻碍是Windows默认不支持Java。这损失了几乎所以的终端用户,当然企业用户是不在乎这一点的。Windows在世界的垄断阴挡了Java Swing在终端设备产品上的应用。如果MS真的以前错误的完全支持Java,那估计也没有今天.net的什么事儿了。
2.
些外Java标准的优秀的静态语言。和动态语言比很不高效。这什么Ruby这么流行呢?
Sun想改变这种现状。可能楼主是静态语言用久了,或是对动态语言不够了解。
难了不会,会了不难。因为不够熟悉才会觉得很“乱”。如果和C相比谁更乱呢请问。又有几个人说C很乱呢?
3.
最后,在我的实践和观察中总结出,Java Swing 在终端产品中不是很流行的最大原因是系统默认不支持它,或是不完全支持它。每一个系统的发行者都不会主动的去支持Java或是完全支持,如果苹果,支持Java不是技术问题,比如Windos vista,
再比如Windos 7,再比如 ......
良好、精华无所谓,认真回帖讨论问题已经够给面子了,谢过。
1、布署当然是个大原因,不过这是在用户层面了,但也并非绝对。Flash不也没有预装吗?可现在上网半数以上的Windows还不是可以跑Flash。下载快、运行快、效果酷啊。JRE如果沿此正确策略,达到这种效果也是可能的,那么多Java小游戏,都放到Applet上,用户量会上去的。关键还是要本身够强。
以个人体会,过去Swing/JApplet不叫座,主要还是连开发者自己都难以认同的慢速度,始作俑者底气都不足,接下来MS轻轻一挡就退下去了。当年MS还想劫持Java呢,设想如果Sun招安了,也就不会有.NET,那如今半个编程世界就都是Java了。
2、这两年还都是搞动态语言去了,PHP、Ruby甚至Python都有涉猎,PHP和Ruby都还有实践的系统。为什么会转回Java,主要还是觉得Java够成熟,够放心。静态语言用久了,大家都有很多不满;但动态语言也有它们的问题,大家多用用就清楚了。其实这两大体系,字面上就已经指明了适用范围。一方适用在“静”的系统,一方适用在“动”的系统。本人身在需要长治久安的企业领域,坚守“静态”的Java其实是必然的。
Java从设计角度来看最大的优点,在于高度的标准化和兼容性,可以大规模长期持续扩展。所以最近斗胆提倡企业应用“All in Java”这样的理念,不是有意挑衅,乃是有感于当前企业应用的混乱局面而发,并给国内Java界貌似低迷沉闷的同道们鼓鼓气。
有一点很同意楼主,就是Java的成熟和稳定,这是无可厚非的。
有一点我不同意,就是Flash没有集成进Windows,也很流行。
在以前Sun没有Flash这样的技术,或是说没有能和Flash相竞争的技术。Applet只是RIA的雏形。
Sun当今推出了JavaFX平台,官方的解释说是对RIA的一种回应。很明显,主要针对的Flash,当然也包括MS。
Flash的运行环境是多少?以前的Java运行时环境是多少? Java以前可以像Flash那样做吗?很明显,不能!
当然Sun做出了很多的努力改变了以前的状态,特别是jre6 upda10
运行速度Sun一直在努力,都论在服务器端还是客户端都有了长足的进步。
速度不是阻止应用普及的最大阻力,Linux市场也没有Windows Vista多。Vista is very poor是被公认的。
66 楼
sunnymoon
2008-12-22
allenny 写道
sunnymoon 写道
我给楼主的帖子加精了,但是完整的看过之后真的后悔了。最多只能给个良好。
1.
Swing的设计优秀很同意楼主的观点,但是没有流行恐怕不是一个慢字可以概括。
最跟本原因是Sun主导的Swing缺少对终端设备使用的感观。比速度更致命的是默认界面丑陋。也许你会说,我不是一个好的设计者。但是我会说在相同的工程量下,Swing表现的确实很一般。这一点也不是最主要的,热爱Java的人很多不会因为这一点原因被打败。但大的阻碍是Windows默认不支持Java。这损失了几乎所以的终端用户,当然企业用户是不在乎这一点的。Windows在世界的垄断阴挡了Java Swing在终端设备产品上的应用。如果MS真的以前错误的完全支持Java,那估计也没有今天.net的什么事儿了。
2.
些外Java标准的优秀的静态语言。和动态语言比很不高效。这什么Ruby这么流行呢?
Sun想改变这种现状。可能楼主是静态语言用久了,或是对动态语言不够了解。
难了不会,会了不难。因为不够熟悉才会觉得很“乱”。如果和C相比谁更乱呢请问。又有几个人说C很乱呢?
3.
最后,在我的实践和观察中总结出,Java Swing 在终端产品中不是很流行的最大原因是系统默认不支持它,或是不完全支持它。每一个系统的发行者都不会主动的去支持Java或是完全支持,如果苹果,支持Java不是技术问题,比如Windos vista,
再比如Windos 7,再比如 ......
1.
Swing的设计优秀很同意楼主的观点,但是没有流行恐怕不是一个慢字可以概括。
最跟本原因是Sun主导的Swing缺少对终端设备使用的感观。比速度更致命的是默认界面丑陋。也许你会说,我不是一个好的设计者。但是我会说在相同的工程量下,Swing表现的确实很一般。这一点也不是最主要的,热爱Java的人很多不会因为这一点原因被打败。但大的阻碍是Windows默认不支持Java。这损失了几乎所以的终端用户,当然企业用户是不在乎这一点的。Windows在世界的垄断阴挡了Java Swing在终端设备产品上的应用。如果MS真的以前错误的完全支持Java,那估计也没有今天.net的什么事儿了。
2.
些外Java标准的优秀的静态语言。和动态语言比很不高效。这什么Ruby这么流行呢?
Sun想改变这种现状。可能楼主是静态语言用久了,或是对动态语言不够了解。
难了不会,会了不难。因为不够熟悉才会觉得很“乱”。如果和C相比谁更乱呢请问。又有几个人说C很乱呢?
3.
最后,在我的实践和观察中总结出,Java Swing 在终端产品中不是很流行的最大原因是系统默认不支持它,或是不完全支持它。每一个系统的发行者都不会主动的去支持Java或是完全支持,如果苹果,支持Java不是技术问题,比如Windos vista,
再比如Windos 7,再比如 ......
有一点不太同意,如果M$以前一直支持Java的话,那么以M$的做事风格,会产生出两种不兼容的Java,并且M$那个只能在Windows上运行。
你说的是MS以前的J#。后来被Sun告了
我说的是MS的Window支持不支持Java是指其的运行环境。请了解。
发表评论
-
别了,Sun的Java
2009-04-21 15:28 1136今天上午惊闻Oracle对Sun ... -
有了OO、分层、DI、AOP、TDD和Refector,DDD不再是空谈
2008-12-31 11:25 1403一晃眼搞了7、8年的企 ... -
坚持发扬EJB、Spring的光辉思想,将组件化进行到底!
2008-12-31 09:10 885(这是一年半前在jdon首发的老文,因观点比较激烈,仅作整理收 ... -
Spring性能小测,参其它技术
2008-06-04 18:25 4836昨天参与了“有感而发:JavaEE和ROR的本质区别,以及对R ... -
硬件越跑越快,软件越陷越慢
2008-05-06 17:04 2886近日总算有点空闲,走马观花测试了一些技术,包括Grails、S ... -
swt、eclipse RCP与“Java All in One”
2008-03-25 10:13 2247近年来的eclipse与netbeans ... -
伟大的Hessian
2007-10-05 15:10 15609前几日看过道友lordhong的文章“Hessian开始支持R ... -
Java的表示层,到底该怎么办?
2007-07-02 15:15 2734Java做老大很久了,而Jav ... -
有感于“以复杂性为生的行业”
2007-04-24 17:11 5786Rod Johnson在“without EJB”中说了很多真 ... -
Java Web层的下一个王者是谁?
2007-04-19 17:47 35259经过数年的“框架大战 ...
相关推荐
基于javafx、javaSwing、spring boot 开发权限管理系统。
这篇名为“在Swing界面中嵌入JavaFX运行的视频”的博客文章探讨了如何将JavaFX的视频播放能力整合到Swing应用中,以提升用户体验。 首先,我们需要理解Swing和JavaFX之间的交互。虽然Swing是早期的UI库,但JavaFX因...
5. **Swing集成**:在“可以用Swing打开的JAVAFX的贪吃蛇”部分,可能涉及到JavaFX与Swing的互操作。JavaFX提供JSwingComponent类,允许在JavaFX应用中嵌入Swing组件,或者反之亦然。这使得一个已经使用Swing构建的...
集成SWING和JAVAFX时,可以使用`JFXPanel`将JAVAFX场景嵌入到SWING窗口中。这样可以在保持SWING主框架的同时,利用JAVAFX的高级特性。此外,还需要处理好事件监听,确保用户操作能够正确地传递给对应的播放逻辑。 ...
java权限管理系统桌面客户端 基于javafx、javaSwing、spring boot 开发权限管理系统。
### JavaFX Script 语言教程(面向Swing程序员) #### 概述 JavaFX Script 是一种专为简化图形用户界面(GUI)开发而设计的声明式编程语言,它为Java平台带来了一种全新的编程范式。JavaFX Script 提供了一系列...
在Java中,调用摄像头并非Swing库的直接功能,而是通过Java Media Framework (JMF) 或者更现代的Java Media API如JavaFX来实现的。JMF是一个用于处理媒体内容(包括音频、视频)的平台,它可以捕捉、播放、处理和...
通过阅读这份教程,Swing开发者可以了解如何将已有的编程经验迁移到JavaFX平台上,学习如何利用JavaFX Script 创建更具吸引力和交互性的应用程序。教程可能包括以下部分: - JavaFX Script 的基础知识:语法、数据...
尽管标题中提到了Java Swing,但JavaFX的出现意味着开发者可能在某些部分或整个项目中使用了JavaFX以增强用户体验。 总的来说,这个客户信息管理系统展示了Java在桌面应用开发中的强大能力,结合了GUI设计、数据库...
JavaFX Script 语言教程(面向Swing程序员) javafx_script.rarJavaFX Script 语言教程(面向Swing程序员) javafx_script.rarJavaFX Script 语言教程(面向Swing程序员) javafx_script.rar
该项目是一个基于Java技术栈,融合了JavaFX和Swing的桌面应用程序,旨在为初学者提供一个实践编程技能的平台,特别是对于Java语言的学习者。通过这个桌球小游戏,开发者可以学习到如何用面向对象编程原则来设计游戏...
本文件为java文件,主要内容为java课程设计中的风扇模拟代码,采用javafx
* 项目名:Java课程设计——饭卡管理系统(JavaSwing、JavaFX、MySQL) * @author :第四维度 * 创建时间:2021-6-21 * 采用JavaSwing、JavaFX设计UI界面,结合MySQL数据库进行增删改查操作,功能较为完善 * 包含...
JavaFX Script? (下文中称为JavaFX)语言是一种声明式的静态类型编程语言。它具有第一级函数(first-class functions)、声明式的...JavaFX 脚本式语言特别适用于Java2D swing GUI 组件,它能够简单地创建图形界面。
6. **JavaFX Swing**: 为了让JavaFX与传统的Swing组件兼容,提供了`javafx.swing.jar`,允许在JavaFX应用中嵌入Swing组件,或者在Swing应用中使用JavaFX的部分功能。 7. **JavaFX SWT**: 类似于JavaFX Swing,`...
- 添加JavaFX 11库到项目构建路径中,如Maven或Gradle的依赖管理。 - 在代码中导入必要的JavaFX包和类。 - 创建和配置场景图,定义用户界面布局。 - 实现业务逻辑和事件处理。 总之,JavaFX 11是一个强大且灵活...
Java自制浏览器,支持Flash,各个版本的ui框架都有,具备所有IE内核具备的功能,拓展功能比如F5,比如前进后退,比如查看源代码,键盘...里面包含javafx的,swing的,swt三个版本的java浏览器,功能强大,供大家对比
这个“JavaFX之HelloWorld部署之为jar签名事宜”主要探讨的是如何在JavaFX项目中创建一个简单的"Hello, World!"程序,并将其打包成可执行的JAR文件,同时对这个JAR文件进行签名,以便于在不同环境下的安全分发和执行...