Thor 非常受欢迎,并且比 Boson 拥有更多的追随者和贡献者,但 Boson 看起来比 Thor 强大得多,而且架构经过深思熟虑。
在玻色子中,您:
- 可以添加在控制台和 ruby 环境中都使用的方法。因此,您不必同时拥有用于控制台的 Thorfiles 和用于 ruby 的 gems。
- 可以有别名。
- 不必安装脚本文件,只需将它们放在 ~/.boson/commands 中即可。每次更新后,我总是不得不努力卸载和安装 Thorfiles(编辑源代码时可能是每一分钟,非常令人沮丧)。
- 有比雷神更好的命令输出。
- 不必像在 Thor 中那样手动编写参数描述。
- 使用模块,这比使用类更好,因为您可以在其他模块中包含模块。
- 将开源代码片段(例如来自 Gist)自动包装在一个模块中,它可以立即与 Boson 一起使用。
- 对您的方法结果有不同的看法。
- 不必重新编码代码片段中的任何内容以适应 Thor,因为它只使用本机 ruby 代码(模块)。这意味着如果您有一天不想使用 Boson,则不必重新编码所有内容,如果您使用的是 Thor,则必须这样做。
- API有更好的文档记录——就像每个类中的教程一样。
- 您可以在 ruby 脚本中包含“玻色子”模块并直接使用它们,这是我无法使用 Thor 的,因为它仅适用于 Thor。您不能与其他 Thor 类共享 Thor 方法(不能作为 mixins)
我仅通过阅读文档就注意到了所有这些好处,并与 Boson 一起玩了几分钟。
我应该仅仅因为 Thor 更受欢迎而使用 Thor(因为我找不到其他任何可以让 Boson 发光的东西)还是应该冒着 Boson 可能在一段时间后无人维护的风险,因为作者是唯一的贡献者?
尽管这只是一个人,但您可以看到他如何以极快的速度和出色的质量进行编码。如果有更多像他这样的贡献者为该库做出贡献,那就太好了。我真的希望更多的 ruby 爱好者会使用它,因为它有很大的潜力成为所有系统自动化的脚本框架。就像后端的 Rails。当您提出问题时,作者确实可以非常快速地帮助您。
Thor 仅适用于外壳(我猜这是它的目的),而我看到的 boson 具有 3 个主要功能。它允许您在 shell、ruby(irb 和脚本)中运行代码,并且您可以拥有所有 Ruby 代码的漂亮集合,而无需修改。
我一直想要一个框架作为我的后端脚本框架,现在我不必重新发明轮子。看来玻色子可能是它。
有人使用过这两个库并可以分享一些想法吗?