2010-09-13 3 views
20

Использует ли кто-нибудь как Boson, так и Thor?Boson vs Thor для консольных приложений

Thor очень популярен и имеет больше последователей и вкладчиков, чем Бозон, но Boson выглядит намного мощнее, чем Thor, и архитектура очень хорошо продумана.

В Бозон вы:

  • можно добавить методы, которые используются как в консоли и окружающей среды рубина. Поэтому вам не нужно, чтобы оба были Thorfiles для консоли и драгоценных камней для рубина.
  • может иметь псевдонимы.
  • не нужно устанавливать файлы сценариев, вы просто помещаете их в ~/.boson/commands. Мне всегда приходится бороться с деинсталляцией и установкой Thorfiles после каждого обновления (что может быть каждую минуту при редактировании исходного кода, очень расстраивает).
  • имеют намного более приятный вывод команд, чем тор.
  • не нужно писать описания аргументов вручную, как в Торе.
  • Работа с модулями, которые лучше, чем с классами, вы можете включать модули внутри других модулей.
  • автоматически завершает фрагменты открытого кода (например, от Gist) внутри модуля и немедленно работает с Бозоном.
  • имеют разные виды для результатов вашего метода.
  • не нужно перекодировать что-либо в ваших фрагментах, чтобы соответствовать Тору, поскольку он использует только собственный код рубина (модули). Это означает, что если вы когда-нибудь не захотите использовать Бозон, вам не нужно перекодировать все, что вам нужно, если вы используете Thor.
  • API документально подтвержден - как учебники внутри каждого класса.
  • Вы можете просто включить модули «бозона» в свой рубиновый скрипт и использовать их напрямую, что я не могу с Тором, потому что это только для Тора. Вы не можете делиться методами Тора с другими классами Тора (не как mixins)

Я заметил все эти преимущества только от чтения документации и игры с Бозоном в течение нескольких минут.

Должен ли я использовать Тора только потому, что он более популярен (потому что я не могу найти что-либо еще там, где он сияет над бозоном), или я должен рискнуть, что Бозон может быть потерян через некоторое время, поскольку автор является единственным автором ?

Хотя это всего лишь один парень, вы видите, как он успел закодировать с быстрой скоростью и выдающимся качеством. Было бы здорово, если бы в эту библиотеку вносили больше вкладчиков, чем он. Я действительно надеюсь, что больше рубистов будут использовать его, потому что у него есть большой потенциал для создания сценариев для всей системы автоматизации. Как Rails для бэкэнд. И автор действительно помогает вам очень быстро, когда вы регистрируете проблему.

Thor работает только для оболочки (я думаю, это ее цель), в то время как бозон, как я вижу, имеет 3 основные функции. Это позволяет вам иметь код, работающий в оболочке, в ruby ​​(irb и scripts), и вы можете иметь приятные коллекции всех ваших Ruby-кодов без изменений.

Я всегда хотел, чтобы фреймворк был моим базовым сценарием, и теперь мне не нужно изобретать колесо. Кажется, что это бозон.

Кто-нибудь использовал обе эти библиотеки и мог поделиться некоторыми мыслями?

ответ

26

Отказ от ответственности: Я автор бозона.

Я использовал оба и то, что вдохновило меня написать бозон. Хотя у двух есть перекрывающиеся функциональные возможности, я вижу в них разные цели.

Thor - это сценарий, который быстро и красиво предоставляет приложениям интерфейс командной строки. The 116 gems (including rails), которые зависят от этого, являются хорошим доказательством этого. Вначале я попытался использовать thor для управления и использования фрагментов, но через некоторое время принудительное пространство имен, отсутствие наложения псевдонимов, запись избыточных строк использования и плохой поиск заставили меня понять, что он не оптимизирован для управления фрагментами.

Поэтому я написал бозон для управления бесконечным количеством фрагментов рубина, которые я использовал, чтобы положить в ~/bin with this philosophy in mind. At 400+ commands, я могу мгновенно найти и использовать любой фрагмент ruby ​​в качестве полномасштабного исполняемого файла. Здесь слишком много возможностей, хотя вы, кажется, знаете некоторые сильные стороны бозона. Что касается единственного вкладчика, я приветствую любого, кто внесет свои идеи.

Если бы между ними было одно простое сравнение, я бы сказал, что центр сосредоточен вокруг создания исполняемых файлов для проектов и приложений, в то время как бозон сосредоточен вокруг их создания для пользователей.

+0

Хороший compariosn. Я с нетерпением жду, чтобы внести свой вклад в этот проект полный рабочий день, так как он сосредоточен вдоль пользователя. У меня есть много фрагментов, которые я хочу использовать непосредственно в оболочке/консоли вместо копирования и вставки. –

+0

удивительно бесконфликтный ответ автора. –

+1

Обновление: boson> = 1.0 также имеет поддержку для приложений для приложений. Пример в [readme] (https://github.com/cldwalker/boson#example-executable). Сравнение функций с торой [также в readme] (https://github.com/cldwalker/boson#comparison-to-thor) – cldwalker

Смежные вопросы