Sinatra对控制器等Web服务的好处

cak*_*rus 2 ruby ruby-on-rails sinatra

我正在编写一个简单的ruby控制器,只需要作为Web服务响应一堆移动客户端.

有人告诉我,我应该看看Sinatra.将Sinatra用于这么简单的事情有什么意义?他提到它会"更快"但是如何在某些东西之上使包装更快?

我不想让事情过于复杂; 一个简单的控制器很容易编写,维护的宝石也少.我错过了Sinatra提供的东西,这值得额外的麻烦吗?

谢谢

bjg*_*bjg 5

您可以构建的最简单有用的Ruby Web应用程序是Rack应用程序.Sinatra是一款轻巧的DSL,位于Rack的顶部,可以使控制器和视图编码更加方便.您可以通过包含更多附加组件(如ActiveRecordRack::Oauth等)来构建更复杂的应用程序

Rails 2是一个功能更丰富的框架,它包含了框架中已有的众多附加功能.有些应用程序不需要所有这些,因此一些开发人员更喜欢像Sinatra这样的东西.

然而,自Rails 3以来,Rails和Sinatra之间的区别已经模糊了很多.新版本允许从堆栈到堆栈中的完整Rails,你可以根据自己的需要定制它.一些中间框架(例如Sinatra)的存在理由比过去要弱.

所以,看看Rails 3,从最低限度开始,并根据您的需求进行扩展.

  • 具体来说,Rails 3中的路由允许您基于每个路由定义中间件,因此,您可以直接使用sinatra或rack进行轻量级服务,使用Rails进行更复杂的服务或请求. (2认同)