什么是铁轨上的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?

它有什么作用?

语言

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

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

框架

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

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

“Rails”,因为它被称为简称,是对某些应用程序模型,特别是MVC的极端偏见。 这意味着,与PHP不同,任何.php源文件都是任何代码的公平游戏,Rails应用程序中的大多数代码都是在特定的传统位置编写的。 当人们将Rails与PHP进行比较时,他们经常指出这一点。

有很多我没有介绍,但这些是Rails最基本的function。 为了看看它的样子,我建议观看臭名昭着的“创建博客……”截屏video 。

如果你正在寻找一些可以与来自PHP的人进行比较的东西,可以把它想象成像CakePHP的ruby。 它是一堆预先开发的低级类和系统,可以扩展到许多不同的系统中使用。 它还捆绑了许多其他有用的工具和插件架构。 它使用ruby和基于ruby(erb)而不是PHP的HTML模板语言。

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

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

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

通常:

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

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

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

哲学与设计

Ruby on Rails旨在强调约定优于配置 (CoC),以及不要重复自己 (DRY)的快速开发原则。

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

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

取自维基百科

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

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

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

优点:

  • MVC架构 – 代码组织有序,分解为小型,易于管理
  • 数据库抽象 – 您不必编写SQL查询,数据库类型很容易互换
  • 约定优于配置 – rails无需明确指定即自动知道文件,数据库,变量名称
  • 快速开发 – Rails需要更少的代码行,因为它自动处理的所有function都更具表现力,从而加快了开发速度

缺点:

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

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

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

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

Rails指南是一个很棒的起点。