Play2 VS Grails2

王振威 发布于 2012/07/22 20:07
阅读 3K+
收藏 1

PlayGrails现在看来已经成为这几年炒的非常热的JVM的web框架。两个框架都有了2.0的版本,这也是为什么我对比这两个框架的原因之一。

我们怎么做的

在5月初的时候,我们遇到了一个项目,并大致描绘出了我们需要构建的应用。我们也对这项对比建立了一个时间计划表。我们决定构建两个不同的web应用,我们通过负载测试的方法比较应用。接下来我们就开始了对比的旅程,我们在www.ubertracks.com上部署我们的应用,吧Grails的web应用部署在bike.ubertracks.com,把Play/Java的应用部署在hike.ubertracks.com。我们在GitHub上管理我们的源代码,不断的在CloudBees上测试,并部署到Heroku。两周前我们完成了两个应用,为此我们还找了一个朋友做QA。

在修复了部分bug之后,我开始使用Neustar Web Performance做了些负载测试。
我们汇总了我们的开发历程,负载/表现测试数据,一部分系统输出的统计信息,并建立了自己的smackdown presentation。而且我们使用reveal.js、GitHub Files和Google Charts做了一些动态效果。

我们发现了什么?

在我们研究之后我们总结了一些结论:

代码:

  • From a code perspective, Play 2 and Grails 2 are very similar frameworks.
  • Code authoring was good in both, but lacking IDE support for Play 2's Scala Templates.
  • Grails Plugin Ecosystem is excellent.
  • TDD-Style Development is easy with both.
  • Type-safety in Play 2 was really useful, especially routes.

统计分析:

  • Grails has better support for FEO (YSlow, PageSpeed)
  • Grails has less LOC! (6 lines less, but 40% more files)
  • 1 Dyno - Grails had 2x transactions!

            Grails experienced OOM about halfway through.

  • Apache Benchmark with 10K requests:

            Play: ~10% failed requests, Grails: 0

            Requests per second: {Play: 170, Grails: 198}

            Requests per second: {Play: 251, Grails: 198}

  • Load Test with 100 Real Users:

            Grails: 10% more transactions, 0 errors

生态系统分析:

  • "Play" is difficult to search for.
  • Grails is more mature.
  • Play has momentum issues.
  • LinkedIn: more people know Grails than Spring MVC.
  • Play has 3x user mailing list traffic.
  • We had similar experiences with documentation and questions.
  • Outdated documentation is a problem for both.
  • Play has way more hype!

我们大概花了100个小时开发这两个应用,收集数据,进行对比。好消息是这是完全开源的,这意味着你可以通过GitHub上克隆整个工程(Grails在grails2的分支,Play在play2_java的分支),这些能帮助我们提升效率,对比是preso目录的主分支。

我们收集和测试的数据接受任何争议,我们很乐意有意义的争议使我们调整程序后能变得更高效。事实上我们已经有了一个贡献者,他发现了一个问题,并提供了一个对Play应用的fix,将吞吐量有每秒170次请求增加到每秒252次请求。

最后无论统计结果是什么,我们认为使用Play2和Grails2工作时一件非常高兴的事情,如果你们还没有尝试过,那么尽快动手吧。

 

OSChina.NET原创编译/原文链接

加载中
0
散装海盗
散装海盗
居然是部分翻译。。。。。
王振威
王振威
那几句评论,由于水平有限,感觉翻译了就少了原来的味道,所以就贴出了原文,见谅。
0
MUTEX
MUTEX

还有非常重要的一条:

Scala比Groovy学习曲线要陡得多。

M
MashupEye
+1
jeffsui
jeffsui
+1
0
韭精过敏
韭精过敏
java基础熟练的,两周就可以用grails产生生产力
0
mamang
mamang
play 走scala路线,注定是少数人的玩具,grails具备普遍接受的条件,会成为大众的咸菜。
mj4738
mj4738
少数派报告?
0
尹彬
scala,是专业路线。未来scala上知名的解决方案(扩展、类库)会多起来,scala生态系统正在形成。。
返回顶部
顶部