Java RubyonRails vs Grails vs.SpringRoo vs.SpringApp

Java RubyonRails vs Grails vs.SpringRoo vs.SpringApp,java,ruby-on-rails,spring,grails,spring-roo,Java,Ruby On Rails,Spring,Grails,Spring Roo,我正计划编写一个简单的web应用程序,供许多用户使用(就像一个简单的书签应用程序一样复杂),并且我正在尝试决定使用哪种框架/语言 我通常对Spring/Hibernate和Java非常有经验,但对Grails和RoR(以及SpringRoO)都是新手。 我考虑RoR的唯一原因是因为Java托管比RoR托管要昂贵得多(几乎所有托管供应商都支持RoR托管,每月5美元) 假设价格不是问题,您会向Java开发人员推荐上面提到的哪种框架/语言(谁知道如何配置Spring/Hibernate等)? 我担心通

我正计划编写一个简单的web应用程序,供许多用户使用(就像一个简单的书签应用程序一样复杂),并且我正在尝试决定使用哪种框架/语言

我通常对Spring/Hibernate和Java非常有经验,但对Grails和RoR(以及SpringRoO)都是新手。 我考虑RoR的唯一原因是因为Java托管比RoR托管要昂贵得多(几乎所有托管供应商都支持RoR托管,每月5美元)

假设价格不是问题,您会向Java开发人员推荐上面提到的哪种框架/语言(谁知道如何配置Spring/Hibernate等)? 我担心通过使用RoR,我将无法轻松支持许多同时使用该网站的用户


谢谢

RoR的性能问题将更多地由5美元的托管计划而不是语言和框架的选择引起。考虑你的主机,因为你可以开始便宜/免费,然后根据需要放大。
然而,对于一个简单的书签应用程序来说,Rails可能有些过头了。在权衡你的选择时,也要看看框架。

你看过Gaelyk吗


这是一个针对Google App Engine的轻量级Groovy框架

首先,您可以看看以下相关问题:

现在,我将根据您的要求和我从互联网上收集到的信息以及我自己的经验来回答您

RubyonRails 我不建议您从RoR开始,因为您是一名Java开发人员,必须学习一种新语言(Ruby)和一种新环境(Rails)。托管问题不是一个真正的问题。你可以有一个10美元的VPS托管计划(www.enjoyvps.com),非常适合小型grails应用程序。如果您的应用程序需要更多内存,您可能需要再增加10美元

如果您的主机托管确实是关键因素,那么可以使用Python/Django或PHP/Kohanna(一个非常好的MVC框架)。否则,根据您的背景,Grails比Rails更适合您

圣杯 几个月前,我遇到了和你一样的困境,我决定按我的方式处理Grails。为什么?

因为它很酷!!我的意思是,社区是非常有帮助和动态的,Groovy是一种很好的开发工具(小心:此后,您很可能会讨厌Java)。此外,它是一个基于成熟技术(Hibernate、Spring、Java)的最先进的框架,因此,它可以大大提高开发人员的市场价值。圣杯是我的最爱

春露欧 Roo是用于Java的Grails。所以,如果您不想学习Groovy,并且需要纯Java应用程序(它总是比基于Groovy的应用程序运行得更快),那么就使用它吧。社区比Grails小,但项目由SpringSource支持,SpringSource在社区中非常活跃。我认为,如果你想尽快行动,这是你的解决方案

弹簧应用 只有当您不喜欢SpringRoo集成技术(Hibernate、JSP、Maven…)并且绝对想要Java时,才应该选择此选项。否则,当您可以在几分钟内(使用Rails、Roo或Grails)以最佳实践方式构建复杂的企业应用程序时,您就没有兴趣(出于教育目的除外)花费数小时进行配置和调优

以上每个选项都将为您想要构建的应用程序提供足够的性能。很多都取决于网站应用程序的最佳实践,如良好的架构设计、缓存策略的正确使用和请求优化

我的底线 如果您有时间学习新概念(Groovy、RAD…),请使用Grails。如果没有,就和Roo一起去。忘记Spring应用程序和Rails吧。
如果托管是个问题,那么就使用Python/Django。您可以在GAE上部署,它是免费的、可扩展的、高性能的,并且您将处理与Rails或Grails相同的概念。

我不理解对运行时性能的痴迷。考虑到您的场景,您的主要关注点应该是您的性能,比如您使用所选技术完成任务的能力

在给定的时间段内,使用Groovy比任何一天使用Java都能完成更多的工作。通常一行Groovy代码相当于10行Java代码等等

字节码执行时间很少会成为您的性能问题,最常见的是它的

  • 错误的算法实现或设计
  • 数据库设计和/或查询错误
  • 要花很长时间才能把事情做好,然后因为它而产生各种各样的商业关系问题
对于web应用程序,您通常不会执行很多长时间运行的CPU限制操作。您的大部分请求/响应时间都花在连线(internet路由等)和数据库(执行查询)上

选择一种可以减轻你思想负担的技术,一种可以让你从编写堆积如山的锅炉板代码中解脱出来的技术,这样你就可以专注于设计和实现好的算法、数据库和查询等


我个人选择Grails。

在我的公司,我选择Roo而不是Grails和Rails。运行时性能,易于调试,良好的Eclipse集成(毕竟是普通的旧Java),运行时没有“黑魔法”。事实上,运行Roo应用程序不需要Roo运行库,只需要Hibernate和AspectJ等库依赖项。您可以查看生成的代码,以便确切地知道发生了什么。对我来说,还有一件大事是,谷歌选择Roo作为今后创建GWT应用程序的首选工具,他们正在全力支持它。到目前为止,我对Roo印象非常深刻,我认为它将在不久的将来成为首选工具

我知道这篇文章有点老了。现在是2012年,SpringRoo刚刚发布了Version