TSS:帮我选一个Java Web开发框架吧
最近 TheServerSide.com 上一篇文章引起了常常的讨论。地址见这里:Chose a web client framework。
Chester Chen (cchen@ascentmedia.com)的需求很简单:
他们公司的基本环境是: 开发环境: mix of Linux and Windows, Java, EJB (2 and 3); 部署环境: linux, Glassfish for the new project (UI only), existing projects using WebLogic Server 10.3.
他对新框架的期望是: 学习曲线不要太陡,同时足够成熟、对Ajax有良好的支持,便于开发,对后端的数据模型没有严格的限制。
目前他们考虑的框架有:wicket, Seam, and Struts2 。
我想Chester Chen大概花5分钟写的帖子没想到上了TSS的首页,并且还引来了长篇讨论。
这些讨论里,有GWT的拥泵者、有Flex的推销员,还有些人还不厌其烦的推荐:Wicket和Stripes(a simpler, lighter, cleaner version of Struts 2) ,还有 zKoss、Lift 等等不一而足。
也有很专业的咨询者,比如Anil Kommareddi ,列举了以下要考虑的4点:
1、开发团队是否完善 2、开发团队的技术情况 3、框架开发者社区和支持 4、框架的组件是否完善
而 Daniil S 估计是个愤青,看看他的评论,每一个他看上眼的(估计是从MS那边转过来的):
I've spent about 3 months looking for framework. The biggest issues that came up were the learning curve, ease of installation and simplicity. Some thoughts: * struts - skipped this one due to a lot of negative bias among friends/developers. Everyone I know has some kind of an issue with it, installation or development hurdles. * tapestry - the learning curve was too great. Hard to find some simple example of a simple task such as login/logout. Too much restriction on correctness of HTML. * wicket - loved it, but installation process was a bit hard and required a lot of customizations on IDE part. HTML pages were in a weird directories and our HTML guy got confused. * spring - learning curve is too steep.
做Java的开发员大概都有一个很深的体会,付出多收获才能更多。看看 Pablo Krause 的豪华阵容吧:
ExtJS: for a Rich Internet Application front end DWR: Direct Web Remoting, for communicating with Java backend. Acegi: For security stuff (now part of Spring) Hibernate: For Object Relational Mapping Spring: For gluing it all together.
如果你对 Stripes 不了解(我现在也不了解),可以看看这篇文章:Stripes ...and Java Web Development is Fun Again 。
其他的一些资源:
主站:http://www.stripesframework.org 快速入门:http://www.stripesbook.com/blog/index.php?/archives/19-Stripes-Quickstart.html 插件: http://www.stripes-stuff.org Mail List :http://news.gmane.org/gmane.comp.java.stripes.user
在你眼花缭乱之前,拿 Web Frameworks of the Future: Flex, GWT, Grails and Rails 作为结尾吧。
(这篇文章很早就翻译(我这好像不是翻译)了,今天贴出来。新的csdn编辑器也不顺手。)