【问题标题】:What is the difference between Ruby and Ruby on Rails in terms of limitations? [closed]就限制而言,Ruby 和 Ruby on Rails 有什么区别? [关闭]
【发布时间】:2013-07-21 07:29:20
【问题描述】:

我想学习一门新的编程语言,我想知道两者之间的区别是什么,除了一个是基于 Ruby 的框架,一个是实际语言。这两种语言的局限性是什么?

【问题讨论】:

标签: ruby-on-rails ruby


【解决方案1】:

Ruby 是一种脚本语言,Python 和 Perl 也是。

Ruby on Rails 是一个基于脚本的 Web 应用程序框架 语言 Ruby。

Ruby on Rails 使使用 Ruby 语言编写的东西变得容易 使动态数据库驱动的网站工作(如 wiki 或社交 网站)。

Rails(而不是 ruby​​ 本身)以成为“有意见的软件”而自豪。

这在实践中意味着 Rails 的作者有一定的目标受众(基本上是他们自己),并专门针对该目标受众。如果该目标受众不需要 X 功能,则不会添加它。

在我的脑海中,rails 明确不支持人们可能关心的事情:

  • 数据库中的外键
  • SOAP Web 服务(自 rails 2.0 起)
  • 一次连接到多个数据库服务器

也就是说,使用插件扩展 rails 非常容易,并且有一些插件可以将上述所有功能添加到 rails 等等,所以我不会将这些视为限制。

唯一需要注意的是,rails 是围绕使用 MVC 创建 CRUD Web 应用程序的想法构建的。如果您尝试做一些不是 CRUD Web 应用程序的事情(例如 twitter,它实际上是一个消息传递系统,或者如果您很疯狂并且想要使用像 ASP.NET Webforms 这样的模型),那么您也会遇到问题。在这种情况下,您最好不要使用铁轨,因为您实际上是在尝试用自行车零件建造一艘船。

您遇到的问题很可能无法通过快速插件或一两天的编码来解决,这些问题都是底层 C Ruby 运行时的固有问题(内存泄漏、绿色线程、垃圾性能等)。

【讨论】:

  • 哇。我们是真正的红宝石迷。如果两天之内不能解决问题,那就是C ruby​​运行时的固有问题。哇!
  • 注意:Ruby 有几个 gem 可以用来与外部 SOAP 服务进行通信 - 可以在 Rails 中使用。但是,Rails 不支持为您的应用程序创建 SOAP 接口。 ActiveRecord 也不是为多个数据库构建的,但可以轻松扩展以合并多个数据库。其他 ORM,例如 Mongoid,支持开箱即用的多个源。
猜你喜欢
  • 1970-01-01
  • 2010-11-17
  • 1970-01-01
  • 2011-01-23
  • 2010-09-14
  • 1970-01-01
  • 2010-12-16
  • 2011-07-29
相关资源
最近更新 更多