我正计划编写一个可供大量用户使用的简单 Web 应用程序(就像一个简单的书签应用程序一样复杂),并且我正在尝试决定使用哪种框架/语言。
总的来说,我对 Spring/Hibernate 和 Java 非常有经验,但对 Grails 和 RoR(以及 Spring ROO)都是新手。 我考虑 RoR 的唯一原因是因为 Java 托管比 RoR 托管贵得多(几乎所有托管供应商都以每月 5 美元的价格提供支持)。
假设价格不是问题,您会向 Java 开发人员(谁知道如何配置 Spring/Hibernate 等)推荐上面提到的哪一种框架/语言? 恐怕通过使用 RoR,我将无法轻松支持同时使用该网站的许多用户。
谢谢
最佳答案
首先你可以看看这些相关的问题:
Learning Ruby on Rails any good for Grails?
现在,我会根据你所传达的需求,以及我从网上收集到的信息,以及我自己的经验,尽量为你解答。
我不建议您从 RoR 开始,因为您是一名 Java 开发人员,您必须学习一门新语言 (Ruby) 和一个新环境 (Rails)。托管问题不是真正的问题。您可以花 10 美元 (www.enjoyvps.com) 获得非常适合小型 grails 应用程序的 VPS 托管计划。如果您的应用程序需要更多内存,您可能需要再添加 10 美元。
如果您的托管确实是关键因素,请使用 Python/Django 或 PHP/Kohanna(一个非常好的 MVC 框架)。否则,根据您的背景,Grails 比 Rails 更适合您。
几个月前,我遇到了和你一样的窘境,我决定用自己的方式来使用 Grails。为什么?
因为它很酷!我的意思是,社区非常有帮助且充满活力,与 Groovy 一起开发是一种乐趣(请注意:此后,您很有可能会厌恶 Java)。此外,它是一个基于非常成熟的技术(Hibernate、Spring、Java)的最先进的框架,因此,它可以显着提高您作为开发人员的市场值(value)。 Grails 是我的最爱
Roo 是 Java 的 Grails。因此,如果您不想学习 Groovy 并且如果您需要纯 Java 应用程序(它总是比基于 Groovy 的应用程序运行得更快),那就去吧。社区比 Grails 小,但该项目得到了在社区中非常活跃的 SpringSource 的支持。我认为,如果您想尽可能快地前进,这就是您的解决方案。
仅当您不喜欢 Spring Roo 集成技术(Hibernate、JSP、Maven...)并且绝对想要 Java 时,才应该选择此选项。否则,当您可以在几分钟内以最佳实践方式(使用 Rails、Roo 或 Grails)构建复杂的企业应用程序时,就没有兴趣(除了教育目的)。
上述每个选项都会为您想要构建的应用程序提供足够的性能。很大程度上取决于网站应用程序的最佳实践,例如良好的架构设计、缓存策略的正确使用和请求优化......
如果您有时间花在学习新概念(Groovy、RAD...)上,请选择 Grails。如果没有,请与 Roo 一起去。忘记 Spring App 和 Rails。 如果托管是问题,那么请使用 Python/Django。您可以在 GAE 上进行部署,它可以自由扩展、高性能,并且您将处理与 Rails 或 Grails 相同的概念。
关于java - Ruby on Rails vs Grails vs Spring ROO vs Spring App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2840890/