Ruby on Rails vs. Grails vs. Spring ROO vs. Spring App [已关闭]

2022-09-01 16:20:16

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

我对Spring/Hibernate和Java非常熟悉,但对Grails和RoR(以及Spring ROO)都是新手。我考虑RoR的唯一原因是因为Java托管比RoR托管贵得多(几乎任何托管供应商都支持RoR托管,每月5美元)。

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

谢谢


答案 1

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

轨道还是圣杯?

在 Rails 上学习 Ruby 对 Grails 有什么好处吗?

https://stackoverflow.com/questions/1283935/what-technology-asp-php-joomla-rails-grails-for-a-website-from-scratch

圣杯值得吗?

圣杯(现在)值得吗?

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

Ruby on Rails

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

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

圣杯

几个月前,我遇到了和你一样的困境,我决定用Grails来解决问题。为什么?

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

春罗

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

弹簧应用

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

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

我的底线

如果你有一些时间花在学习新概念(Groovy,RAD...)上,那就去Grails吧。如果没有,请与Roo一起去。忘掉弹簧应用程序和导轨吧。如果托管是问题所在,那么请使用Python / Django。您可以在GAE上部署,它是免费扩展的,高性能的,您将处理与Rails或Grails相同的概念。


答案 2

我不理解对运行时性能的痴迷。鉴于您的场景,您的主要关注点应该是您的表现,就像您使用所选技术完成工作的能力一样。

在给定的时间段内,使用Groovy将比使用Java完成更多的事情。通常,一行Groovy代码将等同于10行Java代码等

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

  • 糟糕的算法实现或设计。
  • 错误的数据库设计和/或查询
  • 花了很长时间才把事情做好,然后因此而遇到各种商业关系问题。

对于 Web 应用程序,您通常不会执行大量长时间运行的 CPU 密集型操作。您的大部分请求/响应时间都花在线路(互联网路由等)和数据库(执行查询)中。

选择一种可以减轻您心头负担的技术,并将您从编写堆积如山的样板代码中解放出来的技术,以便您可以专注于设计和实现良好的算法,数据库和查询等

Id个人选择Grails。


推荐