首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Sinatra或Merb的场景是什么?

使用Sinatra或Merb的场景是什么?
EN

Stack Overflow用户
提问于 2009-04-09 02:23:11
回答 3查看 1.6K关注 0票数 5

我正在学习Rails,对Sinatra & Merb知之甚少。我想知道在什么情况下您会使用Merb/Sinatra。

感谢您的反馈!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-04-09 02:43:25

Sinatra是一个比Rails小得多、重量轻得多的框架。如果你想让一些东西快速运行,只需要发送几个URL并返回一些简单的内容,就可以使用它。看看Sinatra home page;这就是让"Hello,World“启动和运行所需要的全部,而在Rails中,你需要生成一个完整的项目结构,设置一个控制器和一个视图,设置路由,等等(我已经有一段时间没有写Rails应用了,所以我不知道"Hello,World”到底有多少步骤,但它肯定比Sinatra多)。Sinatra的依赖项也比Rails少得多,因此更容易安装和运行。

我们正在使用Sinatra作为我们正在编写的一些web客户端库的快速测试web服务器。事实上,我们可以编写一个单独的文件,并在一个文件中包含我们所有的逻辑,并且几乎没有依赖项,这意味着与使用Rails应用程序相比,使用和运行我们的测试要容易得多。

Merb is being merged into Rails,所以很快就不会有任何理由使用其中一个。它最初被设计为比Rails更轻量级,更具解耦能力;Rails有更多的内置假设,即您将使用ActiveRecord。但是当他们将两者合并时,他们也在以类似的方式解耦Rails,所以如果你已经在学习Rails,那么坚持下去并随着开发的发展可能是值得的。

票数 7
EN

Stack Overflow用户

发布于 2009-04-09 03:09:40

我不能为Merb说太多,但Sinatra对于小型或轻量级解决方案非常有效。如果你不需要大量的代码,或者不需要一个庞大的网站,你可以使用Sinatra编写一个非常有效的网站,速度要么和Rails一样快,要么是Rails的两倍(在我看来)。

Sinatra也非常适合应用程序的零碎部分,例如统计包的前端。或者像ErrCount这样的东西,它只是一个非常简单的点击计数器。

因此,在使用Sinatra时,请考虑轻量级、快速和高度简单化的web应用程序(尽管复杂性是您的选择)。

票数 2
EN

Stack Overflow用户

发布于 2009-04-09 10:40:44

就目前的情况来看,这很快就会成为一个没有意义的问题。

如前所述,Merb 2.0和Rails 3.0将是同一件事。新合并的Merb和Rails核心团队已经在努力实现这一目标。我不知道他们是否还在计划RailsConf在5月份发布(可能是测试版),但这肯定会在今年发生。

例如,如果您决意要使用ActiveRecord以外的对象关系管理,那么您可以现在就开始使用Merb,并在2.0 (Rails3.0)发布时进行更新。现在,Merb被普遍接受为变化组件提供了比Rails更好的框架。

Sinatra看起来像是一个出色的web应用程序的解决方案,它具有较低的界面复杂性和比Merb/Rails的正常代码更低的模型级别的代码。实现简单的RESTful API将是一个很好的用途。当涉及到任何数量的HTML时,我不太相信它的价值,当涉及到模板时,我就更不相信它的价值了。

同样,随着Rails (以及即将到来的Merb )现在位于Rack之上,没有理由不将Sinatra的应用程序包含在解决方案中:它们可以共存。这是a blog post that discusses that very concept

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/732560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档