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

什么是Ruby on Rails?

  •  9
  • adardesign  · 技术社区  · 16 年前

    我是一个前端开发人员(HTML、CSS、JS&jQuery),我对PHP有点了解。我试图理解什么是Ruby/Ruby on Rails。

    http://rubyonrails.org/ 它说“RubyonRails是一个开源的Web框架,为程序员的快乐而优化”

    实际上,用非梦幻的术语来说,Ruby/Ruby on Rails有什么特别之处,像我这样的人如何从学习使用它中获益?

    我的简单问题是:这是谁的妹妹?php,mysql,asp,coldfusion,jsp,apache?

    它是做什么的?

    8 回复  |  直到 9 年前
        1
  •  23
  •   Andrew Barber Eric Lafortune    13 年前

    语言

    红宝石 是一种与Perl和Smalltalk共享其大部分传统的最新编程语言。你可以看到鲁比长什么样(自己试试看)。 tryruby.org .

    就像你可以用PHP来写网页一样,你也可以用Ruby来做同样的事情。

    框架

    红宝石钢轨 是一组软件设备,可以帮助您更轻松地用Ruby编写网站。他们试图促进的主要事情是:

    1. 存储相关数据 (例如博客文章及其评论)到数据库。
    2. 接受Web请求 并以编程方式响应(例如,检查用户密码)
    3. 编写HTML 使用你的数据,布局和模板,使它更容易。

    “Rails”,简称为“Rails”,它的构建对某些应用程序模型,特别是MVC,有着极大的偏见。这意味着与php不同的是, .php 源文件对于任何代码都是公平的,Rails应用程序中的大多数代码都是在特定的、常规的地方编写的。当人们比较Rails和PHP时,他们经常指出这一点。

    我没有介绍很多,但这些是Rails最基本的功能。为了看它是什么样子,我建议你去看那些臭名昭著的, "Creating a Weblog..." screencast .

        2
  •  4
  •   Seburdis    16 年前

    如果你想找一些东西来与来自PHP的人进行比较,可以这样想 CakePHP 红宝石。它是一组预先开发的低级类和系统,然后可以扩展到许多不同的系统中使用。它还捆绑在许多其他有用的工具和插件架构中。它使用Ruby和基于Ruby(erb)而不是PHP的HTML模板语言。

        3
  •  4
  •   duffymo    16 年前

    它是Ruby的一个框架,Ruby的最佳选择是基于crud的Web应用程序。他们做了许多假设(又称“约定”),使创建具有1:1、1:m和m:n关系、对象、控制器和网页的表变得容易和快速,以便在Web上公开和操作这些数据。

    Ruby 只是另一种面向对象语言,如Java、C++或C语言。这是一位日本绅士发明的。

        4
  •  3
  •   nowk    16 年前

    这可能不是最好的类比,但就像您将使用HTML/CSS/JS来显示一个具有特定内容的内聚实体在其特定位置。Rails提供了一个框架,允许您在一个有组织的环境中工作,在特定的地方使用特定的东西。以及为更快速的发展提供良好的条件。

    一般情况下:

    HTML将包含您想要显示的内容,而CSS将帮助控制该内容的特定外观,而JS将允许您操作或与所述内容交互。

    Rails使用MVC(模型、视图、控制器)提供类似的组织。其中,数据对象通常被分类为模型,而视图控制数据的显示。控制器将促进数据在视图和模型之间的流动,反之亦然。

    铁路不是镇上唯一的游戏。所以请仔细看看,因为有其他伟大的框架,并找到最适合您的风格和语言需求的框架。

        5
  •  2
  •   khelll    16 年前

    哲学与设计

    Ruby on Rails旨在强调 Convention over Configuration (coc),以及 Don't Repeat Yourself (干)。

    “配置约定”是指开发人员只需要指定应用程序的非常规方面。例如,如果模型中有一个类sale,那么数据库中相应的表在默认情况下称为sales。只有当有人偏离了这一惯例,如将表称为“售出的产品”,开发人员才需要编写有关这些名称的代码。通常,这会导致更少的代码和更少的重复。

    “不要重复你自己”意味着信息位于一个单一、明确的地方。例如,使用Rails的ActiveRecord模块,开发人员不需要在类定义中指定数据库列名。相反,RubyonRails可以基于类名从数据库中检索这些信息。

    取自 wikipedia

        6
  •  2
  •   DigitalRoss    16 年前
    • 红宝石
      优雅的面向对象 程序设计语言 使用类似smalltalk的对象和类似于python和perl的语法。如果做得对的话,这就是PHP应该做的。也就是说,Ruby从高级“真实”语言中获取特性,并将它们与Perl、Python和PHP的解释高效的语法和丰富的库实用性结合起来。
    • 栏杆
      先进的 Web框架 . 许多最近的Web框架被认为是Rails的副本,或者至少受到Rails的启发。谷歌 “Rails克隆” “第一个好的网络框架”。

    Ruby和Rails都受到高度重视。

        7
  •  2
  •   cmpolis    16 年前

    红宝石 是一种面向对象的编程语言。 栏杆 是一个内置Ruby的框架,用于开发Web应用程序。我已经使用Rails 6个月了,到目前为止它非常棒。如果您想要Rails的一些相同的特性,您还应该考虑django(python)、cakephp或symfony(php)。

    赞成的意见:

    • MVC架构 -代码是有组织的, 分成小的,可管理的
      文件夹
    • 数据库抽象 -你没有 要写入SQL查询,数据库类型 很容易互换
    • 配置上的约定 -Rails自动知道文件、数据库和变量名,而不显式指定
    • 快速发展 -Rails需要的代码行更少,因为它可以自动处理所有的函数,并且更具表现力,从而加快开发速度。

    欺骗:

    • 更慢的 -这经常被讨论,但是一个类似的Rails应用程序比它的PHP对应程序慢。轨道3应该包括提速。
    • 较少文献 -Rails缺少大量可用于PHP的教程、书籍和API。
    • 更少的托管支持 -并非所有共享主机都支持Rails,但您可以在任何VP或专用设备上设置它。与PHP相比,Rails中的部署也有点困难。
        8
  •  1
  •   Blaine Lafreniere    16 年前

    Ruby是一种编程语言。RubyonRails是一个用Ruby编写的软件,它可以帮助您开发Web应用程序。

    您可以将RubyonRails视为一组工具。它帮助您在创建动态Web应用程序时执行常见任务。例如会话处理、cookie、数据库交互等。

    不过,Rails不仅仅是一个库。要真正理解这一点,你必须进行实验,这实际上非常简单。

    Rails Guides 是一个很好的开始的地方。