编程语言“在轨道上”意味着什么?

时间:2008-10-08 15:46:50

标签: ruby-on-rails ruby grails groovy terminology

我目前正在使用Groovy和Grails。虽然Groovy非常简单,因为它基本上是Java,但我不能说我是格里尔斯。我读到Groovy是Grails,因为Ruby是Ruby on Rails,但这是什么意思?

11 个答案:

答案 0 :(得分:39)

解决你对这个比喻的困惑(尽管在你的问题下已经回答了其他的话):

Groovy是Grails,因为Ruby是Ruby on Rails,但这是什么意思?

Grails是一个基于/使用Groovy编程语言构建的Web框架,为Groovy做同样的事情,即Rails(Ruby的Web框架)为Ruby做的。


“在轨道上”是什么意思?

这个问题的答案归结为这些网络框架的本质。

这些web框架(Grails的&安培;导轨)是建立在“约定优于配置”,这意味着使用普通惯例开发Web应用程序可导致更高的生产率和更易于维护的应用程序的前提下(这是一个总的概括) 。通过定义约定并坚持使用,您会发现您的应用程序易于生成并且可以快速启动和运行。

这对我来说意味着“在轨道上”,就像火车一样。当一条新的火车路线开发出来时,不用担心重新发明火车从一个地方到另一个地方的方式,它已经通过一个单一的公约解决了几十年:铁路。正如火车路线上的轨道限制其从两个位置的路径一样,基于约定的Web框架使用约定来实现应用程序开发人员的灵活性,以便他们可以专注于应用程序的基本业务问题。

Web框架约定的一个主要好处是Web框架现在可以假设应用程序的某些层如何连接在一起。在Rails中,通常可以假设如果一个数据库表具有复数名称,则映射到该表的ActiveRecord类将具有相应的单数名称。因此,Rails代码发生器可以消费数据映射信息来生成数据访问代码,诸如动态探测器,迁移,延迟加载关联遍历等在基于配置的框架本数据访问代码是费力的代码通过手< / p>

答案 1 :(得分:14)

有几个人提到了Rails / Grails是什么的技术细节。有些人还提到“约定优于配置”是Rails / Grails中的“rails”。这越来越接近真相。但这只是Rails更广泛的哲学的一个特征,即 opinionated software 的概念。

意见软件不能仅以技术术语描述;这是一种哲学;一种精神; an attitude。喜欢它或hate it 是Rails的核心。

这是Rails的创建者2005 interview with David Heinemeier Hansson的例外情况:

  

Rails是自以为是的软件。它避免将旧的软件理想置于主要位置。其中一个理想是灵活性 - 我们应尽量采用尽可能多的方法,我们不应该对一种发展形式的判断而不是另一种形式的判断。好吧,Rails确实如此,我相信这就是它的工作原理。

     

使用Rails,您可以在基础架构级别交换灵活性,从而在应用程序级别获得灵活性。如果您乐意沿着我在Rails中嵌入的黄金道路工作,那么您在生产力方面获得了巨大的回报,这使您可以在应用程序级别上做得更多,更快,更好。

后来的采访还有explores the subject

因此,“在轨道上”是一种“自以为是”的隐喻,这就是它被命名的原因。任何记者或作家都会告诉你,“Ruby on Rails”这样的事实,是一种引起人们注意的可靠方式。

答案 2 :(得分:8)

我认为一个努力成为“类似轨道”的框架指的是几件事:

  • 模型级:AR模式的ORM(而不是数据映射器),迁移或一些自动化模式和模型层管理,处理应用程序中的外键(不在数据库模式中,也不使用存储过程)或纯DBMS逻辑)

  • TDD鼓励:自动生成单元测试的骨架,

  • 连接数据库表名称和模型名称,控制器和视图操作以及HTML模板的命名约定

  • 简化的路线识别和路线生成方案

  • 强调REST架构

  • 与ajax libs集成:RJS,原型和scriptaculous

答案 3 :(得分:7)

Rails是一个使用数据库后端开发Web应用程序的框架。我认为这个名字本来就是一个文字游戏。火车可以快速带你去真正,但只能在铁轨去的地方。

答案 4 :(得分:4)

在轨道上意味着你无法控制你的目的地。这意味着,你只能走到铺设铁轨的地方。任何试图走到轨道上的人都没想到你去的地方会导致沮丧。

答案 5 :(得分:1)

这是汽车表达。当一辆汽车处理得非常好时,据说它“像在轨道上行驶一样”(即它可以提供出色的控制)。

我不知道铁路人员是否有这个名字,但这就是我解释它的方式。

答案 6 :(得分:1)

简短而简单的回答:约定优于配置。

答案 7 :(得分:1)

如上所述,Rails和Grails为Web应用程序开发提供了约定 - 以某种方式命名您的作品并将它们放在正确的位置使应用程序默认工作,无需额外配置。如果您想偏离惯例,可以在那里配置。

答案 8 :(得分:1)

Ruby和Groovy是语言。

Ruby on Rails是一个突破性的webapp框架。查看上述固定软件的优秀答案。

作为历史问题,Groovy webapp框架的工作标题是 Groovy on Rails 。然而,RoR社区反对。该团队选择了 Grails

答案 9 :(得分:0)

这是一个比喻,我几乎说需要解释。无论如何,这是Ruby on Rails所做的非常好的比喻。它使得(去)常见的东西非常容易,我。即测试,验证,部署,MVC。

答案 10 :(得分:0)

我不同意其他评论“on rails是关于约定优于配置的哲学”等等。

虽然rails确实遵循这些理念,但“Ruby on Rails”是Web框架的名称。没有更多,没有更少。它并不是指任何特定的“on-railness”,它只是一个品牌名称,就像麦当劳是一个品牌名称一样。

如果其他人编写另一个框架并将其称为“Python on Rails”,那么将会有另一个品牌名称。如果没有,“轨道上的XYZ”只意味着人们感到困惑。