Каковы сильные стороны / слабые стороны ширины Shipit vs dist :: Zilla?
-
25-09-2019 - |
Вопрос
Я начал использовать DIST :: ZILA несколько месяцев назад. Однако в YAPC :: Na кто-то упомянул, что они используют Отправим его вместо. Тогда сегодня я заметил. Спустущих файлов в Миягаве CPANMINUS каталог на GitHub, Итак, я решил посмотреть в него еще немного ...
Мое первоначальное впечатление заключается в том, что шипение имеет подмножество того, что доступно с DIST :: Zilla, но я не хочу прыгать на выводы. Итак, для тех, у кого был опыт с обоими, каковы сильные / слабые стороны Отправим его против DIST :: ZILA?
Решение
Я автор DIST :: ZILA.
Я широко оценил Shipit довольно широко, прежде чем выбирать, чтобы пойти дальше и написать Dist :: Zilla, и изначально они охватывали практически точно такое же проблемное пространство: выполняя все скучные грузные работы построения и загрузки распределения CPAN. Все функции, которые Dist :: Zilla теперь выходит за пределы шины, позже дополнения, более или менее.
Если вам нужны только функции Shipit, я еще Посоветуйте вам решительно рассмотреть Dist :: Zilla, по одной очень простой причине: Хайфей. Если бы я смог нет Напишите что-нибудь новое, я бы использовал Shipit, но я обнаружил, что он был недодомен и трудно продлить. Его плагины были недостаточно общедоступными, и основное поведение сделало слишком много предположений о том, как вы хотели бы работать.
DIST :: ZILLA был вспомогательна конкретно этой проблемой: она все превратила в плагин, и каждый плагин был дан очень, очень маленький интерфейс, так что его предположения будут насильственно ограничены.
Одним из преимуществ шиповника над DIST :: ZILLA заключается в том, что у Shired есть (к лучшему из моих знаний) нет плагинов, которые будут изменить способ написать свой код. Это означает, что ваша документация все еще выглядит так же, у вас все еще будет Makefile.PL
, и так далее. Некоторые хакеры не нравятся такие, как многие дистанции на основе DZ принципиально изменяют предположения о том, как проверить и построить код CPAN из своего репозитория источника. Шуть никогда не изменит это.
Можно избегать использования любых таких плагинов с DIST :: Zilla, но вообще мой опыт заключается в том, что люди делать Используйте их, почти всегда, в той или иной форме.
Другие советы
Насколько я могу сказать, мои первоначальные впечатления были правильными.
Shipit предоставляет функциональность для выпуск Распределение:
- Отслеживание номеров версий
- Интеграция с контролем версий
- Загрузка на CPAN
- Отображение файла ChangeLog в редакторе, чтобы вы могли редактировать его до выпуска.
DIST :: ZILA, по умолчанию предоставляет возможность загружать распределения для CPAN с одной командой (т.е. dzil release
). Dist :: Zilla также имеет функциональность для создание новые распределения (т.е. dzil new My::New::Module
). Он также автоматически генерирует так много файлов, которые я использовал, чтобы поддерживать вручную.
Используя плагины, Dist :: Zilla, кажется, может обеспечить большинство, если не все, функциональности, доступных с помощью Shipit. Также относительно легко добавить новые функции, используя плагины.