世界原本很太平,Struts作为大部分程序员依赖的事实标准长治久安,而JSF作为Sun晚婚晚育的结晶,忍受着大部分程序员的冷淡.
一夜间, Struts宣布一个新的子项目---Shale, 基于JSF标准(Apache Stuts Team Announcement)这便同时掀开了两个战团.
一个是关于Is Struts dead? 的,如
It's Official, Struts is History!
另一边厢是JSF能用么?
如IBM的JSF for nonbelievers: Clearing the FUD about JSF
Tapestry作者的Tapestry, JSF and FUD
同样还有TSS上的口水大战
其中讲得比较有见地的是Spring Live作者那篇<So Struts is Dead, huh? >
意译一下:
其实Struts在2002年已经死了,而大部分的Java web framework也已经在上年死掉.为什么呢,因为他们已经没有办法再未来的版本中再加入新鲜重要的feature,也许你说WebWork 会使用 XMLHttpRequest 作 client-side validation, Tapestry 会使用 pretty URLs,但这些对于一个framework来说都不是首要位置的功能.
起码,现在Struts的开发者有勇气站起来说,"we're in maintenance mode",其他框架的开发人员呢.
唯一不应该站出来说"我们已转入维护状态"的是JSF和Tapestry的小朋友,他们的团队应该说:"我们正在使框架更加易用"
JSF 应该修正: POST for everything, lack of bookmarkability, bad validation messages (好消息是这个在JSF1.2里面得到了修正).
Tapestry同样应该简化, 每个tapestry页面现在大约需要4个文件,他应该简化成只必须其中两个(template and Java class),而另外两个是可选的(page specification 和 i18n keys)
Struts-Shale我想会成功,前提是他能够从其他框架吸取精华,比如 IoC, Interceptors, HTML templates, etc. 能够很好的与middle-tier frameworks like Spring, Hivemind and EJBs集成, Struts-Shale的开发者现在有了一个很好的机会, 让我们祝愿他们不只开发出just another framework....(我们听这三个单词已经听到过敏了)