上周 Matt Raible 在 ApacheCon 上做了一个演讲 (PDF 1 , 2 ),对众多的 Java Web 框架进行比较。这是对他在几年前做过的一次演讲的补充。在两页的 PDF 中包括以下 Java Web 框架:
另外还涉及到一些由于开发场景的变化而带来的不同技术: - Flex
这次演讲使用了如下的标准来对一些 web 框架进行了严苛的对比:
- Ajax 支持:是否内建并易于使用?
- 添加书签能力:用户是否能轻松添加书签并返回?
- 验证:是否容易使用并支持客户端(JavaScript)验证?
- 可测试性:能否脱离容器历来测试 Controller?
- 社区和支持:有问题是否能够得到快速(并礼貌)的解答?
Raible 发现了所有 web 框架的优点以及缺点。一些统计数据表明 Struts 和 JSF 在职场中引领趋势,但 Raible 也指出还有大量的 web 框架在职场中同样吃香。 为项目选择正确的 web 框架只能是开发者的职责,Raible 对如何选择一个 web 框架给出了一些重要的考虑因素: - 你正在构建的是什么类型的应用?
- 是为了简便开发还是出于全栈式考虑?
- 技术特性
与人们所预期的一样,Raible 对于 web 框架的观点引起了广泛的争议。Seam 的创造者 Gavin King 评论道:
在我看来,这个列表最有趣的地方在于每个框架和其他框架是怎样的不同。就在几年前,任何包括这些顶级 web 框架的列表都包含着一堆 action 风格的 MVC 框架,以及一个或两个组件风格的 MVC 框架。
Adobe’s 的 James Ward 不同意 Raible 对于 Flex 的评价并反驳道 :
虽然我们现在可以整天反复地争论这些观点,但事实上它的确取决于你所构建的应用。我发现最有趣的是这些框架如何来构建 RIA 应用。这样能帮助开发人员缩小一点范围,因为以内容为中心的应用实在是和 RIA 区别太大了。但 RIA 到底是什么?我曾经试图定义过 RIA 。
基于这些特征,我可以更明确地告诉你 Flex 作为 RIA 框架是什么样子的。
Raible 指出前途是光明的,因为所有的竞争都是在 web 框架范围内。考虑到这次演讲中有一半的 web 框架都是他以前那次演讲中没有提到过的,所以他是对的。
评论