代码之家  ›  专栏  ›  技术社区  ›  PurplePilot

如果我学习Sinatra或Padrino,这对我学习Ruby on Rails有帮助吗?[关闭]

  •  3
  • PurplePilot  · 技术社区  · 14 年前

    如果我学习 Sinatra Padrino ,这对Ruby on Rails有帮助吗?

    我假设对于所有这些,我需要更好地理解Ruby本身,但是(比如)Padrino是否直接转化为我将在Ruby on Rails中使用的技能,或者它是间接的?

    我是一个PHP程序员,但是,由于我使用了PHP框架,它是RubyonRails的克隆,所以我发现这并不太难。

    8 回复  |  直到 10 年前
        1
  •  5
  •   Joost Schuur    14 年前

    这可能是一个更具争议性的观点,我承认这两种观点都是新的,但作为一个刚在西纳特拉呆了一个星期,然后搬到铁路上的人,我建议直接去铁路。起初,似乎要了解Rails还有很多东西,但是如果你要写一些比较复杂的东西,你最终会转向Rails,从Rails“释放”你需要编写Sinatra应用程序的东西比从Rails重新学习要做的事情要少。方式。当你在Sinatra开始的项目最终在Rails上做的最好时(这发生在我身上),你就省去了不得不换档的痛苦。

    这就意味着要花更长的时间才能在轨道上达到速度。我建议从 Michael Hartl's tutorial 以及 official guides . 然而,我的建议是专门针对那些已经知道如何开发Web应用的现有开发人员,他们比初学者更容易想到更复杂的项目。一个对网络应用程序设计很陌生的人可能会很感激构建一个基本的Sinatra应用程序所带来的即时满足感,但这似乎不是你的。

    经验丰富的开发人员可能会争辩说,你肯定也可以在Sinatra中编写“中等复杂”的应用程序,他们是对的。我认为Sinatra的优势在于,对于那些希望在没有Rails“开销”的情况下开发出快速应用程序的经验丰富的开发人员来说,它是一种回退,而不是作为基于Ruby/Rails的Web应用程序开发的介绍。

        2
  •  6
  •   Peter Mortensen icecrime    14 年前

    你不能跳过学习Ruby的步骤,因为每一个RubyMVC都会扩展它,如果你需要进行一些重要的定制/优化,你可以在Ruby中进行。

    我的建议是学习Ruby基础(变量、块、模块、哈希等),在现实世界中使用Ruby on Rails,学习 Rack 然后选择最适合你需要的红宝石世界的“碎片”。

        3
  •  4
  •   Simone Carletti    14 年前

    Padrino基于Sinatra,而Sinatra又基于Rack,Rack也是在Rails中实现的Ruby Web服务器接口。所以是的,它们有一些共同的特性,但是不,如果你以前不学习Ruby,学习Sinatra对你学习Rails没有多大帮助。

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

    Rails和Sinatra共享一些属于Ruby生态系统的共同原则和习惯。但为了更好地理解这些框架,您需要先学习Ruby。

    不要将“学习Ruby”步骤假定为可选任务。

        4
  •  2
  •   EliCash    10 年前

    Rails=>Ruby=>Sinatra=>轨道

    我先做了rails+bootstrap,虽然最终我的可交付成果非常有光泽,但是我的定制和升级能力非常不稳定,而且非常缓慢。从那里我开始学习Ruby语言的语法,一些是为什么书和其他东西,这让我理解了一些最初看起来像“魔法子弹”的东西。在和Ruby相处了一段时间后,我在Sinatra挑选了一些东西,这真的很有趣。Sinatra可以通过一页代码推送一个功能齐全的网页的本地服务器!这使我能够以非常亲密的方式对数据库和数据映射器进行实验。目前我已经转向了Rails,比如脚手架、模型生成、控制器生成等。这些东西现在完全不同了。所以我说:

    1. 栏杆

    2. Ruby语法

    3. 西纳特拉

    4. 栏杆

    冲洗,重复……

        5
  •  1
  •   wuliwong    12 年前

    我不认为Rails是使用Ruby的Web开发人员的最终目标(尽管它可能是(:)。我在一家软件公司工作,该公司使用Ruby而不是Rails来开发Web应用程序。我和你(php)走了一条类似的道路。我想使用Ruby进行开发,并开始研究Rails,但发现它非常令人望而生畏。我开始学习基本的Ruby东西,在这个过程的早期,我发现了Sinatra。我从一开始就喜欢它。学习使用Sinatra允许我一块一块地添加各种宝石,比如ORM或身份验证,然后看看它们是如何单独工作的。在使用Sinatra的早期应用程序中,“移动部件”会少得多,对我来说这是首选。我和很多Rails的人互动,从我们的对话中收集到的信息来看,我认为现在开发一个使用Rails的项目对我来说是非常痛苦的。

    所以我的两点是,对于一些人来说,先学习西纳特拉可能会非常有帮助。但是不同的人学习方式不同,所以我认为这个问题没有一个一刀切的答案。

        6
  •  1
  •   user3245240    10 年前

    先倾斜西纳特拉,再倾斜铁轨。

    Rails有很多内置的“魔力”,这意味着您不需要知道任何东西是如何工作的来启动和运行的。

    接下来,当您决定拿起轨道,您将有一个更好的了解实际发生的事情。“魔法”仍然存在;你只是对它的行为有了更好的理解。这样,如果有什么东西坏了,您就可以更好地了解如何修复它。

    祝你好运!

        7
  •  0
  •   Danish Khan    14 年前

    如果你想学习Rails,一个很好的方法就是按照这篇博文中的路线图去做。这是我用过的,它是一个伟大的开始。显然,如果您已经了解了PHP,那么您很可能会跳过一些步骤,但总的来说,这是一种非常好的方法,可以向学习Rails迈出一小步。 http://techiferous.com/2010/07/roadmap-for-learning-rails/

        8
  •  0
  •   kakubei    12 年前

    只是想补充一下我的观点,是的,学习Sinatra或Padrino肯定会帮助你学习Rails。从某种意义上说,它将使从PHP(或其他什么)到Rails的转换不那么令人生畏。正如乌里旺所说,西纳特拉和帕德里诺远没有铁路复杂。事实上,在我个人看来,Rails本身就太复杂了,在Rails中进行路由有点像噩梦,但是我们不要偏离轨道。

    另外,虽然没有学习Ruby你就不能学习Ruby,但是没有任何理由不能像学习Rails(或Sinatra/Padrino)那样学习Ruby,这是一种学习语言的有趣方式。

    我直接从Rails开始,对Ruby一无所知,它来自PHP。在那里做了很多教程,买了几本书,继续苦苦学习。在Rails上工作了大约7个月后,我搬到Padrino构建了一个API,与Rails相比,我立刻喜欢它的简单性。

    一旦你变好了,Rails有很多高端的魔力,这是了不起的,但当你开始的时候,它是非常压倒性的。Sinatra/Padrino让您可以从更小、更容易开始,并不断增加。

    祝你好运!