Подтвердить что ты не робот

Бозон против Тор для консольных приложений

Кто-нибудь использовал Boson и Thor?

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

В Бозоне вы:

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

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

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

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

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

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

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

4b9b3361

Ответ 1

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

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

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

Итак, я написал boson для управления бесконечным количеством фрагментов ruby, которые я использовал для добавления в ~/bin с учетом этой философии. В 400+ командах, я могу мгновенно найти и использовать любой фрагмент ruby ​​в виде полномасштабного исполняемого файла. Здесь слишком много возможностей, хотя вы, кажется, знаете некоторые сильные стороны бозонов. Что касается единственного вкладчика, я приветствую любого, кто внесет свои идеи.

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