Boson vs Thor用于控制台应用程序

nev*_*ame 20 ruby console ruby-on-rails thor

有没有人同时使用过BosonThor

Thor非常受欢迎,拥有比Boson更多的追随者和贡献者,但是Boson看起来比Thor更强大,而且建筑经过深思熟虑.

在Boson你:

  • 可以添加在控制台和ruby环境中使用的方法.所以你不必同时拥有Thorfiles用于控制台和宝石用于红宝石.
  • 可以有别名.
  • 不必安装脚本文件,只需将它们放在〜/ .boson /命令中即可.在每次更新后,我总是要努力卸载和安装Thorfiles(在编辑源代码时可能是每分钟都非常令人沮丧).
  • 有比Thor更好的命令输出.
  • 不必像Thor一样手工编写参数描述.
  • 使用模块,这比使用类更好,因为您可以在其他模块中包含模块.
  • 自动将模块内的开源代码片段(例如来自Gist)包装起来,并立即与Boson一起使用.
  • 对您的方法结果有不同的看法.
  • 不必在你的片段中重新编码以适应Thor,因为它只使用本机ruby代码(模块).这意味着如果你有一天不想使用Boson,你就不必重新编码所有内容,如果你使用的是Thor.
  • API是记录好-就像每一个类的内部辅导.
  • 您可以在ruby脚本中包含"boson"模块并直接使用它们,这是Thor无法解决的问题,因为它只适用于Thor.你不能与其他Thor类(不是mixins)共享Thor方法

我注意到所有这些好处只是阅读文档并与Boson玩了几分钟.

我应该使用Thor是因为它更受欢迎(因为我找不到任何其他地方可以照亮玻色子)或者我是否应该承担一段时间后Boson可能无法维护的风险,因为作者是唯一的贡献者?

虽然它只是一个人,但你可以看到他如何以极快的速度和卓越的品质进行编码.如果像他这样的更多贡献者为该图书馆做出贡献,那将会很棒.我真的希望更多的rubyists会使用它,因为它有很大的潜力成为所有系统自动化的脚本框架.就像后端的Rails一样.提交问题时,作者真的可以帮助您快速解决问题.

Thor只适用于外壳(我认为是它的目的),而玻色子,因为我认为它有3个主要功能.它允许您在shell中使用ruby(irb和脚本)中的代码,并且您可以拥有所有Ruby代码的精美集合,而无需修改.

我一直想要一个框架作为我的后端脚本框架,现在我不必重新发明轮子.似乎玻色子可能就是这样.

有人使用过这两个库并且可以分享一些想法吗?

cld*_*ker 26

免责声明:我是玻色子的作者.

我用过两者和托尔是激励我写博森的原因.虽然两者具有重叠功能,但我认为它们具有不同的目标.

Thor是一个脚本框架,可以快速而精美地为应用程序提供命令行界面.依赖它的116颗宝石(包括铁轨)就是很好的证据.最初我尝试使用thor来管理和使用片段,但过了一段时间,强制命名空间,缺少别名,编写冗余使用行和搜索不佳,让我意识到Thor没有优化来管理片段.

所以我写了一个玻色子来管理我曾经考虑过这种哲学的〜/ bin中无数的红宝石片段.在400多个命令中,我能够立即找到并使用任何ruby片段作为完整的可执行文件.这里有太多的功能,虽然你似乎知道玻色子的一些优点.至于作为唯一的贡献者,我欢迎任何人贡献他们的想法.

如果在两者之间进行一次简单的比较,我会说Thor是围绕为项目和应用创建可执行文件而boson以为用户创建它们为中心.