代码之家  ›  专栏  ›  技术社区  ›  echoblaze

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

  •  29
  • echoblaze  · 技术社区  · 17 年前

    11 回复  |  直到 13 年前
        1
  •  41
  •   SWD    17 年前

    Groovy对于Grails就像Ruby对于RubyonRails一样,但这意味着什么呢?

    Grails是一个基于Groovy编程语言构建的web框架,它对Groovy的作用与Rails(Ruby的web框架)对Ruby的作用相同。


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

    这个问题的答案可以归结为这些web框架的本质。

    这就是“在轨道上”对我的意义,就像火车一样。当一条新的火车路线被开发出来时,人们就不必担心重新发明火车从一个地方到另一个地方的方式,几十年来,只有一个惯例解决了这个问题:铁路。正如火车路线上的轨道从两个位置限制其路径一样,基于约定的web框架使用约定来提高应用程序开发人员的灵活性,以便他们能够集中精力解决应用程序的基本业务问题。

    web框架约定的一个关键好处是,web框架现在可以对应用程序的某些层如何连接在一起做出假设。在Rails中,通常可以假设,如果一个人的数据库表具有复数名称,则映射到该表的ActiveRecord类将具有相应的单数名称。因此,Rails代码生成器可以使用数据映射信息来生成数据访问代码,如动态查找器、迁移、延迟加载关联遍历等。在基于配置的框架中,手工编写此数据访问代码非常困难。

        2
  •  16
  •   Community Mohan Dere    6 年前

    有几个人提到了Rails/Grails的技术特性。一些人还提到“约定优于配置”是rails/Grails中的“rails”。这越来越接近事实。但这只是Rails更广泛的庸俗观念的一个特征,即 opinionated software

    固执己见的软件不能仅用技术术语来描述;这是一种哲学;民族精神; an attitude . 喜欢还是不喜欢 hate it 那个 是Rails的核心。

    这是2005年的一个例外 interview with David Heinemeier Hansson ,Rails的创建者:

    Rails是固执己见的软件。它避免将旧的软件理念放在首要位置。其中一个理想是灵活性,即我们应该尽可能多地适应各种方法,我们不应该对一种发展形式而不是另一种发展形式作出判断。Rails确实如此,我相信这就是它工作的原因。

    有了Rails,您可以在基础架构级别交换灵活性,以获得应用程序级别的灵活性。如果您乐于沿着我在Rails中嵌入的黄金路径工作,您将获得巨大的生产力回报,这将使您能够在应用程序级别做得更多、更快、更好。

    还有一个稍后的采访进一步说明了这一点 explores the subject

    所以“在轨道上”是“固执己见”的隐喻,这就是为什么它被命名为“它是”。这一点以及“RubyonRails”是头韵的事实,任何记者或作家都会告诉你这一点,这无疑是吸引人们注意力的一种火爆方式。

        3
  •  8
  •   Gene T    17 年前

    我认为一个力求“像rails”的框架涉及到以下几点:

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

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

    • 流线型路线识别和路线生成方案

    • 与ajax库的集成:RJS、prototype和scriptaculous

        4
  •  7
  •   Bill the Lizard    17 年前

    Rails 是一个用于开发带有数据库后端的web应用程序的框架。我认为这个名字最初是一个文字游戏。火车可以带你去某处 真正地 速度很快,但只在轨道运行的地方。

        5
  •  4
  •   Kibbee    17 年前

    在轨道上意味着你无法控制你要去哪里。这意味着,你只能去铺设了栏杆的地方。任何试图去那些铺设铁轨的人没有预料到你会去的地方都会导致挫败感。

        6
  •  2
  •   Ferruccio    17 年前

    我不知道rails的人是不是从那里得到这个名字的,但我就是这么解释的。

        7
  •  2
  •   Christoph Schiessl Joeyjoejoejr    17 年前

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

        8
  •  1
  •   John Flinchbaugh    17 年前

        9
  •  1
  •   Orion Edwards    17 年前

    我不同意“OnRails是一种关于约定而非配置的哲学”等其他评论。

    如果其他人编写了另一个框架并称之为“Python on Rails”,那么就会有另一个品牌。如果不是的话,“xyzonrails”只是表示人们感到困惑。

        10
  •  1
  •   Michael Easter    17 年前

    Ruby和Groovy是两种语言。

    RubyonRails是一个开创性的webapp框架。请参阅上面关于固执己见软件的优秀答案。

    历史上,Groovy webapp框架的工作名称是 . 然而,RoR社区表示反对。团队选择了 相反

        11
  •  0
  •   Matthias Winkelmann    17 年前

    这是一个比喻,我差点说这需要解释。无论如何,这是RubyonRails的一个非常好的比喻。它使做(去)普通的事情变得非常容易。E测试、验证、部署、MVC。