我正在寻找一个轻量级的 Ruby Web 框架,并且遇到过Sinatra和Ramaze。两者看起来都非常轻巧、简洁和简单。但我对两者的了解都不够,无法说出主要区别是什么。也许对其中一种或两种都有经验的人可以发表评论?
3 回答
其他轻量级 Ruby 框架
我喜欢_why 的 Camping(现在由社区维护),它必须是所有这些中最轻的(有关最新信息 [>= v1.9],请参阅Camping wiki上的Camping 链接、Eleanor McHughe 的 ' Going off the Rails ' 或 [ v 1.5] Jeremy McAnally 的Going Camping 幻灯片或这些Camping 截屏视频、此Camping 播客和 Nathaniel Talbott 的Why Camping Matters,但请阅读Camping 邮件列表以了解当前版本信息的更改和演变,并尝试最新的博客示例)。您现在还可以阅读最新的 Camping api 文档。
但是我对所有我能找到的较轻的 Ruby 框架进行了为期 3 天的大规模搜索,这些框架看起来相当最新或完成(我正在尝试找到一个来教学生框架基础知识)所以,帮助你在您的脑海中,以下(带有露营)从一堆中脱颖而出(至少有一个开发人员名称,因此您也可以查看它们)...
对于初学者,那些优秀的 Ramaze 人曾经有一个Ruby 框架列表,但是链接已经消失了,这里有一篇很好的文章,题为10 Alternative Ruby web frameworks。还有一个关于 Camping 和 Merb 的 Ruby 论坛讨论,其中也涵盖了替代 ORM。请记住,以下一些是后 Merb 并扩展了该方法。
西纳特拉(布莱克·米泽拉尼)
不是 MVC,没有默认的 ORM。好的文档。'一个完整的网络应用程序可以封装在一个单一的 Sinatra 文件中'
Sinatra 评论和链接:
- GIT 上的 Sinatra
- Sinatra,一个 Ruby Web 框架,以及它的重要性
- Slideshare 上的“Sinatra Ruby 框架”
- 不到 10 分钟的网络应用程序
- 人们解释他们为什么选择 Sinatra
拉马兹(曼韦鲁)
Ramaze 在 Ruby 1.9 上运行良好。
Ramaze 评论和链接:
- Ramaze 示例(使用 PostgreSQL):
- 在线 Ramaze 书
- Ramaze:一个令人惊叹的 Ruby 框架,作者 Antonio Cangiano
伍比(克里斯·马修饰)
来自评论:“运行 Wuby 应用程序不需要第三方应用程序或 gem,Wuby 库本身包含运行 HTTP 守护程序和开始服务请求所需的一切”,“示例代码有一点 PHP 的感觉”。
Wuby 评论和链接:
爱荷华州(柯克·海恩斯)
在Antonio Cangiano 的一篇关于 Ramaze的文章中,他写道:“如果你的意思是‘切换’只是一般的‘从我当前的框架/编程语言/编程风格切换’,我没有真正的答案。一个例子就是非常未知的来自 Kirk Haines 的 IOWA 框架。它已经投入生产使用多年,非常稳定,速度非常快(甚至比 Ramaze 还要快),但它的文档和营销是不存在的。我不相信跟随炒作(即使它是 Ramaze)只是为了酷,我需要一个用例来切换到新的东西。”
尽管Hal Fulton在The Ruby Way中涵盖了 IOWA,但文档很少,虽然下面的链接说事情已经转移到Swiftcore,但反过来说它们即将出现在GIT上,但截至 06 jul2009 仍然是空的。为了进一步模糊问题,RubyForge 上的 IOWA 日期是 2004 年,所以......?
爱荷华州评论和链接:
- 旧网站 + 示例,教程
- RubyForge 上的 IOWA 0.99.2.17
- 还可以查看他的 ORM Kansas和Swiftiply
Sinatra 不强制执行 MVC。
我认为这是 Sinatra 和 Ramaze 之间真正的品味问题。都好,都轻。
最大的不同是 Ramaze 更像是 MVC。另一方面,Sinatra 像 DSL 一样工作,并且是 RESTful。
我建议您阅读它们的 GET_STARTED,这不会超过几分钟,您会看到有什么不同。
我个人都喜欢它们(偏爱 Ramaze),但可以帮助您做出决定的一件事是 Sinatra 更受欢迎(我认为),因此您可能会在网络上找到更多文档。
另一方面,您可以使用 Ramaze 并帮助使其更受欢迎。Ramaze 的 IRC 频道到处都是人(包括我),他们很乐意为您提供帮助并回答您的所有问题。
希望能帮助到你。米格