|
Web表示层框架主流解决方案:Tapestry(1) Web层框架分为Rich Client和Thin Client两类思路,下面分别分析:
一、Rich Client
Rich Client的关注者有很多,例如dlee、gigix、Quake。
dlee支持XMLHTTP,gigix的blog上看到他准备写一个“Return of Rich Client”,似乎有支持的倾向,Quake比较关注Flex。
当前Rich Client框架解决方案主要有几类,一类是XMLHTTP的解决方案,一类是基于Javascript的解决方案,例如Bindow,一类是Flex之 类的方案,还有一些用java web start的。我可以这样断定,当前的这些Rich Client没有一个有希望成为主流Web解决方案!
当前的Rich Client方案具有如下的缺点:
1、技术过于复杂,实现很不容易
2、不能单独构成一个完整的解决方案,还需要其他很多技术配合完成
这样就算你掌握了这种技术,仍然不能够把整个Web层做出来,还需要掌握其他很多相配合的技术,然后整合一个Web层的完整框架出来。
dlee公司做了那么久积累,自己公司已经形成了完善的围绕XMLHTTP的Web层框架了,但是其他公司没有办法模仿出来,现在也没有人做一个完 善的XMLHTTP框架出来给大家用,不是每一个公司都肯下功夫自己去钻研和围绕XMLHTTP去建立一个框架,并且这种框架也可能并不完全通用。
综上所述,当前的Rich Client框架更适合于特定的公司围绕该技术形成了自己独特的Web层解决方案,而没有可能成为行业的主流Web框架。
这里有一个例外,有人提到Longhorn的XAML,我承认我也看好这个东西,不过Longhorn要2006年才出来,普及还需要至少两年(不 要忘记2001年WindowsXP出来,到现在WindowsXP的普及率只有30%),最乐观估计,XAML的普及也要到4-5年之后了。至于那个时 候XAML是否真的成功,还是未知数,不要忘记MS的hailstorm失败之惨。
二、Thin Client
Thin Client中流派也特别多,各种各样的框架,我都眼花缭乱了。有Struts,Webwork2,Velocity,JSF,JSTL, Turbine,Tapestry,。。。。。。这许多Thin Client框架中,我没有一个熟悉的,除了Struts之外,全部没有用过。所以且容忍我的厥辞和错误。
首先谈谈我唯一用过的Struts。我非常反感Struts,反感Struts僵化的ActionForm,反感Struts的死板的MVC结构,当然最反感的是Struts的Taglib!特别是html tag,这东西一用上,DW里面打开什么都看不到。
接着说Webwork2,这东西现在很多人对它好评,我简单看了看介绍,看起来似乎是和Struts一类的框架,只不过各个方面都全面的改良。
其他的我就更加不熟悉了,不过他们有一个共同的地方,就是统统喜欢用Taglib,而Taglib是我最讨厌,最反感的东西。
我认为JSP里面使用Tag,就是一个错误!我反对在JSP里面使用Tag,我推荐大家在JSP里面写Java代码,没错,就是在JSP里面写Java代码,我就是一直这么干!
很多人可能要跳起来批评我的反动了,我承认我的观点是让太多人不可思议,仿佛是历史潮流的倒退。但是我请大家想想看,JSP本质上是什么东西?
JSP是嵌入式脚本,是服务器端页面编程语言,没错,就是脚本语言,是页面编程,就是要你嵌入代码的。JSP为什么要出现,PHP为什么要出现,就是因为在页面里面嵌入代码很方便,开发方便,调试方便,连美工做页面都方便。
|