我买了“Beginning Ruby: From Novice to Professional - by: Peter Cooper”。
从.NET背景来看,我想:
Ruby是C#,和 Rails是ASP.NET
比较时。如果我错了,请纠正我。我应该和Ruby一起学习Rails还是首先需要在Ruby中学到很多东西?我是否需要Rails的知识才能开发Web应用程序?如果没有Rails,仅使用Ruby可以做些什么呢?
答案 0 :(得分:2)
我应该和Ruby一起学习Rails还是首先需要在Ruby中熟练掌握?
不,你可以同时学习。当然,您应该首先理解语言基础知识。但你之前不必好好地沾手
。我是否需要Rails的知识才能开发Web应用程序?
不,Ruby还有其他webapp frameworks,但RoR最为着名。
如果没有Rails,仅使用Ruby可以做些什么?
你可以做任何其他编程语言的事情。
例如,请参阅Ruby站点上的"Success Stories"。
答案 1 :(得分:1)
我个人觉得在完成项目后学习语言会更容易。这就是Rails的用武之地,通过提供Web开发框架,您可以轻松地创建任意数量的基于Web的业余爱好项目。
只是阅读并盲目地学习教程并不会让事情陷入困境。特别是当我建立了舒适的用其他语言做事的方式时。
Ruby是来自.NET套件中更正式语言的新鲜空气。如果您以前从未使用过任何动态语言(Python,Perl等),那么您就可以参加。最重要的学习工具是Interactive Ruby shell。如果你想玩代码只需要开始输入irb。书籍肯定有帮助,但只是在解释器上抛出语句和片段,可以帮助你理解幕后发生的事情比记忆方法调用和库API快得多。
关于Ruby的书籍查找_Why的Poignant Guide To Ruby。它与你见过的任何其他编程书不同,如果你来自.NET那些Ruby引入了许多非常外国概念的东西,这是合适的。如果你以前没有做任何关闭的事情,那么期望被街区挡住。
学习Rails和Ruby的唯一困难部分是确定代码的哪些部分是Ruby,以及什么是Rails辅助方法。坚持下去,你应该没事。
至于没有Rails的Ruby可以做什么?几乎任何事情。它是一种功能齐全的语言,适合许多任务。但我不相信具有硬实时要求的东西
我不是.NET的人。所以我不能评论Ruby和Rails之间关系的相似性以及c#和ASP.NET之间的关系。我可以告诉你关于Ruby和Rails的内容来自我看到Chad Fowler给出的一个话题。它被称为“Rails很无聊,Ruby就是玩具”。哪个是最简洁准确的描述。
Rails通过采用约定优于配置方法来完成Web应用程序中的大部分繁重工作。这意味着如果您以Rails期望的方式定义事物,那么完成最少的配置。 Rails是一个用Ruby编写的帮助程序框架,用于实现Web服务的MVC方法。
答案 2 :(得分:0)
Ruby是一种语言。 Rails是一个用Ruby编写的框架。您需要学习Rails的唯一原因是您希望基于它编写应用程序。
答案 3 :(得分:0)
你是对的比较,Ruby就像C#,ASP.NET MVC是Rails(很好)。 Rails是一个用Ruby编写的框架。
Rails似乎是在Ruby中开发Web应用程序的首选方式。还有其他框架,如Merb(与Rails合并),Sinatra和Ramaze。
即使不使用这些框架,您仍然可以构建您的Web应用程序,但这相当于使您自己的生活变得复杂,并且超出了本讨论的范围。
您可以并排学习Rails和ruby,当您更好地理解Ruby时,您可以深入研究使用ruby开发独立Web应用程序的更深层次的问题:)
答案 4 :(得分:0)
你的比喻是正确的。 Ruby是一种语言,Rails是一种框架。
如果你想做网络编程,你可以学习任何ruby web框架(Rails,Sinatra,Merb ......)。 Rails是最受欢迎的,而且它的学习速度非常快(喜欢配置概念的惯例,因为它可以帮助您更快地开始工作)。我不能推荐this预订足够的铁杆(并且它也有一个像样的红宝石底漆)。
Ruby本身就是一种很好的通用编程语言。
答案 5 :(得分:0)
这可能听起来很奇怪,但我学习Ruby是学习Rails的副作用。我之所以选择学习Rails是因为我想创建一个以数据库为中心的网站,并且看到Rails看起来比使用以Java为中心的堆栈(我的舒适区)要简单得多。我没有太多关注语言(Ruby),现在有一个相当不错的网站使用大量的Rails插件,它集成了Web服务,进行图像处理等.Rails是一个基于Ruby的框架,很明显我一直在学习Ruby,但是在进入之前我并不觉得我需要一个Ruby基础。也许这是因为Rails充满了DSL(特定于域的语言)自定义。有点倒退,但它对我有用:-)
答案 6 :(得分:0)
我强烈建议先学习Ruby。 Ruby是一个令人惊叹的工具,任何程序员都可以从中受益。在编写Rails之前,我编写了许多脚本,这些脚本在Ruby中节省了大量时间。在学习rails之前,我甚至写了一篇sinatra /续集商业智能webapp。如果你真的了解ruby,你将成为一名更好的铁轨程序员。
答案 7 :(得分:0)
来自.NET背景,你也可以考虑这个标题:
Rails与ASP.NET不同,它就像新的ASP.NET MVC一样;或者更确切地说,相反。
在潜入Rails之前,我肯定会尝试掌握Ruby。 Rails以某种方式完成Ruby并且在冒险进入Rails之前了解Ruby将为您提供更好的整体基础。此外,Rails绝不是Ruby中Web开发的唯一选择。我建议您查看Sinatra,Ramaze,尤其是Rack(其中包括所有重要的Ruby Web框架,包括Rails)。
就使用Ruby可以做什么而言,您可以使用任何脚本语言完成任何可以完成的任务。还有一些项目可以完成许多与C#相同的事情。 Ruby是一种通用语言,所以你可以用它做任何事情。它最出名的是因为Rails,但它不仅仅是Web开发的好处。