Ruby on Rails 和 Grails 有啥区别?

Posted

技术标签:

【中文标题】Ruby on Rails 和 Grails 有啥区别?【英文标题】:What is the difference between Ruby on Rails and Grails?Ruby on Rails 和 Grails 有什么区别? 【发布时间】:2011-01-23 12:21:42 【问题描述】:

有人让我学习 Grails,然后他们说 Ruby on Rails。他们几乎可以互换使用它。

两者有什么区别?

【问题讨论】:

作为 Ruby on Rails 转换者的个人意见... 学习 Ruby on Rails! (虽然实际上,学习两者都会很有用,因为它是一个重要的框架,而不是它所基于的语言......) 【参考方案1】:

我曾参与过 Groovy on Grails 和 Ruby on Rails。

    两者都是敏捷平台,遵循 DRY 或“不要重复自己”的原则和约定优于配置。 两个 Grails 都是框架的框架。您可以编写 Java 或 Ruby 语法代码来代替 Groovy 语法代码,它将完美运行。 在 Groovy 中,我们也可以使用 Java Spring 和 Hibernate 框架。 两者都支持脚手架。 Rails 有 gem 和插件,但在 Grails 中,到目前为止,我只使用过插件。 Rails 框架采用 Ruby 语言构建,Grails 框架采用 Groovy 语言构建。

两者都是很棒的框架。

你可以在这里找到文档:

Grails Rails

【讨论】:

【参考方案2】:

它们是完全不同的技术,共享一个名称模式(例如 Java 和 javascript)。当时将使用 Groovy 构建的 Web 框架命名为“Groovy on Rails”(后来被要求更改名称)以在充斥着 Web 框架的空间中引起注意是明智的。一个关键的根本区别(除了不同的编程语言)是在 Rails 中使用 ActiveRecord 与在 Grails 中使用 Hibernate。

Grails 采用了由 Rails 率先普及的 convention over configuration 方法。

【讨论】:

请注意,Grails 还具有部署在 Apache TomCat 上的优势,就像任何其他 Java Servlet 一样,并且可以重用现有的 Java 类,因此在业务环境中可能是更实用的选择。跨度> 【参考方案3】:

Grails,以前称为“Groovy on Rails”,是使用编程语言Groovy 的Web 应用程序框架。 Ruby on Rails 非常相似,但使用了Ruby。 (注意:我对框架或语言都没有经验。)

Here是关于两者的讨论。 Google可以为你提供更多的对比。

【讨论】:

【参考方案4】:

Ruby on Rails 是一个使用 Ruby 语言编写的 Web 框架,利用模型-视图-控制器模式和对象-关系映射。它强调约定而不是配置,并且没有重复的代码。

Grails 是具有类似目标的 Groovy 编程语言框架。

【讨论】:

【参考方案5】:

我没有使用过 Grails,但它似乎是一个 Groovy 框架,本质上类似于 Ruby on Rails(除了 RoR 框架是基于 Ruby 构建的......)

有关更多信息,请参阅这些 Wikipedia 文章:

http://en.wikipedia.org/wiki/Ruby_on_Rails

http://en.wikipedia.org/wiki/Grails_%28framework%29

【讨论】:

【参考方案6】:

Grails 使用基于 Java 的 Groovy,而 Ruby on Rails 则基于脚本语言 Ruby。

【讨论】:

以上是关于Ruby on Rails 和 Grails 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails 中的 Gemfile 和 Gemfile.lock 有啥区别

ruby on rails 中的控制器和动作有啥区别?

Ruby on Rails 3 表单中的 _snowman 参数有啥用?

思考Ruby On Rails的底层代码(Ruby on Rails 開發秘籍 | Ruby on Rails 快速入門)

Ruby on Rails入门篇

如何在 ruby​​ on rails 中访问 rails 助手和嵌入资产 javascript 文件中的 ruby​​?