非webruby项目框架

非webruby项目框架,ruby,frameworks,Ruby,Frameworks,我正在为一个非web项目寻找一个简单的Ruby框架。我非常熟悉Rails,所以当我编写纯Ruby时,我会想念: 不同的环境(开发、测试、生产) 控制台rails c 以及rake或rails提供的许多其他实用程序 我知道我需要积极的支持和朋友,但这不是我需要的。我错过的主要是开发框架 我调查的一件事是将我的项目作为一个gem(即使最后我不需要gem)。例如,使用jeweler提供版本控制。我肯定有更好的方法,但我找不到。您将使用什么?首先,Rails作为web框架的目标是让您基本上忘记基于w

我正在为一个非web项目寻找一个简单的Ruby框架。我非常熟悉Rails,所以当我编写纯Ruby时,我会想念:

  • 不同的环境(
    开发、测试、生产
  • 控制台
    rails c
  • 以及rake或rails提供的许多其他实用程序
我知道我需要积极的支持和朋友,但这不是我需要的。我错过的主要是开发框架


我调查的一件事是将我的项目作为一个gem(即使最后我不需要gem)。例如,使用jeweler提供版本控制。我肯定有更好的方法,但我找不到。您将使用什么?

首先,Rails作为web框架的目标是让您基本上忘记基于web的应用程序的底层细节(与web服务器、数据库等交互),并为您提供高层抽象,使您能够专注于实际工作:完成应用程序

非web应用程序的多样性如此之大,以至于要有一个“使它们成为所有应用程序”的框架简直是不可能的

了解什么是框架以及为什么和何时应该使用框架是很有用的

比如说,你得建一个狗屋。你可以买一些木头、钉子和锤子,按照你想要的方式从头开始建造,或者你可以去沃尔玛买一个DIY狗屋套件。 你会得到一本关于如何建造你的狗的“梦幻狗屋”的详细说明的手册,你会比从头开始做的更快,但你会被限制在它附带的木材上,可能会被迫使用它们的钉子或螺丝,在某些情况下,你还需要购买一个特殊的螺丝刀

DIY工具包是您的框架。一些聪明的家伙已经为你提供了制作狗窝的基本工具,你只需要在他们的“框架”下想出(或者没有,如果你有手册的话)如何做就可以了

现在,假设你要建造一座摩天大楼。使用的材料、工具和惯例(框架)可能与建造狗屋时不一样,而使用“摩天大楼框架”建造狗屋将是致命的

当你编写一个拥有10亿并发用户的银行应用程序时,你不会使用相同的工具和约定来编写Twitter客户端

Rails只是一个框架,它为您提供了一组许多好的(和有用的)约定来编写web应用程序,但这并不一定意味着它是最终的方法。您可以选择另一个框架,也许您会更喜欢编写应用程序的约定,而不是Rails提供的约定;或者您可以从头开始编写,这不会限制您使用特定框架提供的内容,并且可能会使它变得更好

回答你的问题:想想你想写什么,不要让自己被框架提供的一套工具和约定所限制,如果你选择这条路,它们肯定会被限制

给自己买一些关于设计模式的书,读一些很棒的软件,然后你就会明白为什么作者没有选择应用程序框架。事实上,他们已经制定了自己的惯例,并定义了它应该做什么的行为;再说一次,“Rails方式”不是唯一的方式,这并不意味着它是一种糟糕的方式


我非常感谢有建设性的批评,因为我确实试图提供一个好的答案。

好的,这是一个由三部分组成的问题。托雷斯提安,或特里斯蒂。。。事实上,这是行不通的。那么就是这样了

关于Rails,需要了解的一点是,它并不神奇。这是一段代码,由凡人编写,他们有缺点(比如过于自负),但也非常聪明。因此,我们可以在稍微研究一下他们的工作后理解它

1。Rails环境非常可爱

Rails环境管理背后的代码实际上非常简单。您有一个默认环境,该环境由设置为
development
。您可以在应用程序中执行大致相同的操作。运行一段初始化代码,定义YourAwesomeThing.environment=ENV[“awome_ENV”]| |“development”。然后就是在需要它的地方需要
config/environments/#{YourAwesomeThing.environment}.rb
。然后,就需要在这些文件中进行配置,根据环境修改库的工作方式

我在
3-1-stable
中找不到这样做的线路(它是走了的walkies),所以

至于可爱的方法,如
Rails.env.production?
,它们是由
ActiveSupport::StringInquirer
类提供的

2。Rails控制台是第二个即将推出的

我认为
rails控制台
太棒了。我不想创建一个新文件只是为了手动测试一些代码,就像我在PHP的黑暗时代所做的那样。我可以跳入控制台并在那里尝试,然后在完成后键入
exit
。太神了我认为Rails开发人员对控制台还不够欣赏

无论如何,这只是一个
irb
会话,之前加载了Rails环境!我将再次重申:Rails并不是神奇的。如果您键入
irb
,然后在该irb会话中键入
require'config/environment'
,您将得到(至少据我所知…)与Rails控制台相同的东西

这是由于Rails初始化部分的神奇之处,它几乎是神奇的,但不是,我已经在下面的文章中解释过了

通过阅读这篇文章,你可能会学到很多东西,这篇文章的长度似乎与乔治·R·R·马丁或罗伯特·乔丹所写的一本书相似。我在写作中确实学到了很多