- 浏览: 125821 次
最近访客 更多访客>>
最新评论
-
mellen:
设计 是把现实中的 系统,通过抽象的 方式 进行模拟化,并进行 ...
有了OO、分层、DI、AOP、TDD和Refector,DDD不再是空谈 -
wxq594808632:
rehte 写道lgx522 写道5:这点赞同。虽然庞大是由于 ...
借JavaFX之风,Swing终于熬到了出头之日 -
xjlnjut730:
支持Swing,也支持JavaFx,虽然有点奢求,不过还真是希 ...
借JavaFX之风,Swing终于熬到了出头之日 -
kjj:
罗宾汉 写道
大访问量系统的可扩展性问题主要取决于软件的架构, ...
Spring性能小测,参其它技术 -
murainwood:
回复里有很多的精华。
Spring性能小测,参其它技术
经过数年的“框架大战”,Java界的各种框架找到了自己应有的位置。
Spring+Hibernate+Struts已成为Java开发的主流体系。在这个体系中,Spring+Hibernate的地位应该说短期内是难以撼动了。除了新兴的Jboss Seam作为挑战者之外,几乎难有劲敌。有趣的是当初Spring、Hibernate作为挑战者,将官方的EJB成功挑落马下;这次反倒是官方的EBJ3成了挑战者,不知结局如何。
Java B/S编程中历来战火最激烈的其实还在Web层,框架的数量最多,争议最大。
一切由Struts而起,而Struts最终也坐稳了第一个时代的王座。在技术层面,Struts 1.x已经被无数人抱怨过、批评过,但终于还是稳坐王位,这充分说明了习惯的力量。“稳定压倒一切”,这句话在IT技术领域仍旧适用。
其实IT应用技术,什么新鲜玩意并不难学。难的是标准化和规范化。每个程序员都有自己的思路和习惯,写出来的代码自然是五花八门。Java何以成为编程界的老大,很重要的一点在于Java的规范化。这种规范化很高的语言适用于多人合作的大型项目,便于沟通和理解,也就便于集成和维护。Java世界为什么会框架横飞,说到底还是规范化的需要。纯JSP和Struts写Web谁快,摆明了是JSP。那撑饱了用Struts?原因在于100个人写出来的JSP,有100种写法;而100个人写出来的Struts,基本相似。Struts之成功,正缘于其在Java Web层的规范化方面所做出的贡献。
然而长江后浪推前浪,Struts 1.x的技术缺陷毕竟是隐患。
Sun力推JSF,打算一雪Web层框架缺失之耻。可惜JSF既要沿用Swing的技术路线,又要学ASP.NET,还要照顾产商的IDE,结果搞了个四不象,弄得里外不是人。当然Sun的技术实力毕竟是超强的,只要别重蹈EJB的覆辙,拿出点专断的精神(像这两年的NetBeans),做出像Swing那样水准的东西,JSF当大有作为。JSF现在比较有优势的是对Ajax的集成,这一点走在了其他框架的前面。
而Struts就更没有志气了,把WebWork换了个标签,凑出个Struts2,Bug多多。说实在话,根本不如原版的WebWork。如果不是靠了原先的fans捧场,根本就没得混。不过Struts原本就不是以技术取胜的,靠的是抢占先机带来的习惯优势。如果原先的fans们在这两年内都能转到Struts2,那么Struts二世仍将雄霸天下。
综上所述,未来两年,JSF与Struts将展开Java Web框架的最终战争。
以笔者愚见,结局有二:一是不论Struts还是JSF获胜,Java Web层都将结束混战的局面,这对Java Web开发的标准化是非常有利的,并有助于巩固Java在B/S界的地位;二是Struts1.x、Struts2、JSF三分天下,必然从整体上削弱Java在B/S界的竞争力,并将进一步被RoR、ASP.NET、PHP所蚕食。
有兴趣者参加讨论。
JSF最初搞出来是为了与ASP.NET竞争的,它们都被划为一类“服务器端事件驱动的开发框架”。从技术上来说,它们要比WPF和Apollo落后了一代。WPF和Apollo所基于的开发框架是“客户端事件驱动的开发框架”。
你来回答我这几个问题:
1. 在JSF中,用户事件是在哪里处理的?客户端还是服务器端?
2. 在JSF中,用户的状态是在哪里存储的?客户端还是服务器端?
3. 是不是所有的场合,用户事件和用户的状态都需要放在服务器端处理和存储?哪些特定的场合必须要在服务器端做这些事情?这些特定的场合能否代表所有的场合都需要这样做?
JSF技术优势目前至少比Struts,Webwork高出一块
概括的说,使用JSF的目的有2点
1. 降低Web层应用成本
a)开发成本
b)维护成本
c)升级成本
2. 结合JSF控件,能够提供用户更多的客户化定制能力
大家使用AJAX的应用显然主要是为了提升用户的操作体验,而客户定制能力个人认为将会引起更大的关注,服务端逻辑的定制能力/潜力目前要比客户端强不少
如果你们公司已经有了自己的组件库,并能提供强大的扩展能力,而扩展方式又能遵循规范的话,同时又有足够的资金不断升级组件库/核心框架时,目前没有必要考虑JSF
完全扯淡,实在看不出JSF哪里降低了Web层的应用成本和升级成本。我最近正在用JSF做一个项目,它的那些组件,不但没有IDE支持,那些Tag还不易于扩展。很多时候,一个简单的用户需求,用JSF根本无法做到。
最要命的就是JSF做出来的Web页面由于缺乏IDE的直接支持,基本上无法View,这一点是Web开发的大忌,而这一点,Struts和Webwork都只是将Tag作为其一个部分,相对要好一些。
老实说,JSF这个技术的初衷是和ASP.NET去抗衡,但是发展过程中丝毫没有考虑到微软为什么可以大力发展它的组件事业——强大的IDE支持。所以,除非日后Java世界可以出一个类似微软的超强IDE,否则我是不会再考虑JSF这种技术的。
不用幻想有超强IDE。即使出来了,JSF就已经给扔到垃圾堆里了。
说到view,Tapestry的视图层就直接是html模板,不用运行直接可以流浪。程序员代码和美工基本可以分开做的。
JSF最初搞出来是为了与ASP.NET竞争的,它们都被划为一类“服务器端事件驱动的开发框架”。从技术上来说,它们要比WPF和Apollo落后了一代。WPF和Apollo所基于的开发框架是“客户端事件驱动的开发框架”。
你来回答我这几个问题:
1. 在JSF中,用户事件是在哪里处理的?客户端还是服务器端?
2. 在JSF中,用户的状态是在哪里存储的?客户端还是服务器端?
3. 是不是所有的场合,用户事件和用户的状态都需要放在服务器端处理和存储?哪些特定的场合必须要在服务器端做这些事情?这些特定的场合能否代表所有的场合都需要这样做?
JSF技术优势目前至少比Struts,Webwork高出一块
概括的说,使用JSF的目的有2点
1. 降低Web层应用成本
a)开发成本
b)维护成本
c)升级成本
2. 结合JSF控件,能够提供用户更多的客户化定制能力
大家使用AJAX的应用显然主要是为了提升用户的操作体验,而客户定制能力个人认为将会引起更大的关注,服务端逻辑的定制能力/潜力目前要比客户端强不少
如果你们公司已经有了自己的组件库,并能提供强大的扩展能力,而扩展方式又能遵循规范的话,同时又有足够的资金不断升级组件库/核心框架时,目前没有必要考虑JSF
1.JSF技术可以Web层应用成本吗?
a)从开发成本看,JSF的学习成本不低,找一个JSF的程序员肯定比招一个struts的高;
b)从维护成本看,JSF标签加组件的思想方式,还有用IDE拖拉产生的代码对维护人员来说就是一个恶梦;
c)从升级成本看,JSF不能平滑从struts过度。这个成本和使用其他框架一样大。
2.JSF的UI组件和基于事件实现虽然很不错,但是架构还没有Tapestry4.0优秀,更加比不上Tapestry5.0。
UI组件和基于事件的技术其实并没有什么神秘的,这两个优点Tapestry都有。都是用代码来产生JS的脚本而已。
而且UI组件还有很多问题的,一个页面组件多了。效率很低的。一个功能要在页面上消耗大量的时间简直不能忍受。
JSF最初搞出来是为了与ASP.NET竞争的,它们都被划为一类“服务器端事件驱动的开发框架”。从技术上来说,它们要比WPF和Apollo落后了一代。WPF和Apollo所基于的开发框架是“客户端事件驱动的开发框架”。
你来回答我这几个问题:
1. 在JSF中,用户事件是在哪里处理的?客户端还是服务器端?
2. 在JSF中,用户的状态是在哪里存储的?客户端还是服务器端?
3. 是不是所有的场合,用户事件和用户的状态都需要放在服务器端处理和存储?哪些特定的场合必须要在服务器端做这些事情?这些特定的场合能否代表所有的场合都需要这样做?
JSF技术优势目前至少比Struts,Webwork高出一块
概括的说,使用JSF的目的有2点
1. 降低Web层应用成本
a)开发成本
b)维护成本
c)升级成本
2. 结合JSF控件,能够提供用户更多的客户化定制能力
大家使用AJAX的应用显然主要是为了提升用户的操作体验,而客户定制能力个人认为将会引起更大的关注,服务端逻辑的定制能力/潜力目前要比客户端强不少
如果你们公司已经有了自己的组件库,并能提供强大的扩展能力,而扩展方式又能遵循规范的话,同时又有足够的资金不断升级组件库/核心框架时,目前没有必要考虑JSF
完全扯淡,实在看不出JSF哪里降低了Web层的应用成本和升级成本。我最近正在用JSF做一个项目,它的那些组件,不但没有IDE支持,那些Tag还不易于扩展。很多时候,一个简单的用户需求,用JSF根本无法做到。
最要命的就是JSF做出来的Web页面由于缺乏IDE的直接支持,基本上无法View,这一点是Web开发的大忌,而这一点,Struts和Webwork都只是将Tag作为其一个部分,相对要好一些。
老实说,JSF这个技术的初衷是和ASP.NET去抗衡,但是发展过程中丝毫没有考虑到微软为什么可以大力发展它的组件事业——强大的IDE支持。所以,除非日后Java世界可以出一个类似微软的超强IDE,否则我是不会再考虑JSF这种技术的。
讨论这个问题还要有个Scope。贴子主题是“Java Web层下一个王者是谁?”
JSF最初搞出来是为了与ASP.NET竞争的,它们都被划为一类“服务器端事件驱动的开发框架”。从技术上来说,它们要比WPF和Apollo落后了一代。WPF和Apollo所基于的开发框架是“客户端事件驱动的开发框架”。
你来回答我这几个问题:
1. 在JSF中,用户事件是在哪里处理的?客户端还是服务器端?
2. 在JSF中,用户的状态是在哪里存储的?客户端还是服务器端?
3. 是不是所有的场合,用户事件和用户的状态都需要放在服务器端处理和存储?哪些特定的场合必须要在服务器端做这些事情?这些特定的场合能否代表所有的场合都需要这样做?
JSF技术优势目前至少比Struts,Webwork高出一块
概括的说,使用JSF的目的有2点
1. 降低Web层应用成本
a)开发成本
b)维护成本
c)升级成本
2. 结合JSF控件,能够提供用户更多的客户化定制能力
大家使用AJAX的应用显然主要是为了提升用户的操作体验,而客户定制能力个人认为将会引起更大的关注,服务端逻辑的定制能力/潜力目前要比客户端强不少
如果你们公司已经有了自己的组件库,并能提供强大的扩展能力,而扩展方式又能遵循规范的话,同时又有足够的资金不断升级组件库/核心框架时,目前没有必要考虑JSF
是的,flash并不需要相应的展现服务器,ADOBE的这一条路,可以说是相当成功的,只要有浏览器的地方,就可以展示flash。
是的,但是对于flash开发来说太多的专有格式,
太密封的存放格式
使所有的应用必须建立在他的大帝国之上
想要找到所有的ActionScript对于一个复杂一点的fla文件
比登天还难。。。。
是的,flash并不需要相应的展现服务器,ADOBE的这一条路,可以说是相当成功的,只要有浏览器的地方,就可以展示flash。
flash都可以当成一个客户端软件使用,不一定要浏览器支持。
一直觉得flash这个东西是间与cs和bs之间的一个东西。
是的,flash并不需要相应的展现服务器,ADOBE的这一条路,可以说是相当成功的,只要有浏览器的地方,就可以展示flash。
我比较看好一些RIA技术,例如WPF和Apollo等等,Flex也是一个很好的选择。但是WPF和Apollo都需要额外安装客户端的runtime,Internet应用使用这些技术目前还不现实(因为你无法去控制客户端)。目前比较现实的是用Flex开发一些Flash组件,暴露出JavaScript调用的接口可以被Ajax应用来调用和配置。一些复杂的组件如DataGrid、各种样式的Chart等等都是Flash的强项。Ajax可以与Flash很好地结合在一起,形成一种互补的关系。
FLEX确实不错,但ADOBE没有将它开源,是付费,flex2.0之后,相当不错,而且还有一个自己的开发工具,不知道这里有没有人做过openlaszlo,一个RIA的开源框架,好像最近发布的版本各方面都还不错,并不一定生成flash,也可以生成DHTML,可能以后会是RIA的一个不错的平台。
JSF最初搞出来是为了与ASP.NET竞争的,它们都被划为一类“服务器端事件驱动的开发框架”。从技术上来说,它们要比WPF和Apollo落后了一代。WPF和Apollo所基于的开发框架是“客户端事件驱动的开发框架”。
你来回答我这几个问题:
1. 在JSF中,用户事件是在哪里处理的?客户端还是服务器端?
2. 在JSF中,用户的状态是在哪里存储的?客户端还是服务器端?
3. 是不是所有的场合,用户事件和用户的状态都需要放在服务器端处理和存储?哪些特定的场合必须要在服务器端做这些事情?这些特定的场合能否代表所有的场合都需要这样做?
瞧把你给美的,ASP.NET Ajax早就可以做这些事情了。
而且JSF给Ajax造成的紧耦合,事件模型和状态存储与服务器的严重绑定,这些是不能不考虑的。
给你一点甜头你果然就上钩了。
我是说在java中的web框架,而不是其他语言的框架.
而且JSF给Ajax造成的紧耦合,事件模型和状态存储与服务器的严重绑定,这些是不能不考虑的。
这叫做包装好的组件,怎么可以叫做紧耦合呢,如果这么说,那你使用dojo这些实现,算不算和这些框架的紧耦合呢?
另外关于和服务器的绑定从何说起呢. 望赐教.
我比较看好一些RIA技术,例如WPF和Apollo等等,Flex也是一个很好的选择。但是WPF和Apollo都需要额外安装客户端的runtime,Internet应用使用这些技术目前还不现实(因为你无法去控制客户端)。目前比较现实的是用Flex开发一些Flash组件,暴露出JavaScript调用的接口可以被Ajax应用来调用和配置。一些复杂的组件如DataGrid、各种样式的Chart等等都是Flash的强项。Ajax可以与Flash很好地结合在一起,形成一种互补的关系。
标准可能会被服务提供商提供 未必会被开发人员接受
ejb2不也是标准吗,还不是被hibernate打垮
这些标准只不过是垄断市场的手段而已 影响不了业界的方向
Spring+Hibernate+Struts已成为Java开发的主流体系。在这个体系中,Spring+Hibernate的地位应该说短期内是难以撼动了。除了新兴的Jboss Seam作为挑战者之外,几乎难有劲敌。有趣的是当初Spring、Hibernate作为挑战者,将官方的EJB成功挑落马下;这次反倒是官方的EBJ3成了挑战者,不知结局如何。
Java B/S编程中历来战火最激烈的其实还在Web层,框架的数量最多,争议最大。
一切由Struts而起,而Struts最终也坐稳了第一个时代的王座。在技术层面,Struts 1.x已经被无数人抱怨过、批评过,但终于还是稳坐王位,这充分说明了习惯的力量。“稳定压倒一切”,这句话在IT技术领域仍旧适用。
其实IT应用技术,什么新鲜玩意并不难学。难的是标准化和规范化。每个程序员都有自己的思路和习惯,写出来的代码自然是五花八门。Java何以成为编程界的老大,很重要的一点在于Java的规范化。这种规范化很高的语言适用于多人合作的大型项目,便于沟通和理解,也就便于集成和维护。Java世界为什么会框架横飞,说到底还是规范化的需要。纯JSP和Struts写Web谁快,摆明了是JSP。那撑饱了用Struts?原因在于100个人写出来的JSP,有100种写法;而100个人写出来的Struts,基本相似。Struts之成功,正缘于其在Java Web层的规范化方面所做出的贡献。
然而长江后浪推前浪,Struts 1.x的技术缺陷毕竟是隐患。
Sun力推JSF,打算一雪Web层框架缺失之耻。可惜JSF既要沿用Swing的技术路线,又要学ASP.NET,还要照顾产商的IDE,结果搞了个四不象,弄得里外不是人。当然Sun的技术实力毕竟是超强的,只要别重蹈EJB的覆辙,拿出点专断的精神(像这两年的NetBeans),做出像Swing那样水准的东西,JSF当大有作为。JSF现在比较有优势的是对Ajax的集成,这一点走在了其他框架的前面。
而Struts就更没有志气了,把WebWork换了个标签,凑出个Struts2,Bug多多。说实在话,根本不如原版的WebWork。如果不是靠了原先的fans捧场,根本就没得混。不过Struts原本就不是以技术取胜的,靠的是抢占先机带来的习惯优势。如果原先的fans们在这两年内都能转到Struts2,那么Struts二世仍将雄霸天下。
综上所述,未来两年,JSF与Struts将展开Java Web框架的最终战争。
以笔者愚见,结局有二:一是不论Struts还是JSF获胜,Java Web层都将结束混战的局面,这对Java Web开发的标准化是非常有利的,并有助于巩固Java在B/S界的地位;二是Struts1.x、Struts2、JSF三分天下,必然从整体上削弱Java在B/S界的竞争力,并将进一步被RoR、ASP.NET、PHP所蚕食。
有兴趣者参加讨论。
评论
38 楼
oufeng1983
2007-04-22
我以前用JSF。现在又换用了struts1.X。原因是在使用JSF过程中出现了一些不明问题。一时解决不了。
37 楼
lordhong
2007-04-22
真正的UI,或者说实现RIA的话,就要望前看,WFP和APOLLO。
STRUTS只不过是个MVC的FRAMEWORK,JSF还是老套的TAG。
用FLEX,结合J2EE服务端,客户端只需要FLASH RUNTIME(基本上大家都有,LINUX版的也出了),通过flex data service(免费),UI你想怎么做就怎么做,速度比ajax快N倍,特别是传输数据的速度。
本人这段时间做了个flex 2的企业应用软件,20天基本做完前台和后台的所有功能,6月份发表后,再给大家详细说说 :)
STRUTS只不过是个MVC的FRAMEWORK,JSF还是老套的TAG。
用FLEX,结合J2EE服务端,客户端只需要FLASH RUNTIME(基本上大家都有,LINUX版的也出了),通过flex data service(免费),UI你想怎么做就怎么做,速度比ajax快N倍,特别是传输数据的速度。
本人这段时间做了个flex 2的企业应用软件,20天基本做完前台和后台的所有功能,6月份发表后,再给大家详细说说 :)
36 楼
hanfengmvp
2007-04-22
用Wicket还不错,struts真的感觉效率太低了
35 楼
林秋枫
2007-04-21
downpour 写道
JJYAO 写道
dlee 写道
icess 写道
另外关于和服务器的绑定从何说起呢. 望赐教.
JSF最初搞出来是为了与ASP.NET竞争的,它们都被划为一类“服务器端事件驱动的开发框架”。从技术上来说,它们要比WPF和Apollo落后了一代。WPF和Apollo所基于的开发框架是“客户端事件驱动的开发框架”。
你来回答我这几个问题:
1. 在JSF中,用户事件是在哪里处理的?客户端还是服务器端?
2. 在JSF中,用户的状态是在哪里存储的?客户端还是服务器端?
3. 是不是所有的场合,用户事件和用户的状态都需要放在服务器端处理和存储?哪些特定的场合必须要在服务器端做这些事情?这些特定的场合能否代表所有的场合都需要这样做?
JSF技术优势目前至少比Struts,Webwork高出一块
概括的说,使用JSF的目的有2点
1. 降低Web层应用成本
a)开发成本
b)维护成本
c)升级成本
2. 结合JSF控件,能够提供用户更多的客户化定制能力
大家使用AJAX的应用显然主要是为了提升用户的操作体验,而客户定制能力个人认为将会引起更大的关注,服务端逻辑的定制能力/潜力目前要比客户端强不少
如果你们公司已经有了自己的组件库,并能提供强大的扩展能力,而扩展方式又能遵循规范的话,同时又有足够的资金不断升级组件库/核心框架时,目前没有必要考虑JSF
完全扯淡,实在看不出JSF哪里降低了Web层的应用成本和升级成本。我最近正在用JSF做一个项目,它的那些组件,不但没有IDE支持,那些Tag还不易于扩展。很多时候,一个简单的用户需求,用JSF根本无法做到。
最要命的就是JSF做出来的Web页面由于缺乏IDE的直接支持,基本上无法View,这一点是Web开发的大忌,而这一点,Struts和Webwork都只是将Tag作为其一个部分,相对要好一些。
老实说,JSF这个技术的初衷是和ASP.NET去抗衡,但是发展过程中丝毫没有考虑到微软为什么可以大力发展它的组件事业——强大的IDE支持。所以,除非日后Java世界可以出一个类似微软的超强IDE,否则我是不会再考虑JSF这种技术的。
不用幻想有超强IDE。即使出来了,JSF就已经给扔到垃圾堆里了。
说到view,Tapestry的视图层就直接是html模板,不用运行直接可以流浪。程序员代码和美工基本可以分开做的。
34 楼
林秋枫
2007-04-21
JJYAO 写道
dlee 写道
icess 写道
另外关于和服务器的绑定从何说起呢. 望赐教.
JSF最初搞出来是为了与ASP.NET竞争的,它们都被划为一类“服务器端事件驱动的开发框架”。从技术上来说,它们要比WPF和Apollo落后了一代。WPF和Apollo所基于的开发框架是“客户端事件驱动的开发框架”。
你来回答我这几个问题:
1. 在JSF中,用户事件是在哪里处理的?客户端还是服务器端?
2. 在JSF中,用户的状态是在哪里存储的?客户端还是服务器端?
3. 是不是所有的场合,用户事件和用户的状态都需要放在服务器端处理和存储?哪些特定的场合必须要在服务器端做这些事情?这些特定的场合能否代表所有的场合都需要这样做?
JSF技术优势目前至少比Struts,Webwork高出一块
概括的说,使用JSF的目的有2点
1. 降低Web层应用成本
a)开发成本
b)维护成本
c)升级成本
2. 结合JSF控件,能够提供用户更多的客户化定制能力
大家使用AJAX的应用显然主要是为了提升用户的操作体验,而客户定制能力个人认为将会引起更大的关注,服务端逻辑的定制能力/潜力目前要比客户端强不少
如果你们公司已经有了自己的组件库,并能提供强大的扩展能力,而扩展方式又能遵循规范的话,同时又有足够的资金不断升级组件库/核心框架时,目前没有必要考虑JSF
1.JSF技术可以Web层应用成本吗?
a)从开发成本看,JSF的学习成本不低,找一个JSF的程序员肯定比招一个struts的高;
b)从维护成本看,JSF标签加组件的思想方式,还有用IDE拖拉产生的代码对维护人员来说就是一个恶梦;
c)从升级成本看,JSF不能平滑从struts过度。这个成本和使用其他框架一样大。
2.JSF的UI组件和基于事件实现虽然很不错,但是架构还没有Tapestry4.0优秀,更加比不上Tapestry5.0。
UI组件和基于事件的技术其实并没有什么神秘的,这两个优点Tapestry都有。都是用代码来产生JS的脚本而已。
而且UI组件还有很多问题的,一个页面组件多了。效率很低的。一个功能要在页面上消耗大量的时间简直不能忍受。
33 楼
downpour
2007-04-21
JJYAO 写道
dlee 写道
icess 写道
另外关于和服务器的绑定从何说起呢. 望赐教.
JSF最初搞出来是为了与ASP.NET竞争的,它们都被划为一类“服务器端事件驱动的开发框架”。从技术上来说,它们要比WPF和Apollo落后了一代。WPF和Apollo所基于的开发框架是“客户端事件驱动的开发框架”。
你来回答我这几个问题:
1. 在JSF中,用户事件是在哪里处理的?客户端还是服务器端?
2. 在JSF中,用户的状态是在哪里存储的?客户端还是服务器端?
3. 是不是所有的场合,用户事件和用户的状态都需要放在服务器端处理和存储?哪些特定的场合必须要在服务器端做这些事情?这些特定的场合能否代表所有的场合都需要这样做?
JSF技术优势目前至少比Struts,Webwork高出一块
概括的说,使用JSF的目的有2点
1. 降低Web层应用成本
a)开发成本
b)维护成本
c)升级成本
2. 结合JSF控件,能够提供用户更多的客户化定制能力
大家使用AJAX的应用显然主要是为了提升用户的操作体验,而客户定制能力个人认为将会引起更大的关注,服务端逻辑的定制能力/潜力目前要比客户端强不少
如果你们公司已经有了自己的组件库,并能提供强大的扩展能力,而扩展方式又能遵循规范的话,同时又有足够的资金不断升级组件库/核心框架时,目前没有必要考虑JSF
完全扯淡,实在看不出JSF哪里降低了Web层的应用成本和升级成本。我最近正在用JSF做一个项目,它的那些组件,不但没有IDE支持,那些Tag还不易于扩展。很多时候,一个简单的用户需求,用JSF根本无法做到。
最要命的就是JSF做出来的Web页面由于缺乏IDE的直接支持,基本上无法View,这一点是Web开发的大忌,而这一点,Struts和Webwork都只是将Tag作为其一个部分,相对要好一些。
老实说,JSF这个技术的初衷是和ASP.NET去抗衡,但是发展过程中丝毫没有考虑到微软为什么可以大力发展它的组件事业——强大的IDE支持。所以,除非日后Java世界可以出一个类似微软的超强IDE,否则我是不会再考虑JSF这种技术的。
32 楼
dlee
2007-04-21
JSF啊,生不逢时,尚未盛开,很可能即将凋谢。因为——RIA的时代来了。
我不是很看好JSF在国内普及的前景。不过这些要等时间来检验的,我们等着瞧吧。
我不是很看好JSF在国内普及的前景。不过这些要等时间来检验的,我们等着瞧吧。
31 楼
JJYAO
2007-04-21
dlee 写道
to JJYAO:
眼睛别光盯着Java世界啊,其实Flex等等这些RIA技术才是JSF的死敌。真正要获得rich的交互,用Flex不是更好(界面更漂亮、响应更迅速),为何一定要用JSF呢?而且这些RIA技术的开发效率也很高啊,开发效率方面JSF并没有优势。那么还有什么理由呢,是不是这个?
“因为我是做Java的,用Java做所有的开发是我的最爱,所以我要用Java做所有的开发,从今天到10年后,我都要用Java做所有的开发。我喜欢Java,这就是理由。”
眼睛别光盯着Java世界啊,其实Flex等等这些RIA技术才是JSF的死敌。真正要获得rich的交互,用Flex不是更好(界面更漂亮、响应更迅速),为何一定要用JSF呢?而且这些RIA技术的开发效率也很高啊,开发效率方面JSF并没有优势。那么还有什么理由呢,是不是这个?
“因为我是做Java的,用Java做所有的开发是我的最爱,所以我要用Java做所有的开发,从今天到10年后,我都要用Java做所有的开发。我喜欢Java,这就是理由。”
讨论这个问题还要有个Scope。贴子主题是“Java Web层下一个王者是谁?”
30 楼
dlee
2007-04-21
to JJYAO:
眼睛别光盯着Java世界啊,其实Flex等等这些RIA技术才是JSF的死敌。真正要获得rich的交互,用Flex不是更好(界面更漂亮、响应更迅速),为何一定要用JSF呢?而且这些RIA技术的开发效率也很高啊,开发效率方面JSF并没有优势。那么还有什么理由呢,是不是这个?
“因为我是做Java的,用Java做所有的开发是我的最爱,所以我要用Java做所有的开发,从今天到10年后,我都要用Java做所有的开发。我喜欢Java,这就是理由。”
眼睛别光盯着Java世界啊,其实Flex等等这些RIA技术才是JSF的死敌。真正要获得rich的交互,用Flex不是更好(界面更漂亮、响应更迅速),为何一定要用JSF呢?而且这些RIA技术的开发效率也很高啊,开发效率方面JSF并没有优势。那么还有什么理由呢,是不是这个?
“因为我是做Java的,用Java做所有的开发是我的最爱,所以我要用Java做所有的开发,从今天到10年后,我都要用Java做所有的开发。我喜欢Java,这就是理由。”
29 楼
JJYAO
2007-04-21
dlee 写道
icess 写道
另外关于和服务器的绑定从何说起呢. 望赐教.
JSF最初搞出来是为了与ASP.NET竞争的,它们都被划为一类“服务器端事件驱动的开发框架”。从技术上来说,它们要比WPF和Apollo落后了一代。WPF和Apollo所基于的开发框架是“客户端事件驱动的开发框架”。
你来回答我这几个问题:
1. 在JSF中,用户事件是在哪里处理的?客户端还是服务器端?
2. 在JSF中,用户的状态是在哪里存储的?客户端还是服务器端?
3. 是不是所有的场合,用户事件和用户的状态都需要放在服务器端处理和存储?哪些特定的场合必须要在服务器端做这些事情?这些特定的场合能否代表所有的场合都需要这样做?
JSF技术优势目前至少比Struts,Webwork高出一块
概括的说,使用JSF的目的有2点
1. 降低Web层应用成本
a)开发成本
b)维护成本
c)升级成本
2. 结合JSF控件,能够提供用户更多的客户化定制能力
大家使用AJAX的应用显然主要是为了提升用户的操作体验,而客户定制能力个人认为将会引起更大的关注,服务端逻辑的定制能力/潜力目前要比客户端强不少
如果你们公司已经有了自己的组件库,并能提供强大的扩展能力,而扩展方式又能遵循规范的话,同时又有足够的资金不断升级组件库/核心框架时,目前没有必要考虑JSF
28 楼
抛出异常的爱
2007-04-20
你发了之后我才点的提交。。。
引用上一条时当然是你的文了
引用上一条时当然是你的文了
27 楼
抛出异常的爱
2007-04-20
rainlife 写道
dlee 写道
没有关系,Flex开发出来的Flash组件是不需要服务器端的Flex展现服务器就可以使用的,只要浏览器安装了Flash插件就足够了。
是的,flash并不需要相应的展现服务器,ADOBE的这一条路,可以说是相当成功的,只要有浏览器的地方,就可以展示flash。
是的,但是对于flash开发来说太多的专有格式,
太密封的存放格式
使所有的应用必须建立在他的大帝国之上
想要找到所有的ActionScript对于一个复杂一点的fla文件
比登天还难。。。。
26 楼
weiqingfei
2007-04-20
rainlife 写道
dlee 写道
没有关系,Flex开发出来的Flash组件是不需要服务器端的Flex展现服务器就可以使用的,只要浏览器安装了Flash插件就足够了。
是的,flash并不需要相应的展现服务器,ADOBE的这一条路,可以说是相当成功的,只要有浏览器的地方,就可以展示flash。
flash都可以当成一个客户端软件使用,不一定要浏览器支持。
一直觉得flash这个东西是间与cs和bs之间的一个东西。
25 楼
rainlife
2007-04-20
dlee 写道
没有关系,Flex开发出来的Flash组件是不需要服务器端的Flex展现服务器就可以使用的,只要浏览器安装了Flash插件就足够了。
是的,flash并不需要相应的展现服务器,ADOBE的这一条路,可以说是相当成功的,只要有浏览器的地方,就可以展示flash。
24 楼
dlee
2007-04-20
没有关系,Flex开发出来的Flash组件是不需要服务器端的Flex展现服务器就可以使用的,只要浏览器安装了Flash插件就足够了。
23 楼
rainlife
2007-04-20
dlee 写道
引用
毕竟操作监听器这种东西天经地义就应该放在客户端而不是放在服务端的。服务端只应该处理service。
我比较看好一些RIA技术,例如WPF和Apollo等等,Flex也是一个很好的选择。但是WPF和Apollo都需要额外安装客户端的runtime,Internet应用使用这些技术目前还不现实(因为你无法去控制客户端)。目前比较现实的是用Flex开发一些Flash组件,暴露出JavaScript调用的接口可以被Ajax应用来调用和配置。一些复杂的组件如DataGrid、各种样式的Chart等等都是Flash的强项。Ajax可以与Flash很好地结合在一起,形成一种互补的关系。
FLEX确实不错,但ADOBE没有将它开源,是付费,flex2.0之后,相当不错,而且还有一个自己的开发工具,不知道这里有没有人做过openlaszlo,一个RIA的开源框架,好像最近发布的版本各方面都还不错,并不一定生成flash,也可以生成DHTML,可能以后会是RIA的一个不错的平台。
22 楼
dlee
2007-04-20
icess 写道
另外关于和服务器的绑定从何说起呢. 望赐教.
JSF最初搞出来是为了与ASP.NET竞争的,它们都被划为一类“服务器端事件驱动的开发框架”。从技术上来说,它们要比WPF和Apollo落后了一代。WPF和Apollo所基于的开发框架是“客户端事件驱动的开发框架”。
你来回答我这几个问题:
1. 在JSF中,用户事件是在哪里处理的?客户端还是服务器端?
2. 在JSF中,用户的状态是在哪里存储的?客户端还是服务器端?
3. 是不是所有的场合,用户事件和用户的状态都需要放在服务器端处理和存储?哪些特定的场合必须要在服务器端做这些事情?这些特定的场合能否代表所有的场合都需要这样做?
21 楼
icess
2007-04-20
dlee 写道
引用
jsf对AJAX的集成,就是关注在一些普遍,简单的ajax功能上,让开发者可以不用写任何js代码就可以开发出ajax功能从程序,这其他东西可以实现吗.
瞧把你给美的,ASP.NET Ajax早就可以做这些事情了。
而且JSF给Ajax造成的紧耦合,事件模型和状态存储与服务器的严重绑定,这些是不能不考虑的。
给你一点甜头你果然就上钩了。
我是说在java中的web框架,而不是其他语言的框架.
dlee 写道
而且JSF给Ajax造成的紧耦合,事件模型和状态存储与服务器的严重绑定,这些是不能不考虑的。
这叫做包装好的组件,怎么可以叫做紧耦合呢,如果这么说,那你使用dojo这些实现,算不算和这些框架的紧耦合呢?
另外关于和服务器的绑定从何说起呢. 望赐教.
20 楼
dlee
2007-04-20
Julien 写道
毕竟操作监听器这种东西天经地义就应该放在客户端而不是放在服务端的。服务端只应该处理service。
我比较看好一些RIA技术,例如WPF和Apollo等等,Flex也是一个很好的选择。但是WPF和Apollo都需要额外安装客户端的runtime,Internet应用使用这些技术目前还不现实(因为你无法去控制客户端)。目前比较现实的是用Flex开发一些Flash组件,暴露出JavaScript调用的接口可以被Ajax应用来调用和配置。一些复杂的组件如DataGrid、各种样式的Chart等等都是Flash的强项。Ajax可以与Flash很好地结合在一起,形成一种互补的关系。
19 楼
xly_971223
2007-04-20
icess 写道
struts1.X 由于遗留系统太多, 还会继续有市场,
JSF 是SUN,IBM,Oracle等几家大型厂商公共制定的一个JSR, 是个标准
JSF 是SUN,IBM,Oracle等几家大型厂商公共制定的一个JSR, 是个标准
标准可能会被服务提供商提供 未必会被开发人员接受
ejb2不也是标准吗,还不是被hibernate打垮
这些标准只不过是垄断市场的手段而已 影响不了业界的方向
发表评论
-
别了,Sun的Java
2009-04-21 15:28 1137今天上午惊闻Oracle对Sun ... -
有了OO、分层、DI、AOP、TDD和Refector,DDD不再是空谈
2008-12-31 11:25 1404一晃眼搞了7、8年的企 ... -
坚持发扬EJB、Spring的光辉思想,将组件化进行到底!
2008-12-31 09:10 886(这是一年半前在jdon首发的老文,因观点比较激烈,仅作整理收 ... -
借JavaFX之风,Swing终于熬到了出头之日
2008-12-17 16:00 6527前几天看了点新闻,一是说JavaFX1.0的推出,二是是说Su ... -
Spring性能小测,参其它技术
2008-06-04 18:25 4839昨天参与了“有感而发:JavaEE和ROR的本质区别,以及对R ... -
硬件越跑越快,软件越陷越慢
2008-05-06 17:04 2888近日总算有点空闲,走马观花测试了一些技术,包括Grails、S ... -
swt、eclipse RCP与“Java All in One”
2008-03-25 10:13 2248近年来的eclipse与netbeans ... -
伟大的Hessian
2007-10-05 15:10 15611前几日看过道友lordhong的文章“Hessian开始支持R ... -
Java的表示层,到底该怎么办?
2007-07-02 15:15 2735Java做老大很久了,而Jav ... -
有感于“以复杂性为生的行业”
2007-04-24 17:11 5787Rod Johnson在“without EJB”中说了很多真 ...
相关推荐
《Java Web整合开发王者归来》这本书的标题和描述都强调了Java Web开发的整合过程,并表示这是一本关于Java Web开发的完整指南。从这些信息中,我们可以推断出书中可能涉及的一些关键知识点: 1. Java基础:作为...
《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》附1张DVD光盘,内容为《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》汲及的源代码和Java Web学习视频。 《Java Web整合...
《Java Web整合开发王者归来》是一本专注于Java Web应用程序开发的书籍,其源代码提供了丰富的实践案例,涵盖了从基础到高级的各种技术。以下是对这些源代码文件的详细解读: 1. **petstoreEJB**: 这个目录可能包含...
《Java Web整合开发王者归来》是一本专注于Java Web开发的权威指南,旨在为读者提供全面、深入且实战性强的学习资源。这本书籍不仅适合初学者,也适用于已经有一定基础的Java Web开发者,以及需要在工作中频繁查阅...
由于上传大小限制50M,因此分享的是我的百度网盘链接,下载后文本文件里有链接,包括Java Web整合开发王者归来整本书326.5M 的PDF文档以及54.7M的光盘源代码 本书简介: 资深Java程序员耗时一年时间写作,十年开发...
《Java.Web整合开发王者归来》是一本专注于Java技术在Web开发领域的深度剖析和实践指南。这本书结合了Java语言的强大功能和Web开发的丰富应用场景,旨在帮助开发者提升在这一领域的专业技能,实现技术的王者归来。 ...
【标题】"java web整合开发王者归来光盘代码-database文件夹" 提示我们这是一个关于Java Web集成开发的项目,其中包含与数据库相关的代码。在Java Web开发中,数据库是关键组成部分,通常用于存储和检索应用程序的...
《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》全面介绍了Java Web开发中的各种相关技术及知识。全书分为9篇,内容层次清晰,难度循序渐进。第1篇为入门篇,内容包括Java Web开发概述等;第2篇...
【标题】"Java Web整合开发王者归来随书光盘下build、src(5/5)"涉及的内容主要是Java Web开发中的关键技术和框架,这其中包括了多个项目实例和源码,如xfireDemo、struts2、session管理、struts1、自定义tag库、...
【Java Web整合开发王者归来】是一本专注于Java Web开发的经典教程,其配套的光盘代码包含了一个名为"chart"的文件夹,这个文件夹主要涉及的是图表和数据可视化部分的示例代码。在这个项目中,开发者使用了四大核心...
《Java Web整合开发王者归来》源码下载是一个全面的资源集合,涵盖了多个核心Java Web技术,包括Spring、Struts2、数据库管理等多个方面。对于初学者或是从其他编程语言如C#转行到Java的开发者来说,这是一份非常...
《Java Web整合开发王者归来》是一本专注于Java Web开发的深度教程,其源代码提供了丰富的实践案例,帮助读者深入理解并掌握相关技术。这个压缩包包含的子文件主要涵盖了以下几个核心知识点: 1. **论坛系统(forum...
"Java Web整合开发王者归来随书光盘下build、src(1/5)"这部分内容可能包含了一个完整的Java Web项目的源代码和构建文件,但由于文件大小的限制,被分为了五个部分。现在我们来详细讨论其中的关键知识点。 首先,`...
【Java Web整合开发王者归来】是一本专注于Java Web开发的权威指南,旨在帮助开发者全面掌握在Web环境中使用Java技术进行高效、稳定的应用程序构建。这本书的光盘内容和PDF文档通常会包含丰富的教程、示例代码和实战...
每个目录都代表了一个Java Web开发的重要主题,通过深入研究这些代码和文档,开发者能够全面了解和掌握Java Web开发的各个环节,从基础到高级,从理论到实践,从而在开发领域中成为真正的“王者”。
【Java Web王者归来代码】是一份综合性的Java Web开发学习资源,它包含了全面的代码示例,旨在帮助开发者深入理解并掌握Java Web编程的核心技术。这份压缩包中的代码集可能是某个教程、项目或者课程的配套材料,允许...
《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》全面介绍了Java Web开发中的各种相关技术及知识。全书分为9篇,内容层次清晰,难度循序渐进。第1篇为入门篇,内容包括Java Web开发概述等;...
尽管实际内容并未给出具体的技术细节,但从标题“Java_Web整合开发 王者归来004”以及描述“一款学习java web开发的非常好的教材,一款web开发强人的技术词典”中可以提取到以下关键知识点: ### Java Web开发基础 ...