什么是铁轨上的红宝石?

时间:2009-12-24 22:21:57

标签: ruby-on-rails ruby

我是前端开发人员(HTML,CSS,JS和jQuery)我知道一点PHP。我试图了解Ruby / Ruby on Rails是什么。

http://rubyonrails.org/上,它说“Ruby on Rails是一个开源的Web框架,针对程序员的快乐进行了优化”

实际上,非梦想的术语,Ruby / Ruby on Rails的特殊之处,以及像我这样的人如何从学习使用它中获益?

我的简单问题是:姐姐是谁? PHP,mySQL,ASP,coldFusion,jsp,apache?

它做什么?

8 个答案:

答案 0 :(得分:23)

语言

Ruby 是最近的编程语言,与Perl和Smalltalk共享其大部分遗产。您可以在tryruby.org看到Ruby的样子(并亲自尝试)。

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

框架

Ruby on Rails 是一组软件设备,可以帮助您更轻松地在Ruby中编写网站。他们试图促进的主要内容(“轻松”)是:

  1. 存储相关数据(例如博客文章及其评论)到数据库。
  2. 接受网络请求并以编程方式回复(例如检查用户密码)
  3. 使用您的数据撰写HTML ,使用布局和模板来简化。
  4. “Rails”,因为它被称为简称,是对某些应用程序模型,特别是MVC的极端偏见。这意味着,与PHP不同,任何.php源文件对于任何代码都是公平的游戏,Rails应用程序中的大多数代码都是在特定的传统位置编写的。当人们将Rails与PHP进行比较时,他们经常指出这一点。

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

答案 1 :(得分:4)

这是Ruby的框架,其最佳点是基于CRUD的网络应用程序。他们做了许多假设(也就是“约定”),这些假设使得创建具有1:1,1:m和m:n关系,对象,控制器和网页的表变得容易和快速,以便公开和操纵这些数据。网络。

Ruby只是另一种面向对象的语言,如Java,C ++或C#。它是由一位来自日本的绅士发明的。

答案 2 :(得分:4)

如果您正在寻找可以与来自PHP的人进行比较的内容,请将其视为红宝石CakePHP。它是一堆预先开发的低级类和系统,然后可以扩展到许多不同的系统中使用。它还捆绑了许多其他有用的工具和插件架构。它使用ruby和基于ruby(erb)而不是PHP的HTML模板语言。

答案 3 :(得分:3)

这可能不是最好的比喻,但就像你会使用HTML / CSS / JS在特定的地方展示具有特定内容的凝聚力实体。 Rails提供了一个框架,允许您在具有特定位置的特定内容的有组织环境中工作。除了有好处,以提供更快速的发展。

一般而言:

Html将包含您要显示的内容,而CSS将有助于控制该内容的特定外观,而JS将允许您操纵或与所述内容进行交互。

Rails,使用MVC(模型,视图,控制器)来提供类似的组织。数据对象通常归类为模型,而视图控制数据的显示。并且控制器将促进从View到Model的数据流,反之亦然。

Rails不是镇上唯一的游戏。所以要环顾四周,因为还有其他很棒的框架,并找到最适合您的风格和语言需求的框架。

答案 4 :(得分:2)

哲学与设计

Ruby on Rails旨在强调Convention over Configuration(CoC),以及Don't Repeat Yourself(DRY)的快速发展原则。

“约定优于配置”意味着开发人员只需要指定应用程序的非常规方面。例如,如果模型中有类Sale,则默认情况下,数据库中的相应表称为sales。只有当一个人偏离这个约定时,例如调用表“销售的产品”,开发人员才需要编写有关这些名称的代码。通常,这会导致更少的代码和更少的重复。

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

取自wikipedia

答案 5 :(得分:2)

  • Ruby
    一种优雅的面向对象的编程语言,包含Smalltalk等对象,以及类似Python和Perl的语法。这就是PHP如果做得好的话。也就是说,Ruby从高级“真实”语言中获取功能,并将它们与Perl,Python和PHP的解释有效语法和库丰富的实用性相结合。
  • Rails
    高级网络框架。许多最近的Web框架被认为是Rails的副本或至少受到Rails的启发。 (Google “rails clone”。)“第一个优秀的网络框架”。

Ruby和Rails一般都受到高度重视。

答案 6 :(得分:2)

Ruby 是一种面向对象的编程语言。 Rails 是一个用Ruby构建的框架,用于开发Web应用程序。我现在已经使用rails大约6个月了,到目前为止它一直很棒。如果你想要一些相同的rails功能,你还应该考虑django(python),cakephp或symfony(php)。

优点:

  • MVC架构 - 代码组织完善, 分解成小的,可管理的 文件
  • 数据库抽象 - 你没有 编写SQL查询,数据库类型 很容易互换
  • 约定优于配置 - rails自动知道文件,数据库,变量名称而未明确指定
  • 快速开发 - Rails需要更少的代码行,因为它会自动处理所有功能并且更具表现力,从而加快开发速度。

<强>缺点:

  • 较慢 - 这经常被争论,但是类似的rails应用程序比它的PHP对应程序慢。据推测,Rails 3将包括速度增加。
  • 少文献 - rails缺少可供PHP使用的大量教程,书籍和API。
  • 少主机支持 - 并非所有共享主机都支持rails,但您可以在任何vps或专用上设置它。与PHP相比,Rails中的部署也更加困难

答案 7 :(得分:1)

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

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

不过,Rails不仅仅是一个图书馆。要真正理解这一点,你必须试验它,这实际上非常容易。

Rails Guides是一个很棒的起点。