Stripes,Spring,Play(或?):使用哪种高性能Java框架?

我们开始构建一个可能会看到大量流量的webapp。 我们没有很多钱,所以我们希望降低硬件成本。 或多或少,我认为这意味着我们将尝试尽可能无状态(如Wicket方式所暗示的 – 具有可collections的URL等等)

另一个问题是,我们要雇佣承包商(想想oDesk或者说是大量的工作) – 所以有找人才的问题。

我看过Tapestry并看到了很多API的不稳定性(参见: 你为什么停止使用Tapestry? )这让我不愿意使用它。

Seam和Wicket非常有状态 – 不是我关心的事情。

Grails看起来很有趣。 我知道与纯Java相比,性能会受到影响,但它可能是值得的。

条纹看起来不错,但我找不到使用Stripes构建的网站示例

您建议使用哪种Java框架来提高性能和简单性?

基于动作的框架可以找到最佳性能(基于组件的框架没有范式不匹配)。 我的候选名单将是Stripes first和Spring second。

条纹框架(专业版):

  1. 快速
  2. SEO友好链接
  3. 优雅易懂的代码(每个动作1个线程)。
  4. 学习曲线低,任何Java Web开发人员都可以快速学习它。
  5. 100%开源,未来许可证更改的机会。
  6. 聚焦和小型集成任何堆栈。

条纹框架(反对):

  1. 鲜为人知
  2. 没有完整堆栈

Spring MVC(专业版):

  1. 快速
  2. SEO友好链接
  3. 很多开发人员都使用过Spring(但是使用Spring MVC的情况较少)。
  4. 完整堆栈,Spring框架的一部分。

Spring MVC(反对):

  1. 更高的学习曲线
  2. 更复杂的代码:因为bean需要编程才能安全,结果就是程序代码。
  3. 如果您想获得所有最新补丁,将来可能需要从VM Ware购买许可证。
  4. 许可条款可以在以后的版本中进行更改。
  5. 完整堆栈,您可能获得超过您需要的。

我强烈推荐Play! 框架。

基于Java,类似Rails,易于学习,高效,基于它的越来越多真实项目,完整堆栈,快速编码和快速生产,活跃社区……

Spring-mvc with jsp’s。

Spring是轻量级的,每个人都知道它,它有很多文档,如果你使用spring-mvc,开始开发真的很简单(特别是如果你使用mvc-annotations)。

如果你想要一些不错的效果,你可以将它与JQuery(也适用于easy-AJAX)结合起来。

Spring MVC和Stripes将在我的短名单上。

两者都轻巧简单,为您提供更多的Web应用程序灵活性。

您也可以考虑查看AJAXfunction; 由于使用了AJAX,页面的哪些部分可以简化/缩小。

查看网页周围的StripesFramework.org Stripes,了解使用Stripes构建的网站列表。 一些商业网站包括http://www.temprotect.com

Spring Roo (集成Spring MVC)可能是一个很好的解决方案:这是纯java(易于找到的自由职业者),高性能且易于使用的原则应用于Convention Over配置;

Grails也是一个很好的解决方案,但是你需要比Spring Roo更多的软件function,并且自由职业者将更难找到。