Rack应用程序和Sinatra应用程序之间有什么区别?

时间:2011-07-15 08:15:08

标签: sinatra rack

我对使用Sinatra应用程序的Rack应用程序有什么好处?

感谢

2 个答案:

答案 0 :(得分:7)

我认为提问者想要保持它只是Rack的优点。

考虑到Sinatra已经是一个非常薄的&对于典型的Web应用程序的简约贴面,我的简短回答将是:当您的需求不典型和/或斯巴达时

当你甚至不需要......

  • 布局/模板 - 您喜欢写出原始字符串http内容
  • cookies和会话 - 没有记忆,一切都是一次性默认
  • 方法 - 您的应用以疯狂的方式滥用网址和HTTP VERB
  • 是现代的 - 你对90年代的CGI / perl脚本怀有怀旧情绪
  • 任何结构 - 您的应用程序返回文本中的时间。本身。

我使用Sinatra是因为我相信这是最低的足迹,你可以真正关注我的应用程序的业务功能,而不处理Web服务器的细节(Rails相反是单调厚!)并且仍然具有直观的MVC类似项目结构

除了代码行之外你几乎没有什么收获,当你给极客留下深刻印象时,你眼中闪过一丝光彩 诚实。

p.s:我在http://github.com/codepants/yasumi

为我自己的需求保留了一个很好的骨架

答案 1 :(得分:3)

  

Rack,一个模块化的Ruby webserver接口Rack提供了一个最小的,   模块化和适应性强的界面,用于开发Web应用程序   红宝石。通过以最简单的方式包装HTTP请求和响应   可能,它统一和提炼Web服务器,Web的API   框架,以及之间的软件(所谓的中间件)变成了   单一方法调用。

Rack是一个简单的中间件,因此更轻巧,但在构建复杂的应用程序时并没有那么多帮助。

  

Sinatra是一种领域特定语言(DSL),用于在Ruby中快速创建Web应用程序。

     

它保留了最小的功能集,让开发人员使用这些工具   最适合他们和他们的应用。

Sinatra是Rack上的一个小型“框架”,为您提供了快速运行的漂亮方法。它不像Rack那样轻巧,但仍然像天空中的云一样轻盈。