如果我学到 辛纳屈 或者 帕德里诺, ,这对我的Ruby在铁轨上有帮助吗?

我认为,对于所有这些,我需要更好地了解Ruby本身,但是(例如)Padrino直接转化为我在Ruby上使用的技能,还是间接?

我是PHP程序员,但是由于我使用了Ruby上的PHP框架,因此我发现这并不难。

有帮助吗?

解决方案

这可能是一个更具争议性的意见,我会承认这是两者的新手,但是作为一个刚刚在Sinatra上度过了一个星期然后转向Rails的人,我建议您直接进行Rails。最初,似乎还有很多关于铁轨的知识,但是如果您要写一些中等复杂的东西,您最终将搬到铁轨上,而从Rails开始“学习”的工作更少编写一个Sinatra应用程序要比重新学习的事情以轨道方式进行。您可以节省自己的痛苦,因为事实证明您在Sinatra开始的项目毕竟是在Rails上完成的(我发生的)。

这确实意味着要加快轨道需要更长的时间。我建议从 迈克尔·哈特的教程官方向导. 。但是,我的建议专门针对现有开发人员,他们已经知道如何开发Web应用程序,并且比初学者更有可能考虑更复杂的项目。一个全新的Web应用程序设计的人可能会非常感谢您可以立即满足建立基本的Sinatra应用程序,但这似乎并不是您。

经验丰富的开发人员可能会争辩说,您绝对可以在Sinatra中编写“中等复杂”的应用程序,它们将是对的。我认为Sinatra的优势是成为经验丰富的开发人员的后备,他们希望在没有Rails“开销”的情况下淘汰快速应用程序,而不是作为Ruby/Rails基于Web的Web应用程序开发的介绍。

其他提示

您无法跳过学习Ruby的步骤,因为每个Ruby MVC都将其扩展,如果您必须进行一些重要的自定义/优化,则可以在Ruby中进行。

我的建议是学习红宝石基础(变量,块,模块,哈希,..),在现实世界中使用Ruby,学习 架子 然后选择适合您需求的红宝石世界中最好的“碎片”。

帕德里诺(Padrino)基于辛纳屈(Sinatra),它依次基于机架,该机架也是在Rails中实现的Ruby Web服务器接口。因此,是的,他们有一些共同的功能,但是不,如果您以前不学习Ruby,那么学习Sinatra就不会为您提供很多帮助。

如果您在已经熟悉MVC,模板和模型之前已经使用了Web框架。您现在需要知道的是特定于框架的语法,因此您需要直接与要学习的框架合作。

Rails和Sinatra具有一些属于Ruby生态系统的常见原则和习惯。但是,您需要以前学习Ruby,以便更好地欣赏这些框架。

不要假设“学习红宝石”步骤是一项可选任务。

Rails => Ruby => Sinatra => Rails

我首先做了Rails + Bootstrap,虽然我的可交付方式确实很有光泽,但我的自定义和升级能力确实摇摇欲坠,而且确实很慢。从那里,我进入了Ruby语言语法,一些书籍等等,这让我理解了一些最初看起来像“魔术子弹”的事物。经过一段时间与Ruby一起度过了一段时间,我在Sinatra旅行,这真的很有趣。 Sinatra使使用单个代码的本地服务器上的本地服务器推动了本地服务器!这使我可以以非常亲密的方式尝试数据库和数据库。目前,我已经转移到了铁轨上,以及脚手架,模型生成,控制器的生成等等事情……这些东西现在以完全不同的方式变得魔术了。所以我说:

  1. 铁轨

  2. 红宝石语法

  3. 辛纳屈

  4. 铁轨

冲洗,重复...

我不认为Rails是使用Ruby的Web开发人员保证的最终目的地您(php)。我想开发使用Ruby并开始看铁轨,但发现它非常令人生畏。我开始学习基本的Ruby东西,在那个过程的早期我发现了Sinatra。我从一开始就喜欢它。学习使用Sinatra的学习使我能够按零件添加各种宝石,例如ORM或身份验证,看看它们如何单独工作。使用Sinatra的早期应用程序中的“活动部件”较少,对我而言。我与许多Rails的人互动从我的对话中我收集的所有内容,我认为现在使用Rails开发一个项目对我来说将是非常痛苦的。

因此,我的两分钱是,对于某些人来说,首先学习Sinatra可能会非常有帮助。但是不同的人学习不同,所以我认为对这个问题的答案都不适合。

精益辛纳屈,然后是轨道。

Rails具有很多内置的“魔术”,这意味着您实际上不需要知道如何启动并运行它。

接下来,当您决定拿起铁轨时,您将对实际发生的事情有更好的了解。 “魔术”仍然存在;您只能更好地了解它的工作方式。这样,如果某件事破裂,您将对如何修复它有更好的了解。

祝你好运!

如果您想学习Rails,一个好方法是遵循此博客文章中绘制的路线图。这是我使用的,这是一个很好的开始。显然,如果您已经知道PHP,那么您很可能会跳过,但总的来说,这是采取一些小步骤学习轨道的好方法 http://techiferor.com/2010/07/roadmap-for-learning-rails/

只是想补充我的观点,是的,学习Sinatra或Padrino肯定会帮助您学习铁轨。从某种意义上说,它会使从PHP(或其他)过渡到铁轨的过渡少了很多。正如Wuliwong所说,Sinatra和Padrino的复杂性不如Rails。实际上,在我个人的看法上,铁轨对它的利益太复杂了,铁轨中的路线有点噩梦,但让我们不要陷入困境。

另外,虽然您在不学习红宝石的情况下无法学习铁轨,但没有理由为什么您在Lear Rails(或Sinatra/Padrino)时无法学习Ruby,这是一种学习语言的有趣方式。

我直接从铁轨开始,根本不知道Ruby,来自PHP。在那里做了很多教程,买了几本书,并不断努力。在使用Rails大约7个月后,我搬到Padrino建造API,并立即喜欢与Rails相比的简单性。

一旦您变得良好,Rails就会有很多高端魔术,这真是太棒了,但是当您刚开始时,它非常压倒性。 Sinatra/Padrino允许您开始更小,更容易并继续添加。

祝你好运!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top