直到今天,这个问题仍然有意义。随着Rails功能的不断增加,我想添加一个新答案。
现在有这么多宝石,所以您可以在Rails中实现,最有可能在Sinatra中实现。如果要在Rails和Sinatra(或任何其他框架)之间进行比较,我们只需要比较性能和易用性即可。
其中一个Rails的学说是约定优于配置。在Rails中创建项目时,您会自动获得许多宝石Gemfile
。不仅宝石,当您查看config
目录时,还将看到许多内容。这种学说是魔术可以首先发生的原因。违反约定后,您必须修改-甚至创建-配置。
当我们想拥有更大的灵活性但又不想改变方向时,可以使用Sinatra之类的框架,当我们第一次创建项目时,只启用了很少的功能。即便如此,我还是从Sinatra创建了迷你导轨:我只是采用Rails的方式,并使用了我真正需要的库/宝石。因为我需要开发自己的配置,所以开发时间比使用rails长。
如果您看到此Web框架基准测试,您会发现Rails是如此之慢,而其他的ruby框架(例如Sinatra)可以比Rails高得多。
那么,什么时候最好使用Rails?
- 您需要快速的开发时间。遵守约定;
- 您的应用程序的未来功能仍然未知。
什么时候最好使用Sinatra?
- 您不需要快速的开发时间;
- 如果您只从事小型项目,Sinatra可能会很快。
- 您知道将来不会添加很多功能。
您从Rails中获得什么?发展速度。
您从Sinatra获得了什么?灵活性。