Sinatra的限制是什么?

ben*_*dbc 9 ruby model-view-controller ruby-on-rails sinatra

我最近一直在学习Ruby Web框架Sinatra,我发现它很棒.我读过的关于它的大多数文章和博客似乎都认为它仅适用于小型网站或"小型"网络应用程序.这是真的?可以在Sinatra中构建完整的Web应用程序,还是Ruby on Rails?

Jam*_*ong 9

理论上,您可以使用Sinatra构建一个完整的Web应用程序,它可以为您提供比Ruby on Rails更精确的控制.

也就是说,它还删除了rails上为ruby提供的所有优秀功能,例如Model-View-Controller架构.

如果您正在寻找使用数据库交互构建Web应用程序,我强烈建议您使用Ruby on Rails.

如果您正在寻找构建一个非常简单的API或只需要一些数据并将其投入Twitter或其他内容的东西,请继续使用Sinatra.

  • 究竟什么关于sinatra迫使你失去MVC架构?我认为你失去了"轨道方式"的做法,但没有什么能阻止你以MVC的方式组织你的应用程序.此外,如果您在sinatra应用程序中需要ActiveRecord gem,则可以从rails中获得所有数据库交互.Sinatra允许你_your_方式做事.我认为它不会以任何方式限制你. (4认同)
  • 我说它删除了它的架构,而不是使用它的能力.我也从未说过它限制了你(实际上我说它提供了更多的精确控制).我的观点是Rails _provides_(并且有些强制要求)一个坚实的MVC架构,而Sinatra却没有. (4认同)

age*_*rgo 5

没有理由不能用它来构建企业网站.它快速而直观.构建更大的Web应用程序的两个关键因素.虽然它确实缺少Rails的许多功能,但我还没遇到路障.

我个人喜欢Sinatra的苗条性质.它包含路由而不是令人头疼.

我经常发现自己正在与Rails搏斗,而我则按照自己的喜好配置Sinatra.

至于数据库交互,mongo_mapper + Sinatra工作得很好.