Rails还是Sinatra?哪个开始学习PHP程序员好?

时间:2010-03-14 16:08:04

标签: ruby-on-rails ruby sinatra

我用PHP工作太久了,对它感到厌烦。我也想学习一门新语言。

我一直在使用Ruby并喜欢它。我必须在Rails和Sinatra之间做出决定,你会推荐哪一个?是不是Sinatra不能用于构建复杂的应用程序,它只适用于简单的应用程序?

7 个答案:

答案 0 :(得分:16)

如果你是Ruby的“非常新手”,也许你应该首先接近Sinatra:它非常小,文档齐全且易于学习。然后,对于更复杂的Web应用程序,您应该尝试Ruby On Rails。

http://railsmagazine.com/issues/5是我为Rails杂志撰写的免费PDF介绍性文章。

答案 1 :(得分:8)

使用Rails,它有比Sinatra更多的文档/书籍。它也更“主流”,许多IDE以特殊的一流公民方式对待rails,因此从它开始是个好主意。

虽然可以在两者中的任何一个上编写任何类型的应用程序,但Sinatra的设计更加简单,因此在Sinatra上复杂的案例应用程序可能需要额外的努力。

答案 2 :(得分:8)

哦,请哦,请不要以rails开头。这就像是第一次对战装甲师进入战斗。最好从一些不安分的本地人开始,然后继续努力。好吧,这不是一个很好的比喻,但轨道是学习的大时间矫枉过正。您可以非常快速地接收Sinatra,然后迁移到rails是一个合理的步骤。同样的东西只是更有用的东西。有了铁轨,就会出现大量令人困惑的事情。他们在语言上添加了很多东西等等。如果你不了解Ruby和基础类,那么就去做Sinatra吧。它快速,简单,您无需了解迁移,耙等。

答案 3 :(得分:4)

你一定要知道两者,因为它们是为不同的目的而制造的。 sinatra是一个适用于小型应用程序的微框架。 rails是一个成熟的mvc框架,几乎所有东西都有很多助手。

如果你知道红宝石,我会说sinatra更容易学习,因为它非常小并遵循常见的红宝石成语。但是学习铁轨并不困难。文档很棒,你会在网上找到很多教程和方法。

正如我所说,知道两者真的很好,所以你可以选择合适的工具。

答案 4 :(得分:4)

首先选择Sinatra。它非常简单易懂,而且它涵盖了Rails(MVC架构等)的基本原理。然后,您可以转到Rails。此外,凭借您对Sinatra的了解,您可以使用Rails metal编写Sinatra应用程序,这样可以轻松创建API。

答案 5 :(得分:1)

无论是Rails还是Sinatra都是一个很好的学习选择。

我开始在Rails开展一个项目,在那里我几乎不知道Web开发或Ruby 2009年10月(我的联合创始人帮助我突破了一些最初的障碍并让我接受了RTFM)。我遇到了一些问题,但可以很容易地编写业务逻辑。最近我开始将项目移植到应用程序引擎并使用Sinatra作为框架,这是一个令人难以置信的学习过程。主要用于了解Rails自动执行的所有操作。它对于查看类成员及其持久性方法的简化定义也很有用(不幸的是,迁移是一个pita,后台进程改变了格式)。

您可能希望考虑部署的位置。

由于我主要对服务器成本较低的直接应用感兴趣,因此Heroku和Google App Engine都很合适。 Rails / ActiveRecord / Sqlite和Heroku工作得很好 Google App引擎上的Sinatra / Datamapper / Datastore流畅。

Rails也在app引擎上成功运行,所以这个选择也是开放的。 IMO Heroku更易于部署。

答案 6 :(得分:0)

除了Sinatra之外,你可能还想看看Ramaze。就功能和可用性而言,Ramaze似乎位于Ruby on Rails和Sinatra之间。