Бозон против Тор для консольных приложений
Кто-нибудь использовал 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-кодов без изменений.
Я всегда хотел, чтобы фреймворк был моей базой сценариев, и теперь мне не нужно изобретать колесо. Кажется, что бозон может быть этим.
Кто-нибудь использовал обе эти библиотеки и мог поделиться некоторыми мыслями?
Ответы
Ответ 1
Отказ от ответственности: я автор бозона.
Я использовал оба и то, что вдохновило меня написать бозон. Хотя у двух есть перекрывающиеся функциональные возможности, я вижу, что они имеют разные цели.
Thor - это среда сценариев, которая быстро и красиво предоставляет приложениям интерфейс командной строки. 116 драгоценных камней (включая рельсы), которые зависят от этого, являются хорошим доказательством этого. Вначале я пытался использовать thor для управления и использования фрагментов, но через некоторое время принудительное пространство имен, отсутствие наложения псевдонимов, использование избыточных строк использования и плохой поиск заставили меня понять, что для оптимизации фрагментов не было оптимизировано.
Итак, я написал boson для управления бесконечным количеством фрагментов ruby, которые я использовал для добавления в ~/bin с учетом этой философии. В 400+ командах, я могу мгновенно найти и использовать любой фрагмент ruby в виде полномасштабного исполняемого файла. Здесь слишком много возможностей, хотя вы, кажется, знаете некоторые сильные стороны бозонов. Что касается единственного вкладчика, я приветствую любого, кто внесет свои идеи.
Если бы между ними было одно простое сравнение, я бы сказал, что он сосредоточен вокруг создания исполняемых файлов для проектов и приложений, в то время как бозон сосредоточен вокруг создания их для пользователей.