- 浏览: 965162 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
sscsacdsadcsd:
mike8625 写道react还要自己的一些标签 还得编译 ...
对于React体系的一点想法 -
mike8625:
说的都是给大公司听的,国内很多还是小公司,做个小项目, 说实话 ...
关于国内前端和JS技术发展的乱想 -
mike8625:
react还要自己的一些标签 还得编译 编译吧浏览器端说还慢 ...
对于React体系的一点想法 -
u012814086:
下意识想到了Golang
JavaScript语句后应该加分号么? -
xueduanyang:
我是水羊,年轻的时候觉得只要有好斧子就能做成好产品,各种产品都 ...
关于国内前端和JS技术发展的乱想
Javaeye论坛又谈到红岗同志了:http://www.iteye.com/topic/110484
我就去看了一下OperaMasks的网站,看到了红岗和张勇的《勇敢者的新世界》。以下是我的comment。
看了前面的历史回顾,写得不错,我本对后面的java web framework部分充满希望,不料,第4节居然就寥寥几句,java世界如此多的开源和商业的web framework,居然作者提都未提,只说了servlet/jsp和古老的struts,连ASP.NET的描述也比它多。难道作者认为所有的读者都还停留在2001年?我看读者没有“审美疲劳”,是作者“记忆疲劳”了。
我不相信红岗和张勇你们没有看到过java世界web framework的欣欣向荣,仅仅列入Apache的就有webworks、tapestry、turbine,还有cocoon。也不用说像gwt、echo、dwr、rife、zk等,哪一个不是名声在外,连你们熟知的Spring都有Spring MVC来插一杠子,你们居然全都视而不见?我只能认为你们是有意略过。这就是所谓“选择性失忆”。其他领域我们不说,但对于技术人员来说,这是很不应该的。
然而不谈这些java领域的web framework,不把OperaMasks放在这样一个大舞台上与其他java web framework做做比较,你们就自夸OperaMasks是“from earth to the moon, and ready for Mars”,号称“在技术和思想上傲视群雄”,这就更未免有些可笑了。有自信是好事,但是不幸的是,我们不止一次看到自信沦为自大狂妄甚或无知。OperaMasks是不是也会如此?我不知道,我也不希望如此。
下面谈谈技术。
说老实话,OperaMasks要自夸,首先你要证明JSF技术的先进性。作为一个有超过8年经验的web开发者,我对于Sun官方的JSF,甚至Java社区众多的MVC框架和一些新兴框架,都有着深深的疑虑。众多企图抹平网络编程与桌面编程的鸿沟,企图让开发者完全不用了解B/S原理,企图服务器端掌控一切的所谓“简化”,实际上真的是web开发的方向吗?B/S的请求响应机制,HTTP作为无状态协议等,都是web编程的固有约束(参见著名的REST论文),而以ASP.NET和JSF为代表的技术方向,实际上是在背离和打破这一约束的道路上越走越远。掩盖web编程“复杂性”的“简化”事实上能真正简化问题吗?实际上为了掩盖复杂性,也许底层付出了更大的复杂性的代价。许多框架的前提是,开发者不需要陷入这些plumbing,可能对于许多应用来说确实如此,但是一旦开发者被迫陷入必须处理一些设计者故意忽略的问题,他可能会发现陷入了巨大的困境中。微软的winforms和ASP.NET就是这样一种模式的典型代表,如果默认提供的那些控件够用,一切ok,但是如果你想稍作改变,extends一下,就会发现陷入大麻烦了,只好去买第三方控件。而你去看看那些第三方控件,全部是自行实现的,没有一个是从默认控件继承出来的。而这些第三方控件与默认控件是否能和平共存互相协调呢,很有可能不行,或者是会产生一些奇怪的bug,这全赖于第三方是否对其底层有足够的经验和能力。也就是说,表面的简单,换回的是开发者对于系统内部复杂性的理解力的丧失和自行扩展系统能力的严重下降,开发者对于第三方控件,最终也只能“以貌取人”,面对的风险是极大的。
JSF或者说OperaMasks会不会这样呢?这很难说,但是我不太乐观。因为我深知web客户端编程的复杂性,直接的客户端Ajax开发框架如prototype、dojo、YUI、ext等尚在努力,而服务器端连这一层都要掩盖。掩盖复杂性不是做不到,但是要把这多层复杂性以优雅的方式隐藏起来,并且还能在需要接触内部的时候,优雅的显露出来,简直是mission impossible,到目前为止,我还没有看到成功的。OperaMasks可以吗?存疑。这里有篇blog:http://canonical.iteye.com/blog/106766,对于JSF有这样的结论:“所有问题的一个集中体现就是增加一个新的JSF组件绝对不是一件平凡的事情。”
我们再看看Render kit。说起来只要更换一套render kit,就可以Ajax enabled。理论上似乎可行,但是这很可能只是具有一点Ajax的皮毛效果而已。实际上,开发者丧失了许多控制,特别是架构上的控制。比如JSF能支持REST架构么?不仅是现实中,在理论上就存在困境。因为JSF的语义可能就与REST架构不匹配。
当然对于偶尔做web开发,以java编程为主的开发者来说,JSF是有吸引力,特别对于企业内部应用来说,也有一定实用性的。但是以web开发为主,特别是做大规模web开发的人来说,应该对JSF抱有警惕。因为,这种类型的开发简化,很可能是以各个部分之间的紧耦合为代价的。
我再摘录一段文字:“同样,这个世界还存在许多Ajax Framework,譬如dojo。我们并不否认这些Ajax开发框架的优秀,但是,与它们的优点同样明显的局限之处是:dodo之类的Ajax开发框架仅仅解决了客户端的问题,对任何服务器端逻辑,dojo无能为力。J2EE是一个整体,它不仅需要解决表现层问题,也要解决数据层和逻辑层的问题,JSF 是JavaEE 5.0的一个重要组成部分,这就使得Apusic OperaMasks不仅可以创建丰富的客户端体验,同时可以和JavaEE应用服务器结合,从而建立强大的服务器端逻辑绑定。”
事实上,你们所认为的局限性恰恰可能是我们认为的优点。为什么JavaEE要解决所有问题呢?会不会所谓解决整体的方案,实际上会把问题搞砸呢(最著名的例子是EJB)?如果把JavaEE限制在数据层和逻辑层,以web services(无论SOAP还是Restful的形式)提供出来,而由纯浏览器端技术来解决表现层,是否可能是一种更好的方案呢?比如REST架构所体现出来的松耦合、语义透明性、极高的可伸缩性,纯浏览器端Ajax框架所体现出来的高交互的用户体验、灵活性、以及不依赖於服务器端的互操作性。
对于JSF的忧虑或质疑,不是我个人,而是社区内普遍的声音,像是 What's wrong with JSF 之类的讨论已经不稀奇了,宣称 JSF is dead 甚至 officially dead 也随处可见。国外如此,国内也是如此。
最后,我赞赏OpearMasks的GPL开源和社区路线(但现在要更换协议,令人有点担忧)。Native Ajax支持确实也略有新意。但是这还远远不够,目前为止,说OperaMasks思想和技术有什么领先处,实在无法令人信服。我所看到的只是令人遗憾的选择性失忆。
把extjs打包在程序里再卖赚钱是要有OEM/Reseller的license的。http://extjs.com/license。
OperaMasks买了商业许可证没有啊?
我觉得asp.net还是不错的,当然前提是配合VS.NET.
我不知道是不是JSF的组件模型本身的缺陷,为什么JSF出现好多年了,可是JSF的开发工具还都跟玩具一样的.做个复杂点的HelloWorld还行.一遇到复杂的需求就很难用了.
也许问题不是出在JSF上,而是出在J2EE上.J2EE的复杂度太高了使得JSF的复杂度降不下来.
这和j2ee没关系,应该是硬要在web程序上使用事件驱动模式造成的。
但是asp.net也是事件驱动模啊,从1.0出来的时候,我就用它做了一个比较复杂的应用程序,当时我感觉很好用.我觉得是JSF的组件模型有问题,感觉JSF组件很难做.JSF的IDE的可视化程度也比较差.
这种模式的初衷是为了让web开发同桌面开发有一样的体验,在做一些简单的程序时确实非常方便,asp.net有一个demo几乎不用写一行程序就能开发一个简单得bbs。按道理说,使用这种模式是为了让桌面程序员也能快速上手,使用组件也是为了能够快速的进行开发,但是事实上,如果不把组件内部运作原理搞得一清二楚,真的很难使用。
其实对于个人,我比较反感的是为了实现事件驱动模式,要在客户端保留大量的状态,增加了流量的同时,还增加了客户端和服务器的负担。
我觉得asp.net还是不错的,当然前提是配合VS.NET.
我不知道是不是JSF的组件模型本身的缺陷,为什么JSF出现好多年了,可是JSF的开发工具还都跟玩具一样的.做个复杂点的HelloWorld还行.一遇到复杂的需求就很难用了.
也许问题不是出在JSF上,而是出在J2EE上.J2EE的复杂度太高了使得JSF的复杂度降不下来.
这和j2ee没关系,应该是硬要在web程序上使用事件驱动模式造成的。
但是asp.net也是事件驱动模啊,从1.0出来的时候,我就用它做了一个比较复杂的应用程序,当时我感觉很好用.我觉得是JSF的组件模型有问题,感觉JSF组件很难做.JSF的IDE的可视化程度也比较差.
我觉得asp.net还是不错的,当然前提是配合VS.NET.
我不知道是不是JSF的组件模型本身的缺陷,为什么JSF出现好多年了,可是JSF的开发工具还都跟玩具一样的.做个复杂点的HelloWorld还行.一遇到复杂的需求就很难用了.
也许问题不是出在JSF上,而是出在J2EE上.J2EE的复杂度太高了使得JSF的复杂度降不下来.
这和j2ee没关系,应该是硬要在web程序上使用事件驱动模式造成的。
我觉得asp.net还是不错的,当然前提是配合VS.NET.
我不知道是不是JSF的组件模型本身的缺陷,为什么JSF出现好多年了,可是JSF的开发工具还都跟玩具一样的.做个复杂点的HelloWorld还行.一遇到复杂的需求就很难用了.
也许问题不是出在JSF上,而是出在J2EE上.J2EE的复杂度太高了使得JSF的复杂度降不下来.
我就去看了一下OperaMasks的网站,看到了红岗和张勇的《勇敢者的新世界》。以下是我的comment。
看了前面的历史回顾,写得不错,我本对后面的java web framework部分充满希望,不料,第4节居然就寥寥几句,java世界如此多的开源和商业的web framework,居然作者提都未提,只说了servlet/jsp和古老的struts,连ASP.NET的描述也比它多。难道作者认为所有的读者都还停留在2001年?我看读者没有“审美疲劳”,是作者“记忆疲劳”了。
我不相信红岗和张勇你们没有看到过java世界web framework的欣欣向荣,仅仅列入Apache的就有webworks、tapestry、turbine,还有cocoon。也不用说像gwt、echo、dwr、rife、zk等,哪一个不是名声在外,连你们熟知的Spring都有Spring MVC来插一杠子,你们居然全都视而不见?我只能认为你们是有意略过。这就是所谓“选择性失忆”。其他领域我们不说,但对于技术人员来说,这是很不应该的。
然而不谈这些java领域的web framework,不把OperaMasks放在这样一个大舞台上与其他java web framework做做比较,你们就自夸OperaMasks是“from earth to the moon, and ready for Mars”,号称“在技术和思想上傲视群雄”,这就更未免有些可笑了。有自信是好事,但是不幸的是,我们不止一次看到自信沦为自大狂妄甚或无知。OperaMasks是不是也会如此?我不知道,我也不希望如此。
下面谈谈技术。
说老实话,OperaMasks要自夸,首先你要证明JSF技术的先进性。作为一个有超过8年经验的web开发者,我对于Sun官方的JSF,甚至Java社区众多的MVC框架和一些新兴框架,都有着深深的疑虑。众多企图抹平网络编程与桌面编程的鸿沟,企图让开发者完全不用了解B/S原理,企图服务器端掌控一切的所谓“简化”,实际上真的是web开发的方向吗?B/S的请求响应机制,HTTP作为无状态协议等,都是web编程的固有约束(参见著名的REST论文),而以ASP.NET和JSF为代表的技术方向,实际上是在背离和打破这一约束的道路上越走越远。掩盖web编程“复杂性”的“简化”事实上能真正简化问题吗?实际上为了掩盖复杂性,也许底层付出了更大的复杂性的代价。许多框架的前提是,开发者不需要陷入这些plumbing,可能对于许多应用来说确实如此,但是一旦开发者被迫陷入必须处理一些设计者故意忽略的问题,他可能会发现陷入了巨大的困境中。微软的winforms和ASP.NET就是这样一种模式的典型代表,如果默认提供的那些控件够用,一切ok,但是如果你想稍作改变,extends一下,就会发现陷入大麻烦了,只好去买第三方控件。而你去看看那些第三方控件,全部是自行实现的,没有一个是从默认控件继承出来的。而这些第三方控件与默认控件是否能和平共存互相协调呢,很有可能不行,或者是会产生一些奇怪的bug,这全赖于第三方是否对其底层有足够的经验和能力。也就是说,表面的简单,换回的是开发者对于系统内部复杂性的理解力的丧失和自行扩展系统能力的严重下降,开发者对于第三方控件,最终也只能“以貌取人”,面对的风险是极大的。
JSF或者说OperaMasks会不会这样呢?这很难说,但是我不太乐观。因为我深知web客户端编程的复杂性,直接的客户端Ajax开发框架如prototype、dojo、YUI、ext等尚在努力,而服务器端连这一层都要掩盖。掩盖复杂性不是做不到,但是要把这多层复杂性以优雅的方式隐藏起来,并且还能在需要接触内部的时候,优雅的显露出来,简直是mission impossible,到目前为止,我还没有看到成功的。OperaMasks可以吗?存疑。这里有篇blog:http://canonical.iteye.com/blog/106766,对于JSF有这样的结论:“所有问题的一个集中体现就是增加一个新的JSF组件绝对不是一件平凡的事情。”
我们再看看Render kit。说起来只要更换一套render kit,就可以Ajax enabled。理论上似乎可行,但是这很可能只是具有一点Ajax的皮毛效果而已。实际上,开发者丧失了许多控制,特别是架构上的控制。比如JSF能支持REST架构么?不仅是现实中,在理论上就存在困境。因为JSF的语义可能就与REST架构不匹配。
当然对于偶尔做web开发,以java编程为主的开发者来说,JSF是有吸引力,特别对于企业内部应用来说,也有一定实用性的。但是以web开发为主,特别是做大规模web开发的人来说,应该对JSF抱有警惕。因为,这种类型的开发简化,很可能是以各个部分之间的紧耦合为代价的。
我再摘录一段文字:“同样,这个世界还存在许多Ajax Framework,譬如dojo。我们并不否认这些Ajax开发框架的优秀,但是,与它们的优点同样明显的局限之处是:dodo之类的Ajax开发框架仅仅解决了客户端的问题,对任何服务器端逻辑,dojo无能为力。J2EE是一个整体,它不仅需要解决表现层问题,也要解决数据层和逻辑层的问题,JSF 是JavaEE 5.0的一个重要组成部分,这就使得Apusic OperaMasks不仅可以创建丰富的客户端体验,同时可以和JavaEE应用服务器结合,从而建立强大的服务器端逻辑绑定。”
事实上,你们所认为的局限性恰恰可能是我们认为的优点。为什么JavaEE要解决所有问题呢?会不会所谓解决整体的方案,实际上会把问题搞砸呢(最著名的例子是EJB)?如果把JavaEE限制在数据层和逻辑层,以web services(无论SOAP还是Restful的形式)提供出来,而由纯浏览器端技术来解决表现层,是否可能是一种更好的方案呢?比如REST架构所体现出来的松耦合、语义透明性、极高的可伸缩性,纯浏览器端Ajax框架所体现出来的高交互的用户体验、灵活性、以及不依赖於服务器端的互操作性。
对于JSF的忧虑或质疑,不是我个人,而是社区内普遍的声音,像是 What's wrong with JSF 之类的讨论已经不稀奇了,宣称 JSF is dead 甚至 officially dead 也随处可见。国外如此,国内也是如此。
最后,我赞赏OpearMasks的GPL开源和社区路线(但现在要更换协议,令人有点担忧)。Native Ajax支持确实也略有新意。但是这还远远不够,目前为止,说OperaMasks思想和技术有什么领先处,实在无法令人信服。我所看到的只是令人遗憾的选择性失忆。
评论
46 楼
rehte
2007-09-06
我觉得为什么JavaEye的人对于JSF这么敌视,从我了解的情况来看,JSF是目前增长最快的Web Framework啊,相反对于许多人推崇的Ruby on Rails、Tapestry并没有人们预想的增长那么快。刚看到一篇javalobby文章说这件事呢:
http://www.javalobby.org/java/forums/t101110.html
http://www.javalobby.org/java/forums/t101110.html
45 楼
diggywang
2007-09-06
JavaInActoin 写道
有道理。
JSF立意还是非常深远的,如果有朝一日能兑现它的诺言,那就厉害了,对于应用开发人员来说,只需要抽象地定义一下界面和交互逻辑就行了,至于底层是用dhtml、flash、applet还是用xyz,代码运行在客户端还是在服务器,只是简单配置一下,切换一下render kit而已,操作起来,就应该象软件换肤一样简单,至于这些组件如何实现,那是工具制造商和framework的责任,应用开发人员不应该去自己制造工具。
所以,JSF的目标应该是定义一组能力超强、简单易用的组件,并且真正能够和底层技术分清界限,成为UI标准规范。先别管别人能不能实现,像这种能创造一大片市场需求的,肯定会有公司不惜血本去实现。
关注需求,屏蔽技术实现细节,这是应用软件开发的大趋势。
在表现层,JSF不一定能完成这个历史重任,但一定会有能实现这个目标的东西,其实这在技术上并不非常难,难在商业方面,在标准化。
对,接触过并掌握swing的开发者来学习和开发JSF是很方便和快速的。JSF立意还是非常深远的,如果有朝一日能兑现它的诺言,那就厉害了,对于应用开发人员来说,只需要抽象地定义一下界面和交互逻辑就行了,至于底层是用dhtml、flash、applet还是用xyz,代码运行在客户端还是在服务器,只是简单配置一下,切换一下render kit而已,操作起来,就应该象软件换肤一样简单,至于这些组件如何实现,那是工具制造商和framework的责任,应用开发人员不应该去自己制造工具。
所以,JSF的目标应该是定义一组能力超强、简单易用的组件,并且真正能够和底层技术分清界限,成为UI标准规范。先别管别人能不能实现,像这种能创造一大片市场需求的,肯定会有公司不惜血本去实现。
关注需求,屏蔽技术实现细节,这是应用软件开发的大趋势。
在表现层,JSF不一定能完成这个历史重任,但一定会有能实现这个目标的东西,其实这在技术上并不非常难,难在商业方面,在标准化。
44 楼
trongtian
2007-09-04
不要吵,不要吵,我们要和谐。
用ZK吧,好东西,好像也是中国人弄的,似乎是台湾人。
用ZK吧,好东西,好像也是中国人弄的,似乎是台湾人。
43 楼
JavaInActoin
2007-09-03
有道理。
JSF立意还是非常深远的,如果有朝一日能兑现它的诺言,那就厉害了,对于应用开发人员来说,只需要抽象地定义一下界面和交互逻辑就行了,至于底层是用dhtml、flash、applet还是用xyz,代码运行在客户端还是在服务器,只是简单配置一下,切换一下render kit而已,操作起来,就应该象软件换肤一样简单,至于这些组件如何实现,那是工具制造商和framework的责任,应用开发人员不应该去自己制造工具。
所以,JSF的目标应该是定义一组能力超强、简单易用的组件,并且真正能够和底层技术分清界限,成为UI标准规范。先别管别人能不能实现,像这种能创造一大片市场需求的,肯定会有公司不惜血本去实现。
关注需求,屏蔽技术实现细节,这是应用软件开发的大趋势。
在表现层,JSF不一定能完成这个历史重任,但一定会有能实现这个目标的东西,其实这在技术上并不非常难,难在商业方面,在标准化。
JSF立意还是非常深远的,如果有朝一日能兑现它的诺言,那就厉害了,对于应用开发人员来说,只需要抽象地定义一下界面和交互逻辑就行了,至于底层是用dhtml、flash、applet还是用xyz,代码运行在客户端还是在服务器,只是简单配置一下,切换一下render kit而已,操作起来,就应该象软件换肤一样简单,至于这些组件如何实现,那是工具制造商和framework的责任,应用开发人员不应该去自己制造工具。
所以,JSF的目标应该是定义一组能力超强、简单易用的组件,并且真正能够和底层技术分清界限,成为UI标准规范。先别管别人能不能实现,像这种能创造一大片市场需求的,肯定会有公司不惜血本去实现。
关注需求,屏蔽技术实现细节,这是应用软件开发的大趋势。
在表现层,JSF不一定能完成这个历史重任,但一定会有能实现这个目标的东西,其实这在技术上并不非常难,难在商业方面,在标准化。
42 楼
JavaInActoin
2007-08-30
怎么回事,提交一次,变成两条消息
41 楼
JavaInActoin
2007-08-30
OperaMasks如果成功,真的会伤害到一部分人么?
40 楼
JavaInActoin
2007-08-30
OperaMasks如果成功,真的会伤害到一部分人么?
39 楼
bigpanda
2007-08-30
yf149 写道
OperaMasks客户端用的就是extjs,只是封装成了jsf
把extjs打包在程序里再卖赚钱是要有OEM/Reseller的license的。http://extjs.com/license。
OperaMasks买了商业许可证没有啊?
38 楼
JerryZheng
2007-08-30
看来JSF现在不够流行还是因为其相关工具不够好用,如果有一个killer tool出现,可以极大提高生产力,也许JSF就会很快流行起来。
37 楼
weiqingfei
2007-08-30
zjumty 写道
weiqingfei 写道
zjumty 写道
weiqingfei 写道
当初就对asp.net的winforms深恶痛绝,所以看到java社区搞了一个什么jsf,就更没什么好印象了.
我觉得asp.net还是不错的,当然前提是配合VS.NET.
我不知道是不是JSF的组件模型本身的缺陷,为什么JSF出现好多年了,可是JSF的开发工具还都跟玩具一样的.做个复杂点的HelloWorld还行.一遇到复杂的需求就很难用了.
也许问题不是出在JSF上,而是出在J2EE上.J2EE的复杂度太高了使得JSF的复杂度降不下来.
这和j2ee没关系,应该是硬要在web程序上使用事件驱动模式造成的。
但是asp.net也是事件驱动模啊,从1.0出来的时候,我就用它做了一个比较复杂的应用程序,当时我感觉很好用.我觉得是JSF的组件模型有问题,感觉JSF组件很难做.JSF的IDE的可视化程度也比较差.
这种模式的初衷是为了让web开发同桌面开发有一样的体验,在做一些简单的程序时确实非常方便,asp.net有一个demo几乎不用写一行程序就能开发一个简单得bbs。按道理说,使用这种模式是为了让桌面程序员也能快速上手,使用组件也是为了能够快速的进行开发,但是事实上,如果不把组件内部运作原理搞得一清二楚,真的很难使用。
其实对于个人,我比较反感的是为了实现事件驱动模式,要在客户端保留大量的状态,增加了流量的同时,还增加了客户端和服务器的负担。
36 楼
zjumty
2007-08-30
weiqingfei 写道
zjumty 写道
weiqingfei 写道
当初就对asp.net的winforms深恶痛绝,所以看到java社区搞了一个什么jsf,就更没什么好印象了.
我觉得asp.net还是不错的,当然前提是配合VS.NET.
我不知道是不是JSF的组件模型本身的缺陷,为什么JSF出现好多年了,可是JSF的开发工具还都跟玩具一样的.做个复杂点的HelloWorld还行.一遇到复杂的需求就很难用了.
也许问题不是出在JSF上,而是出在J2EE上.J2EE的复杂度太高了使得JSF的复杂度降不下来.
这和j2ee没关系,应该是硬要在web程序上使用事件驱动模式造成的。
但是asp.net也是事件驱动模啊,从1.0出来的时候,我就用它做了一个比较复杂的应用程序,当时我感觉很好用.我觉得是JSF的组件模型有问题,感觉JSF组件很难做.JSF的IDE的可视化程度也比较差.
35 楼
weiqingfei
2007-08-27
zjumty 写道
weiqingfei 写道
当初就对asp.net的winforms深恶痛绝,所以看到java社区搞了一个什么jsf,就更没什么好印象了.
我觉得asp.net还是不错的,当然前提是配合VS.NET.
我不知道是不是JSF的组件模型本身的缺陷,为什么JSF出现好多年了,可是JSF的开发工具还都跟玩具一样的.做个复杂点的HelloWorld还行.一遇到复杂的需求就很难用了.
也许问题不是出在JSF上,而是出在J2EE上.J2EE的复杂度太高了使得JSF的复杂度降不下来.
这和j2ee没关系,应该是硬要在web程序上使用事件驱动模式造成的。
34 楼
hax
2007-08-27
转贴一下张勇的回复:
非常抱歉的是,您8月10日的评注,我今天才看到,抱歉的很。
不瞒您说,这篇文章是应公司市场部要求撰写的一篇市场味道较浓的宣传文章。但毕竟本人是技术人员,所以,在技术层面上对Web开发历史及目前的一些Web开发框架进行了一些回顾与点评。
技术对比是一件非常严谨的事情,由于时间紧,我们就没有把所有的Web开发框架进行一一点评,不妨就只把我们熟知的,并且也是目前最流行的一些技术框架进行了一些讨论。因此,您提及到的“选择性失忆”,并不是我们有意的失忆,而是我们精力实在有限,不想发表任何不客观的评论而已。
至于OperaMasks的思想和技术到底如何,其实自从我们开始做应用服务器开始,国人对我们的质疑就从来没有中断过,幸运的是,历经7年的发展,我们已经有足够的思想承受力。
我们只想静下心来,把这件事情做好,谨此而已。
再次感谢您对我们的关注。
张勇
非常抱歉的是,您8月10日的评注,我今天才看到,抱歉的很。
不瞒您说,这篇文章是应公司市场部要求撰写的一篇市场味道较浓的宣传文章。但毕竟本人是技术人员,所以,在技术层面上对Web开发历史及目前的一些Web开发框架进行了一些回顾与点评。
技术对比是一件非常严谨的事情,由于时间紧,我们就没有把所有的Web开发框架进行一一点评,不妨就只把我们熟知的,并且也是目前最流行的一些技术框架进行了一些讨论。因此,您提及到的“选择性失忆”,并不是我们有意的失忆,而是我们精力实在有限,不想发表任何不客观的评论而已。
至于OperaMasks的思想和技术到底如何,其实自从我们开始做应用服务器开始,国人对我们的质疑就从来没有中断过,幸运的是,历经7年的发展,我们已经有足够的思想承受力。
我们只想静下心来,把这件事情做好,谨此而已。
再次感谢您对我们的关注。
张勇
33 楼
hax
2007-08-24
基本上除了从厂商那里,很难听到JSF的好话。一天到晚看到的,都是JSF still sucks之类的标题。。。这个http://raibledesigns.com/rd/entry/re_what_web_application_framework文章做了一些java web frameworks的比较,可资参考。
32 楼
zjumty
2007-08-24
weiqingfei 写道
当初就对asp.net的winforms深恶痛绝,所以看到java社区搞了一个什么jsf,就更没什么好印象了.
我觉得asp.net还是不错的,当然前提是配合VS.NET.
我不知道是不是JSF的组件模型本身的缺陷,为什么JSF出现好多年了,可是JSF的开发工具还都跟玩具一样的.做个复杂点的HelloWorld还行.一遇到复杂的需求就很难用了.
也许问题不是出在JSF上,而是出在J2EE上.J2EE的复杂度太高了使得JSF的复杂度降不下来.
31 楼
yf149
2007-08-23
OperaMasks客户端用的就是extjs,只是封装成了jsf
30 楼
lgx522
2007-08-22
to poko:
官方站上已有说明,要用tomcat6。
JSF的确是在用Swing的方式做Web,目前已经解决了很多基础问题,这是应该肯定的。
太复杂的页面问题,其实主要是企业内部应用,这时候真不如用JApplet或者干脆JFrame。
官方站上已有说明,要用tomcat6。
JSF的确是在用Swing的方式做Web,目前已经解决了很多基础问题,这是应该肯定的。
太复杂的页面问题,其实主要是企业内部应用,这时候真不如用JApplet或者干脆JFrame。
29 楼
shrpcn
2007-08-21
LZ 的这句话
"但是如果你想稍作改变,extends一下,就会发现陷入大麻烦了,只好去买第三方控件。而你去看看那些第三方控件,全部是自行实现的,没有一个是从默认控件继承出来的。"
值得商榷,建议你多熟悉熟悉ASP.net WebControl 或者Web Components。
"但是如果你想稍作改变,extends一下,就会发现陷入大麻烦了,只好去买第三方控件。而你去看看那些第三方控件,全部是自行实现的,没有一个是从默认控件继承出来的。"
值得商榷,建议你多熟悉熟悉ASP.net WebControl 或者Web Components。
28 楼
kylix_xp
2007-08-20
很多人用都没有用到jsf,在这里发表评论,有意义吗?
27 楼
bobo_2008
2007-08-18
adasdf
发表评论
-
对于React体系的一点想法
2015-06-12 01:53 5847这一年来react和react native火得不行。 我对 ... -
图片lazyload兼容无脚本的小改进
2012-12-04 19:09 5785刚刚改进了一下某个页 ... -
tagName的大小写问题(QWrap选择器的一个bug)
2011-07-16 23:33 6527今儿写程序。 对于现 ... -
document.enableStyleSheetsForSet() 的兼容
2011-06-17 16:27 3507可能有不少同学已经了 ... -
IE神奇小bug一则
2010-12-03 18:05 2774<input type="text&quo ... -
前端优化新得一则
2010-02-22 15:05 2852因为把公司的电脑搞坏两台,这两天没有工作电脑可用了,所以就不干 ... -
一个史上最快的Web语法高亮引擎即将诞生
2009-05-02 03:33 6239对比对象是目前最有名,也是JavaEye所使用的highlig ... -
getUsedValue 0.4发布
2009-04-28 18:46 2068关于used value的基本解释,请看getUsedValu ... -
getUsedValue 0.1
2009-04-06 03:26 3681前不久写了一个小脚本,用来获取页面中CSS样式的 used v ... -
表单数据提交时的字符编码问题
2009-01-18 02:28 6218人老了,以前研究过的东西都忘记了。所以还是记录下来比较好。 ... -
再贴一次form的属性和控件name冲突的老问题
2008-11-07 18:59 3196更新: John Resig也谈到了这个问题。 而这里是一个非 ... -
一个嵌入式HTML引擎
2008-05-10 18:28 4133http://www.terrainformatica.com ... -
西方人通常发现不了的一个IE的bug
2008-05-09 20:00 8935这个问题我大概在一年 ... -
IE memory leak 备忘
2008-03-03 01:07 5178本篇只记录一下工具,有空再做研究。 Drip: http:/ ... -
批量修改style采取哪种方式好(续篇)
2008-02-24 19:20 3980前篇见批量修改style采取哪种方式好,主要是回答fins的提 ... -
XBL2的实现
2008-02-24 02:35 2369今天发现几种XBL2的实现。浏览器实现XBL2还要等上一段时间 ... -
批量修改style采取哪种方式好(答fins)
2008-02-23 21:55 4404fins同志向我提了个问题。因这个问题其实可以展开讨论,所以提 ... -
使用捕获事件监听器(useCapture=true)的陷阱及其对策
2008-02-17 07:02 9734DOM event flow有三个phase,capture、 ... -
写了一个XML Base的JS实现(简介篇)
2008-01-23 01:08 3168最近想在一个小应用中采用浏览器端的xinclude。找了一下, ... -
MSXML默认解析外部DTD
2007-11-07 18:17 3601昨日aimingoo说它测试xmldom的速度,发现载入一个w ...
相关推荐
operamasks-ui 最新.完成的,下载下来直接可以点击查看,跟官网一模一样
"Operamasks UI 2.0 Doc"是一个针对 Operamasks 用户界面的开发文档,它提供了详尽的指导和信息,帮助开发者理解和构建基于Operamasks的Web应用程序。这个离线版文档对于开发者来说尤其珍贵,因为在线寻找这类资源...
**Operamasks SDK 3.2:金蝶中间件的创新解决方案** Operamasks SDK 3.2 是金蝶中间件公司推出的一款重要的软件开发工具包,专为开发者设计,旨在简化与金蝶产品集成的过程,提高开发效率,并增强应用程序的功能。...
### operaMasks_studio应用手册知识点详解 #### 一、operaMasks_studio简介 **operaMasks_studio**是由金山公司开发的一款专业工具,主要应用于JSF(JavaServer Faces)项目的开发。该工具旨在提高开发效率,简化...
只是我在网上找的 operamasks-ui api 文档 , 希望对你们有帮助
"operamasks官方jsf教程"是针对初学者的一个资源,旨在介绍如何使用JSF和OperaMasks进行Web开发。这个教程可能是基于国外的原始JSF教程进行了适应性修改,特别强调了在Opera浏览器中的实践应用,这对于那些想要了解...
**OperaMasks安装包详解** OperaMasks 是一个专为Opera浏览器设计的扩展程序,它提供了丰富的功能,旨在提升用户的浏览体验。这个安装包包含了多个核心组件,让我们逐一解析: 1. **operamasks-comp.jar**:这个...
【标题】"OperaMasks查询、模糊查询、源码"涉及的是一个基于OperaMasks前端框架和后端servlet+bean技术实现的查询系统。在这个Demo中,开发者展示了如何运用这些技术来创建一个具备模糊查询功能的应用。让我们深入...
"Operamasks UI 2.1 Demo"是一个专注于前端用户界面的项目,主要基于流行的开源浏览器扩展框架——OperaMasks。这个项目的目的是提供一个演示版本,让用户和开发者能够体验和理解OperaMasks UI 2.1版本的功能和设计...
Apusic OperaMasks很全的JSF的例子,什么都有,如:TREE 、GRID、FORM、BOX、MENU、DIALOG、AJAX。都很漂亮的。
"Operamasks-faces_1.0" 是一个与Opera浏览器相关的扩展或资源包,它主要专注于面部识别或个性化功能。这个压缩包可能是为Opera浏览器设计的一系列面具或表情符号,让用户在浏览网页时能够使用各种有趣的脸部形象...
"Operamasks-UI" 是一个专为Opera浏览器设计的用户界面增强插件的源代码包,其版本为1.2,存储在一个名为"operamasks-ui-1.2.zip"的压缩文件中。这个插件的目标是提供更加个性化、高效且易用的浏览体验。在了解这个...
《深入理解OperaMasks UI 2.0:前端框架与应用实践》 OperaMasks UI 2.0是一款由金蝶公司推出的高效、易用的前端界面库,它旨在为开发者提供一套完整的用户界面解决方案,以提升Web应用程序的用户体验和开发效率。...
【OperaMasks快速进阶】文档详尽地介绍了OperaMasks这一开源Java框架,它由金蝶中间件公司的Apusic捐赠初始代码,并在OperaMasks.org开源社区不断成熟。OperaMasks是一个Web2.0框架,它以IoVC(Inversion of View-...
"Operamasks UI 2.0 Demo" 是一个专门针对Opera浏览器的扩展或应用界面设计的开发套件,主要用于创建和定制用户界面。这个压缩包文件 "operamasks-ui-2.0-demo--.zip" 包含了用于演示和实践如何使用Opera Masks UI ...
在IT行业中,Web开发是一项核心任务,而"operamasks整合spring、hibernate实现grid增删改查"是常见的Web应用开发实践。这个主题涵盖了多个关键的技术组件,包括OperaMasks、Spring框架和Hibernate持久化层,以及Grid...