`

JSF 与 "我的伟大发明" ---- 关于B/S UI开发的胡言乱语

阅读更多
这篇帖子后面的回复和讨论 已经变得比主贴本身更值得一读了
希望读这篇帖子的朋友 有时间的话可以看一看后面的那些评论

我不希望这种技术讨论沦为口才的较量 ,所以我本人不会在发表什么观点了
但是我的"关于B/S的解耦性 以及UI层的可独立性"的观点不会改变.


=============================
此文是 "初看jsf后的胡言乱语"http://fins.iteye.com/blog/181093 一文的延伸
同样是在我对JSF知之甚少的情况下写的, 如有不当,请见谅


先来看看一个"我的伟大发明":

汤匙用来喝汤,刀子用来切牛扒. 多麻烦啊. 我设计了这样一个东西:
一头是勺子, 一头是刀子, 这样餐具就可以少一件了, 为我们的采购 摆放 整理 清洗, 提供了极大的方便.
相信不久的将来,这样的产品一定会彻底的淘汰掉现有的汤匙和刀子.


什么?你早想到了? 哦 那好吧 算作"英雄所见略同"好了.

========================================

我的伟大发明说完了, 该说说JSF了.

以前写过一篇文章:
"世上没有B/S系统,只有B系统和S系统"http://fins.iteye.com/blog/123265.

当时对jsf一点也不了解 所以没有谈及更多
(那篇文章里说的更多的是 错误的---我眼中的错误的---使用ajax 所引起的一些我的思考)

但是现在看看 用那篇文章里的观点来表达我对jsf的态度 也许会更合适.


我写那篇文章被很多人说是"标题党,唱高调"
其实 我真的希望我的那篇文章是"标题党,唱高调", 因为那就说明,我所说的已经是废话,已经是尽人皆知的事情.

但事实恰恰相反.有太多太多的人 依然固守着传统的桌面开发模式,并且企图把这种模式强加到B/S系统中.
希望用一种语言 一种模式 来解决B/S里的所有问题.
这种想法是好的, 但是那是多么多么多么的不现实啊.
和前面提到的"我的伟大发明"是多么多么多么的相像啊.



我承认java很好很强大, 它有如下优点:...(此处省去四万五千六百七十八个字)
但是 但是 但是, 他那四万五千六百七十八个字才能说完的优点里,偏偏不包括 编写web-ui.


而jsf 就是要利用各种手段,来让java去做它本就不擅长的事情.
用java费了 九百头犀牛二百只华南虎的力气(简称九牛二虎之力) 做出来的事情,
换作别的语言来做,也许只要九只蜗牛二只壁虎的力气(简称九牛二虎之力) 便能搞定.


引用
用java来生成html+js+css层面的东西, 然后用java来处理发生在 html+js+css层面上的事件.
怎么可能比在html+js+css层面内部做这件事 更好呢??



关于jsf的ui层的实现有多么拙劣 我就不多说了,
如果有哪位能找出一个做的很好的 效果比ext  qooxood dojo 之类的更好的东西请告诉我.
那些商业的 大公司 用jsf做出来的东西 什么 ICEfaces  RCFaces  RichFaces ... , 在ext面前, 你们不觉得你们的face很红吗?


也许有人会说
JSF也可以和EXT dojo相整合啊 JSF UI也是解耦的 可替换的啊,
如果一个产品能够整合一个优秀的产品,那么到底是这个产品优秀 还是被整合的优秀?
而且整合还要看成本呢,
用jsf完全的封装ext有意义吗 有必要吗 有完美的实现吗? 封装出来的东西还具备ext原有的灵活吗?

关于jsf的"可替换", 这里我们要弄明白一件事, ext可以换成dojo,我们就能说jsf的ui层是高度解耦了?
jsf在封装ext的时候,肯定要写很多标签啊 java类啊, 那些东西也是 jsf 的一部分.
我把ext换成dojo, 那些为ext封装的标签啊 java类啊还能用吗???




也许有人会说:
UI组件只是JSF的一部分, 并不是JSF的全部. JSF还有很多 例如:某某模型,某某规范,某某架构,某某机制....
一味的批评JSF的UI, 从而否定整个JSF的做法是错误的


但是 但是 但是 JSF UI这部分和JSF的其他部分---那无数个"某某"----完全紧密的结合在一起,
没有UI的JSF,根本就毫无生命力,根本就不再是一个可运行的框架,
而JSF UI孤立的拿出来, 也根本就不是一个能被称为UI的东西.

所以,我怎么可能单独的去评价JSF的ui?怎么可能脱离JSF UI单独的评价JSF身上UI以外的东西??



引用
如果有一天JSF火了, 有人跑来跟我说, 看,现在是JSF的天下了.
那么我敢保证, 那时候的JSF肯定和现在的大不同, 也许只是名字未变而已.



我再表达一下 我的观点(可能过于理想化):

引用
在B/S系统中
UI层与系统其他层面的东西的唯一联系应该是"数据"
UI层应该是在后台系统不变的情况下可切换的

总之两个字"解耦".


任何违背这个准则的框架我都不认为是好的框架. JSF WICKET DWR 都不是.
事实上,我不认为有哪个框架 可以同时做好 后台和前台两个层面的工作.
既然做不好 那就别做.

整齐划一是好的,但是 我们应该 必须 一定 永远都要承认"分工"的存在.

最后问个问题:

你见过哪个西餐厅会放一把万能的瑞士军刀在餐桌上吗?
如果没有 那好, 请你也不要指望在 B/S系统开发领域内 见到一个万能的"瑞士军刀",
至于那个"我的伟大发明"你更是可以完全忘掉它了.


分享到:
评论
179 楼 sxlkk 2014-05-08  
时隔多年看到此文章,博主的观点没问题,我当时进入公司用jsf的时候就是这个观点,现在互联网发展迅猛,AJAX的天下了,我们天朝的12306都Ajax了,JSF把前台的控件都写到后台,发明这种技术的人是多么痛恨写前台控件啊,O(∩_∩)O哈哈哈~
178 楼 fangshun 2008-04-28  
icewubin 写道


我之前的长回帖请你先看过后再来和我讨论行不行,太多太多的事情你不用作了,那是需求还没有碰到变化,你是不是没有负责过项目啊,有时候一个从用户角度来说很平常的需求,客户也是人,客户平时也浏览网页,他们往往表述不清的时候,


我有没有负责过项目也是你质疑的部分啊!你就当我刚毕业。对了,干了六年以上的高人,当你的下属我是不是经常会被问:“你是不是没有做过程序啊!”
177 楼 icewubin 2008-04-28  
csf178 写道
质疑没问题 我更不敢干涉你的自由
但很可惜 你不是在质疑 而是否定 你从一开始就没有谈JSF
而是东拉西扯 显示你的高明 以一副不可一世的样子去看JSF

你都没了解就开始质疑了? 这有意义麽?假如你没用过Object中的默认的equals方法,也没看过,就说人家写的有问题,当然会被BS。

像你这种架构师我见得多了 自我膨胀 脱离技术很久
每天读读新闻 没事到论坛灌点水 有什么新技术出来就热闹热闹
借贬低大公司 显示一下自己的水平
上面忽悠领导 下面欺负程序员 其实呢 不知道被下面程序员看不起呢

不过 到此为止吧 打扰其他人 管理员没事清清水 把这些与技术无关的东西清掉


一副不可一世的样子是你自己编造出来,我觉得我表述的是我的观点,而不是我的不可一世,我自认为学得越多不懂得越多。

我本来就没有要大谈JSF的兴趣。

我在Javaeye上还没起过帖呢,灌水之说哪里来?刚来Javaeye时当潜水员,现在开始积极回帖就碰到你这种人,是不是谁给我个建议不要和你一般见识?

新技术,什么叫新技术呢,如何定义?

贬低大公司?我有么,大公司不玩商业策略,难道玩慈善事业?

忽悠领导?是你的作风吧。

你说我自我膨胀,行,你爱怎么说都行,说我脱离技术很久,可笑的事情,随你怎么说,你说我“下面欺负程序员”,我真的要光火了,这种事情我是绝对不做的,大家都是过来人,那种刚毕业,刚进公司,没人理的滋味非常难受的。做我的属下是很幸运的,我会毫无保留的教他们。教会他们对我自己只有好处,没什么坏处啊,要减少项目开发成本、维护成本,自己培养要比欺负他们效率高得多。

你这种动不动就诬蔑别人人格的人还有脸在这里发帖?



176 楼 hax 2008-04-28  
csf178 写道
质疑没问题 我更不敢干涉你的自由
但很可惜 你不是在质疑 而是否定 你从一开始就没有谈JSF
而是东拉西扯 显示你的高明 以一副不可一世的样子去看JSF

你都没了解就开始质疑了? 这有意义麽?假如你没用过Object中的默认的equals方法,也没看过,就说人家写的有问题,当然会被BS。

像你这种架构师我见得多了 自我膨胀 脱离技术很久
每天读读新闻 没事到论坛灌点水 有什么新技术出来就热闹热闹
借贬低大公司 显示一下自己的水平
上面忽悠领导 下面欺负程序员 其实呢 不知道被下面程序员看不起呢

不过 到此为止吧 打扰其他人 管理员没事清清水 把这些与技术无关的东西清掉


好像只有你的帖子与技术特别无关(还有我这篇)。
175 楼 hax 2008-04-28  
csf178 写道

但是 你没资格说EJB不成功 你只是一个用户 Rod Johnson也只是个用户 如果麦肯锡或者某某调查机构或者Sun的竞争对手或者Sun自己说 EJB的哪个版本或者JSF是失败的 也许还有些可信。但是 一个用户的观点仅仅是一个用户的观点 你没有资格说它失败或者成功。


JSF是2001年立项,2004年推出1.0版,然后到现在4年了。请你看看各个调研的web框架的市场占有率。一个被寄予厚望,费时数年,又是官方标准的技术,在4年时间里得到多少份额?

就这点而言,客观的说,JSF 1.x比EJB 1.x更失败。
174 楼 hax 2008-04-28  
fxy1949 写道
icewubin 写道
引用
Hehe,先别忙着捧脚和自我感觉良好,以后如果发现捧到臭脚,会后悔的;还有以后发现自己挺无知的,也会不好意思的. 对于Java EE 你们知道得还真的挺少,我建议不要轻言: JSF不行,EJB失败,什么大公司猫腻. Java如果没有Sun,IBM,BEA,等等大公司的支持,就不会发展到今天的地步.


“Java如果没有Sun,IBM,BEA,等等大公司的支持,就不会发展到今天的地步.”你这句话我是绝对赞同的,但是你自己枉下判断认为我不赞同这句话,就是你的问题了?

我是Java的超级Fans,已经说过了,为什么还这么客观的说Java不好的地方,事实如此,大公司的猫腻你又知道多少,我只说1%的东西,IBM感的恶心的事多着呢,一个公司当然有好和不好的地方,至少我也没一竿子打死他们。

之前又一贴也说了,NetBeans和GrassFish我是期待的,但是有更多的东西我是希望SUN能做好的,比如JavaFX,为什么不提,是因为我认为SUN现在没把工作重心放在这部分上,所以虽然报以希望,但是认为它能成功想都不敢想。

退一步说,我只说了和JSF相关的坏话,没有说到JavaEE的其他方面,你也用不着说我什么轻言不轻言。

在往上说到商业上的策略,各公司都有自己的策略,企业是以盈利为目标的,恶心的企业多了去了。比如我们公司的售前在和客户吹得时候,当然是很恶心的,但是我们和竞争对手的公司都在吹,但是最后我们拿得出的东西比别人得多,就是我们厉害。这很正常的。

对自己的同事说的话和在网上和别人讨论说的话,和对客户说的话是截然不同的。

我们听到的SUN和IBM说的话就是他们对“客户”说的话,这些话当然有猫腻,但也不不等于完全否定他们,他们要去忽悠其他的客户大企业,那就去忽悠好了,至少目前我们公司还远没有达到要和这些企业竞争的程度。


你老发帖强憾的作风我是领教了,hehe. 可惜,内容都没有什么营养.

你不要忘记,这个帖子是Fins在对JSF一无所知的情况下的胡言乱语,把JSF批的一文不值.
你和Fins一样,对JSF一点都不懂,却在这里"只说了和JSF相关的坏话";提到EJB,开口闭口Sun的失败云云,大公司的猫腻等等,但现在哪个上点规模的基于Java的系统不用EJB,至少我看到的都是.

EJB都已经是3.0了还提EJB1.0彻底失败,有意思吗? 我觉的Java世界里最重要的技术就是EJB,虽然走了一些弯路,这不是由于什么猫腻,是技术发展的必经阶段,是一个不断认知的过程,等你了解了EJB开始为什么失败,再去看一下现在的EJB3,你就不会人云亦云了.

所以我的感觉是你对Java发展的趋势和对Sun的判断都是错.JSF,EJB3,JavaFx都会越来越好.我现在London上班,差不多2年前,公司讨论系统新构架,结论空前的一致: JSF+EJB3 ,因为大家看到EJB3在Jboss上,JSF在Myface,和Ajax4jsf,Facelets,Seam等等,你就知道JSF,EJB3已经成熟了. 经过1年半时间,事实证明了我们的判断是正确的,开发效率大幅度提高,代码猛然减少,维护超级简单.现在EJB3和JSF可谓空前繁荣,这是我在这里的感受.

当然,采用一种新技术是需要学习,成本,决心的,特别是替换老系统的时候,风险是大的,贸然替换大部分公司也是不做的.当前这个情况,Struts,Spring mvc等框架已经在Server Page 模式下广泛运用了,要换JSF是不容易,但是这不代表JSF不行,而是需要时间和成本.

至于Ajax,如果把它当成一个技术,用来减少Browser和Server的交互,提高用户体验,是非常好的.但是,如果你硬要用Ext把整个Presentation Layer搬到Browser,我就是一点都不能理解了,为什么? 因为Browser+javascript不论从开发效率和运行方式都不足够的好.等到RIA一成熟,你觉的这种模式还有多少机会被采用?如果你是JavaFx的Fans你应该知道他们之间的差别.

看到你强悍的回帖,仔细想从中看出点什么,发现很难,所以,口水仗就不再和你打了,我的观点前面的贴子都已经清楚了.

最后还是那句话: 开阔眼界,不偏执,学会接纳不同的观点. 与君共勉!


我还是那句话:不懂JSF不等于不懂Web开发,懂JSF也不等于懂Web开发。
打个比方:一个做了10年Web开发,用过数种不同Web开发框架,然后接触了JSF3天的资深Web开发者,和一个做了2年Web开发,只用过Struts,然后用了JSF3个月的初级Web开发者,谁的话更可能符合实际,更有价值?

Web开发是有共通性的,因为你面临的需求、问题等都是有类似之处的。而各种框架解决之道其实也是类似的。JSF又不是天上掉下来的,当然也概莫能外。

况且,你怎么评判别人
1. 对JSF一点都不懂
2. 只说了和JSF相关的坏话

下个结论扣个帽子不要太轻松哦,但是具体到技术的实处就不容易了。愿你不要总捡轻松的做。

其实这里反对JSF的人很少有认为JSF完全一无是处的。大多数人还是承认JSF在某些条件下是一个可取的方案。

另一方面,我觉得你可能基于java的架构做的太久了,习惯性从一个更大的既有体系里去看问题,因此比较倾向于将JSF看作一个既定架构内的更好的UI层解决方案。而这里质疑JSF的人,更多的认为Ajax可以改变Web应用的架构方式,而这种架构方式颠覆了JSF所预设的那种架构方式。


173 楼 csf178 2008-04-28  
质疑没问题 我更不敢干涉你的自由
但很可惜 你不是在质疑 而是否定 你从一开始就没有谈JSF
而是东拉西扯 显示你的高明 以一副不可一世的样子去看JSF

你都没了解就开始质疑了? 这有意义麽?假如你没用过Object中的默认的equals方法,也没看过,就说人家写的有问题,当然会被BS。

像你这种架构师我见得多了 自我膨胀 脱离技术很久
每天读读新闻 没事到论坛灌点水 有什么新技术出来就热闹热闹
借贬低大公司 显示一下自己的水平
上面忽悠领导 下面欺负程序员 其实呢 不知道被下面程序员看不起呢

不过 到此为止吧 打扰其他人 管理员没事清清水 把这些与技术无关的东西清掉
172 楼 icewubin 2008-04-27  
csf178 写道
icewubin 写道

即使我真的不了解,为什么我无权评论,你要限制我言论自由么?您的话是不是太过分了?
我在第一个公司的时候,就是和SUN的工程师直接交流的,呵呵我来告诉你他说了些什么:
大概是03年的时候,当时我们公司比较闭塞,不能上网,我也买了不少关于EJB和J2EE的书,看了我们设计的架构以后,SUN的工程师说,web服务器不能和应用服务器分开,我们说为什么,不是推荐这样的么?不是有更好的扩展性么?
他说软件(当时用的SUN的iPlanet)的集群不可靠,建议我们不要用,EJB调用不要用远程,都用local方式,所以不要分开。

当时还不知道为什么呢?没有深究,想想算了,就这么照做吧,还自我安慰书和实际是两码事。

后来看了J2EE Without EJB才开始彻底明白当时SUN工程师为什么这么建议我们……后来不想说了

这个这个 哪能限制你言论自由啊

包括后面举那个客户的例子 "无权评论"意思就是说 因为你是企业的架构师 你对EJB JSF这种通用组件的架构不可能了解 你只是个使用者 所以对其评论不具有价值

你的客户跟你抱怨你的产品有哪些缺陷 但是他如果反馈的信息包括你们的数据库设计不符合DK范式 你不会觉得很奇怪么?同样道理 你说sun的JSF架构有缺陷 这不很奇怪么?

从你的亲身体验来看 sun的工程师到你们公司做了什么? 只是对你们的如何使用sun的产品作了建议 没有去帮你们设计数据库吧? 同样道理 你在对各大公司指点江山的时候 别人看了会不会觉得很奇怪?


不奇怪,举个真实的例子,比如我们公司要采用FirstBI公司的产品,当然我们相对FirstBI就是甲方或者是合作伙伴了,我们当然会指出它架构上的缺陷要求他解释或者提出变通方案(他们的方案价格低),很正常嘛。再举个例子,JDK几年前虽然不是完全开源,但是部分源代码我们是看得到的,比如Object中的默认的equals方法写得有问题,有人看到了,当然是要质疑的,不是很正常的么?当然前提是SUN公布了这些资料。

一方面,一个框架连质疑的权利都没有,这个世界太没自由了。
另一方面,通过对方解释我的质疑,能够让双方更了解对方,我能更了解对方的设计思想(因为对方的资料可能还不够全),对方也可能意识到自己有些东西没讲清楚,发布新的教程。
这种质疑的精神是很重要的,是尽量减少沟通上的障碍的重要手段,你如果做过需求的话,就会发现,经常要质疑已经下定论的东西,来判断我们对客户的理解是否正确,因为客户自己都有可能被我们乙方所误导。
171 楼 csf178 2008-04-27  
icewubin 写道

即使我真的不了解,为什么我无权评论,你要限制我言论自由么?您的话是不是太过分了?
我在第一个公司的时候,就是和SUN的工程师直接交流的,呵呵我来告诉你他说了些什么:
大概是03年的时候,当时我们公司比较闭塞,不能上网,我也买了不少关于EJB和J2EE的书,看了我们设计的架构以后,SUN的工程师说,web服务器不能和应用服务器分开,我们说为什么,不是推荐这样的么?不是有更好的扩展性么?
他说软件(当时用的SUN的iPlanet)的集群不可靠,建议我们不要用,EJB调用不要用远程,都用local方式,所以不要分开。

当时还不知道为什么呢?没有深究,想想算了,就这么照做吧,还自我安慰书和实际是两码事。

后来看了J2EE Without EJB才开始彻底明白当时SUN工程师为什么这么建议我们……后来不想说了

这个这个 哪能限制你言论自由啊

包括后面举那个客户的例子 "无权评论"意思就是说 因为你是企业的架构师 你对EJB JSF这种通用组件的架构不可能了解 你只是个使用者 所以对其评论不具有价值

你的客户跟你抱怨你的产品有哪些缺陷 但是他如果反馈的信息包括你们的数据库设计不符合DK范式 你不会觉得很奇怪么?同样道理 你说sun的JSF架构有缺陷 这不很奇怪么?

从你的亲身体验来看 sun的工程师到你们公司做了什么? 只是对你们的如何使用sun的产品作了建议 没有去帮你们设计数据库吧? 同样道理 你在对各大公司指点江山的时候 别人看了会不会觉得很奇怪?
170 楼 csf178 2008-04-27  
引用
我没有说EJB的过去是失败的,是说你现在再起项目是不会再用EJB1.x的。那句你认为“挑衅”的话不是我说的,另一个网友提起的,误会我了。

但是 你没资格说EJB不成功 你只是一个用户 Rod Johnson也只是个用户 如果麦肯锡或者某某调查机构或者Sun的竞争对手或者Sun自己说 EJB的哪个版本或者JSF是失败的 也许还有些可信。但是 一个用户的观点仅仅是一个用户的观点 你没有资格说它失败或者成功。

那个也不是对你说的...... 只是都写一起了
169 楼 icewubin 2008-04-27  
csf178 写道
Rod Johnson说的当然不是没道理 如果Rod Johnson在这里发言 我相信我会认同他的话的90%以上 但是 每个人有观点不错 你不能把观点认做公理 EJB或者JSF成功与否 本身没有一条明确的衡量的红线 你可以提它哪里不好 哪里有问题 但你无法说 EJB是不成功的 因为无数企业在EJB的实践中获得了成功 你可以讨厌EJB或者JSF

我没有说EJB的过去是失败的,是说你现在再起项目是不会再用EJB1.x的。那句你认为“挑衅”的话不是我说的,另一个网友提起的,误会我了。

csf178 写道
但是 你没资格说EJB不成功 你只是一个用户 Rod Johnson也只是个用户 如果麦肯锡或者某某调查机构或者Sun的竞争对手或者Sun自己说 EJB的哪个版本或者JSF是失败的 也许还有些可信。但是 一个用户的观点仅仅是一个用户的观点 你没有资格说它失败或者成功。

同上,顺便请看我的上面一贴。

csf178 写道
你是个架构师 但是你处于sun的技术下游(不是下等 指你使用sun的技术) 你对你上游的技术只能是根据自己的情况选择 你不了解所以无权评论
就像sun的工程师如果来参观你们项目组 只可能说 你的JSF用的不错 或者说用错了地方 但他们对你的ERP设计是否符合需求绝不会多嘴

即使我真的不了解,为什么我无权评论,你要限制我言论自由么?您的话是不是太过分了?
我在第一个公司的时候,就是和SUN的工程师直接交流的,呵呵我来告诉你他说了些什么:
大概是03年的时候,当时我们公司比较闭塞,不能上网,我也买了不少关于EJB和J2EE的书,看了我们设计的架构以后,SUN的工程师说,web服务器不能和应用服务器分开,我们说为什么,不是推荐这样的么?不是有更好的扩展性么?
他说软件(当时用的SUN的iPlanet)的集群不可靠,建议我们不要用,EJB调用不要用远程,都用local方式,所以不要分开。

当时还不知道为什么呢?没有深究,想想算了,就这么照做吧,还自我安慰书和实际是两码事。

后来看了J2EE Without EJB才开始彻底明白当时SUN工程师为什么这么建议我们……后来不想说了

csf178 写道
举个现实点的例子 假如你们项目组的用户突然跟你讲 你们对手公司的产品设计如何如何失败 项目管理怎么样 编码风格怎么样 数据库不符合范式啦 还有那个项目组两个程序员之间有矛盾云云 你会怎么想?

不明白你想说明什么,客户技术部门的人不会这么做的,和他们打交道的是售前工程师。
168 楼 icewubin 2008-04-27  
fxy1949 写道
你老发帖强憾的作风我是领教了,hehe. 可惜,内容都没有什么营养.

对于JSF来说是没营养,但是我认为某些人的论点论据本身有问题,就冲出来了,先对我的言论技术上的没营养道歉。

fxy1949 写道
你不要忘记,这个帖子是Fins在对JSF一无所知的情况下的胡言乱语,把JSF批的一文不值.
你和Fins一样,对JSF一点都不懂,却在这里"只说了和JSF相关的坏话";提到EJB,开口闭口Sun的失败云云,大公司的猫腻等等,但现在哪个上点规模的基于Java的系统不用EJB,至少我看到的都是.

我也没觉得fins把JSF批得一文不值啊,我说了好话的,之所以你觉的是坏话使我对有些人论证自己论点的方法持怀疑态度,论证过程本身有问题。大公司的猫腻当然要说,我还想长篇大论呢,这么说也是某些人的部分言语带出来,这里的猫腻是指大公司推行的商业策略的目的是什么,从这一点上可以更清楚地看出某个大公司做这件事的动机,这样分析往往更可靠,不是么?我从未提SUN的失败,反复说了EJB发明的时候,还有JSF发明的时候都是很先进的东西,没有否定过。好像有个人提了句,给EJB1.x定了死罪,不是我说的,只是我认为他的意思是指现在再起新项目不会再用EJB1.x,谁吃饱了没事去否定过去EJB成功的历史。

不用EJB的Java项目我接触的太多了,尤其是最近起的很多项目(当然是出了我们公司以外的),这个您是正好没看到。这其中还有很多,号称自己用了EJB,其实根本没碰,或者是EJB里面只有一行调用的逻辑,根本没用EJB的好处的项目。

fxy1949 写道
EJB都已经是3.0了还提EJB1.0彻底失败,有意思吗? 我觉的Java世界里最重要的技术就是EJB,虽然走了一些弯路,这不是由于什么猫腻,是技术发展的必经阶段,是一个不断认知的过程,等你了解了EJB开始为什么失败,再去看一下现在的EJB3,你就不会人云亦云了.

是没意思,不是我提的啊。说猫腻不是说EJB的猫腻,我说的是指SUN推JSF的商业策略,一开始的推出没问题,推广做得不好也没问题,但是后期受到很多批评以后还在强调JSF如何如何优秀就有问题了。EJB1-3我都看过,当然不是人云亦云,再次说一下,我说出一个观点,即使表面上和别人说的一样,但是我说的是自己分析的观点。就像我不太用继承那样,很早就开始了,不是听了别人说什么少用继承我才少用继承的,我有自己的整个思路的过程,但是自己语言表达能力有限,也不想长篇大论表述出为什么我是这样那样自己想出来的,来证明自己不是人云亦云。

fxy1949 写道
所以我的感觉是你对Java发展的趋势和对Sun的判断都是错.JSF,EJB3,JavaFx都会越来越好.我现在London上班,差不多2年前,公司讨论系统新构架,结论空前的一致: JSF+EJB3 ,因为大家看到EJB3在Jboss上,JSF在Myface,和Ajax4jsf,Facelets,Seam等等,你就知道JSF,EJB3已经成熟了. 经过1年半时间,事实证明了我们的判断是正确的,开发效率大幅度提高,代码猛然减少,维护超级简单.现在EJB3和JSF可谓空前繁荣,这是我在这里的感受.

那只能说明London那里的氛围非常好,这个可以理解,全球范围内是否这样,我还是怀疑态度。对了我没有说EJB3会失败啊。JavaFX我说了我还是很期待的,但是就目前观察的结果,Adobe在频繁的发版改bug,SL也在不断推进,JavaFx上次漏了个脸以后一直没有下文,从SUN宣传策略可以看出SUN没有在JavaFX进行重大投入,我自己都说服不了我自己啊。我真的希望JavaFX能后来居上的,毫无说反话的意思。

fxy1949 写道
当然,采用一种新技术是需要学习,成本,决心的,特别是替换老系统的时候,风险是大的,贸然替换大部分公司也是不做的.当前这个情况,Struts,Spring mvc等框架已经在Server Page 模式下广泛运用了,要换JSF是不容易,但是这不代表JSF不行,而是需要时间和成本.

是的,同意,但是也不代表JSF一定行。

fxy1949 写道
至于Ajax,如果把它当成一个技术,用来减少Browser和Server的交互,提高用户体验,是非常好的.但是,如果你硬要用Ext把整个Presentation Layer搬到Browser,我就是一点都不能理解了,为什么? 因为Browser+javascript不论从开发效率和运行方式都不足够的好.等到RIA一成熟,你觉的这种模式还有多少机会被采用?如果你是JavaFx的Fans你应该知道他们之间的差别.

同意,你说得非常对,顺着你的说开了去。问题就是不知道RIA什么时候能成熟,不能一直等下去的。adobe不是一个有开源精神的公司,他开源部分的东西也是被逼的。既然反正是要等的,就先想想现在应该如何把项目做得好一点。

fxy1949 写道
看到你强悍的回帖,仔细想从中看出点什么,发现很难,所以,口水仗就不再和你打了,我的观点前面的贴子都已经清楚了.

你的观点有些是我也认同的,我就总结性的说一下我对你的意见,最大的意见就是不能用你在伦敦得到的结论来推论在中国、全球大家都得接受JSF。

fxy1949 写道
最后还是那句话: 开阔眼界,不偏执,学会接纳不同的观点. 与君共勉!

非常同意,我如果不这样的话,早就上Struts2了,才不会去伤脑细胞,去看什么EXT了。
167 楼 csf178 2008-04-27  
把robbin当佛供起来可也不是我说的啊 之前我可连robbin都没提过的......
我做贼心虚了 你看下这个......
csf178 写道
引用
robbin么既是管理员之一,又是程序员上一篇专栏的撰稿人。

这我知道
引用
你是不是又没有看清楚我写的内容就开始激动的回帖了?
我觉得你自己的发言就很幼稚,别人的帖子的内容还没看清楚就开始回帖,难道不幼稚? 

可是你为什么突然提到robbin 然后又说这个呢? 怎么看都像说你自己的吧......

我研究了半天 猜测如下
貌似你先把Rod Jonson写成 红Jonson 又把我写的Rod Jonson看成robbin(汗了 好像差很多......)
然后又以为我把 红Jonson 看成robbin 然后说了这个
引用
你是不是又没有看清楚我写的内容就开始激动的回帖了?
我觉得你自己的发言就很幼稚,别人的帖子的内容还没看清楚就开始回帖,难道不幼稚? 


是不是很晕 我也很晕......




貌似唯一出现的供起来 确实是我说的......(我坦白 你们从宽处理......)
csf178 写道
好吧 1.1-2.0-3.0-3.5的变化 我确实不知 只会3.0 3.5 你有什么问题可以拿出来大家讨论(建议你另开一贴) 当然直接站内信或者邮件也行

Rod Jonson也就那么回事 别把他供起来 EJB失败与否也不是他说了算的

建议你去水区关心程序员的衣食住行 这么人性的架构师还是第一次见

我的发言纯粹是觉得这里的发言太幼稚 层次和讨论的问题反差太大

比如 你可以说JSF的解耦方式不合理 大家研究下它哪里欠缺 但是居然弄出个结论 说JSF不解耦 我就有点被吓到了

166 楼 icewubin 2008-04-27  
robbin 写道
csf178 写道
icewubin 写道
引用
看看这位同学总结的JSF三大适用场合 这要是真的 sun不如死了算了......


sun的盈利模式你知道么?即使他EJB失败了或者说JSF和EJB3.0都没有获得预期的成功,他还是有很多其他的收入来源,这和死不死有什么关系?

sun是伤心死的 哈哈


前不久我和Sun的人聊过,Sun公司的主要业务收入还是卖服务器,在软件业务上,特别是Java业务,是不赚钱的。所以JSF/EJB3.0成功不成功对Sun来说不构成什么威胁。目前Sun主推的还是开源软件项目,比方说OpenSolaris,OpenOffice,glassfish,Netbeans等等,至于JSF/EJB3.0方面,Sun没有相关的产品,根本就不会放在心上。

另外我说过JavaScript和Flash的什么话不重要,我的观点也可能是错误的,不要把我当佛供起来。


上次看到有个对SUN高层的专访,除了你刚才说到的赢利模式以外,在Java方面那个高层号称每年从Java的认证相关的权利金就能有1亿美元之多,难道那个高层忽悠了我们一把。

我只是引用一下你的话,但是有人就认为我把你当佛供起来,不是我的本意啊,把你牵扯进来不好意思。
165 楼 csf178 2008-04-27  
treenode 写道
是跑题了,抱歉。


对于这个话题我也有很多想法,但总觉得似乎属于意识形态层面的东西大于技术因素,多说无益,所以也懒得开口。只是一点,上面的讨论似乎大都执着于技术本身的优劣,为什么不能看得更宽一些呢?譬如,以JS为主的开发模式和以JSF为主的开发模式,在发生需求变更时响应方式会有什么差别?使用原型开发会对从采用的技术造成影响吗?还有(最容易为程序员所忽略的)业务分析人员、前台开发人员、测试人员,他们的感受如何?什么样的技术能够促进开发者与这些人的沟通合作,而不是阻碍?

agree 这样才是讨论问题

首先应该分析一下JSF与以JS为主的开发模式关键的不同点和冲突 如果没有不同或者不冲突 剩下的就不用讨论了
164 楼 treenode 2008-04-27  
是跑题了,抱歉。


对于这个话题我也有很多想法,但总觉得似乎属于意识形态层面的东西大于技术因素,多说无益,所以也懒得开口。只是一点,上面的讨论似乎大都执着于技术本身的优劣,为什么不能看得更宽一些呢?譬如,以JS为主的开发模式和以JSF为主的开发模式,在发生需求变更时响应方式会有什么差别?使用原型开发会对从采用的技术造成影响吗?还有(最容易为程序员所忽略的)业务分析人员、前台开发人员、测试人员,他们的感受如何?什么样的技术能够促进开发者与这些人的沟通合作,而不是阻碍?
163 楼 csf178 2008-04-27  
不知道怎么就提到robbin了......
162 楼 robbin 2008-04-27  
csf178 写道
icewubin 写道
引用
看看这位同学总结的JSF三大适用场合 这要是真的 sun不如死了算了......


sun的盈利模式你知道么?即使他EJB失败了或者说JSF和EJB3.0都没有获得预期的成功,他还是有很多其他的收入来源,这和死不死有什么关系?

sun是伤心死的 哈哈


前不久我和Sun的人聊过,Sun公司的主要业务收入还是卖服务器,在软件业务上,特别是Java业务,是不赚钱的。所以JSF/EJB3.0成功不成功对Sun来说不构成什么威胁。目前Sun主推的还是开源软件项目,比方说OpenSolaris,OpenOffice,glassfish,Netbeans等等,至于JSF/EJB3.0方面,Sun没有相关的产品,根本就不会放在心上。

另外我说过JavaScript和Flash的什么话不重要,我的观点也可能是错误的,不要把我当佛供起来。
161 楼 treenode 2008-04-27  
icewubin 写道

后半句我记不清,原话好像是这么说的:

目前网页上还是以文字等为主的内容,对于此的控制能力flex是不如JS的,等等

不好意思,篡改了robbin的原话,想不起来了。

最后他的意思好像是,如果网页还是以表现文字为主的话,整体切换成Flex是不合适的。

我的理解是这就和需求有关了,如果是目前比较火的地图网站,如果要重新做的话,我也觉的是Flex更适合。




robbin说的是,JS本来就适合常规类型的Web应用,如果没有较高互动性方面的要求,不必引入额外的技术复杂性。并非开发效率控制能力之类原因。ActionScript和Javascript同样基于ECMAScript,如果说Flex控制文字能力不如JS,那才是见鬼了。
160 楼 csf178 2008-04-27  
icewubin 写道

以现在的眼光看struts就是相对落后的。

如果要说标准,我就是认准实践出真知,Rod Johnson说这话就不是一天两天,我也不是他说这句话的时候就相信的,试问国内有几个人第一时间就相信他说的话,当然是2-3年后越来越相信的。

我没有把别人当白痴,但是请你先了解一下一些事情的背景,再来说事,不要动不动就说我把某人的话当真理。

Rod Johnson说的当然不是没道理 如果Rod Johnson在这里发言 我相信我会认同他的话的90%以上 但是 每个人有观点不错 你不能把观点认做公理 EJB或者JSF成功与否 本身没有一条明确的衡量的红线 你可以提它哪里不好 哪里有问题 但你无法说 EJB是不成功的 因为无数企业在EJB的实践中获得了成功 你可以讨厌EJB或者JSF

但是 你没资格说EJB不成功 你只是一个用户 Rod Johnson也只是个用户 如果麦肯锡或者某某调查机构或者Sun的竞争对手或者Sun自己说 EJB的哪个版本或者JSF是失败的 也许还有些可信。但是 一个用户的观点仅仅是一个用户的观点 你没有资格说它失败或者成功。

你是个架构师 但是你处于sun的技术下游(不是下等 指你使用sun的技术) 你对你上游的技术只能是根据自己的情况选择 你不了解所以无权评论
就像sun的工程师如果来参观你们项目组 只可能说 你的JSF用的不错 或者说用错了地方 但他们对你的ERP设计是否符合需求绝不会多嘴

举个现实点的例子 假如你们项目组的用户突然跟你讲 你们对手公司的产品设计如何如何失败 项目管理怎么样 编码风格怎么样 数据库不符合范式啦 还有那个项目组两个程序员之间有矛盾云云 你会怎么想?

相关推荐

Global site tag (gtag.js) - Google Analytics