2010-08-04 21 views
10

मैंने कई महीने पहले Dist::Zilla का उपयोग शुरू किया था। हालांकि, वाईएपीसी :: एनए में किसी ने उल्लेख किया कि वे इसके बजाय ShipIt का उपयोग करते हैं। फिर आज मैंने मियागावा के cpanminus directory on github में एक .shipit फ़ाइल देखी, इसलिए मैंने इसे और अधिक देखने का फैसला किया ...शिपआईट बनाम जिस्ट :: जिला की ताकत/कमजोरियां क्या हैं?

मेरी प्रारंभिक छाप यह है कि जहाज के पास जिस्ट :: ज़िला के साथ क्या उपलब्ध है इसका सबसेट है, लेकिन मैं नहीं करता निष्कर्ष पर कूदना नहीं चाहता। तो, उन लोगों के लिए जिन्होंने दोनों के साथ अनुभव किया है, ShipIt बनाम Dist::Zilla की ताकत/कमजोरियां क्या हैं?

crossposted at perlmonks

+0

संभावित डुप्लिकेट [मॉड्यूल लिखने के लिए मुझे किस ढांचे का उपयोग करना चाहिए?] (Http://stackoverflow.com/questions/73889/which-framework-should-i-use-to-write-modules); यह भी देखें [पर्ल वेब ऐप इंस्टॉल करने के लिए सबसे अच्छी प्रणाली क्या है?] (http://stackoverflow.com/questions/143680/whats-the-best-system-for-installing-a-perl-web-app), और [क्या मुझे मॉड्यूल :: इंस्टॉल या मॉड्यूल :: बिल्ड का उपयोग करना चाहिए?] (Http://stackoverflow.com/questions/369209/should-i-use-moduleinstall-or-modulebuild) – Ether

+3

उन लिंकों में से कोई भी बंद करने के लिए मतदान नहीं करना चाहिए (या सामान्य रूप से एसओ) शिपआईट –

+2

@Eric को कवर करने लगते हैं: यदि प्रश्न समान है, तो उत्तर शिपिप को शामिल करने के लिए अपडेट किया जाना चाहिए। मुझे इसके बारे में कुछ भी पता नहीं है, इसलिए मैं अन्य प्रसिद्ध पैकेजिंग इंजनों के खिलाफ इसकी तुलना का स्वागत करता हूं। – Ether

उत्तर

7

मैं जिस्ट :: जिला के लेखक हूं।

मैंने आगे बढ़ने और डिस्ट :: ज़िला लिखने से पहले जहाज को काफी व्यापक रूप से मूल्यांकन किया, और शुरुआत में वे लगभग उसी समस्या स्थान को कवर करते थे: इमारत के सभी उबाऊ काम करने और सीपीएएन वितरण अपलोड करने के लिए। Dist :: Zilla के पास अब सभी सुविधाओं को शिपआईट से परे है, बाद में जोड़, अधिक या कम हैं। hackability:

आप केवल ShipIt की सुविधाओं की जरूरत है, मैं अभी भी सलाह आप दृढ़ता से जिला :: जिला, एक बहुत ही सरल कारण के लिए विचार करने के लिए । अगर मैं कुछ नया लिखने में सक्षम था, तो मैंने शिपआईट का उपयोग किया होता, लेकिन मुझे लगता है कि इसे अंडर डॉक्यूमेंट्री और विस्तार करना मुश्किल है। इसके प्लगइन्स पर्याप्त सामान्य नहीं थे और मूल व्यवहार ने आप कितना काम करना चाहते हैं, इस बारे में बहुत अधिक धारणाएं की हैं।

जिस्ट :: ज़िला विशेष रूप से इस समस्या से प्रेरित था: यह सब कुछ एक प्लगइन में बदल गया, और प्रत्येक प्लगइन को बहुत ही छोटा इंटरफ़ेस दिया गया ताकि इसकी धारणा जबरन सीमित हो।

जिस्ट :: जिला पर शिपआईट का एक लाभ यह है कि शिप (मेरे ज्ञान का सबसे अच्छा) कोई प्लगइन्स नहीं है जो वास्तव में आपके कोड को लिखने के तरीके को बदल देगा।इसका मतलब है कि आपका दस्तावेज़ अभी भी वही दिखाई देगा, आपके पास अभी भी Makefile.PL होगा, और इसी तरह। कुछ हैकर्स पसंद नहीं करते हैं कि इतने सारे डीजेड-आधारित डिस्प्ले मौलिक रूप से सीपीएएन कोड को अपने स्रोत भंडार से परीक्षण और निर्माण करने की धारणाओं को बदलते हैं। शिप यह कभी नहीं बदलेगा।

यह जिला :: जिला के साथ किसी भी तरह के प्लग इन का उपयोग से बचने के लिए संभव है, लेकिन सामान्य रूप में मेरा अनुभव है कि लोगों को उन्हें इस्तेमाल करते हैं, लगभग हमेशा किसी न किसी रूप में है।

4

जहां तक ​​मेरा बता सकता हूँ, मेरी प्रारंभिक छापों सही थे। संस्करण संख्याओं

  • संस्करण नियंत्रण के साथ CPAN
  • -
  • अपलोड करने को एकीकृत एक में बदलाव का फ़ाइल को प्रदर्शित करने का ट्रैक

    • रखते हुए:

      ShipIt वितरण प्रसारित करने की सुविधा प्रदान करता है संपादक ताकि आप रिलीज से पहले इसे संपादित कर सकें।


    जिला :: जिला, डिफ़ॉल्ट रूप से, एक भी आदेश (अर्थात dzil release) के साथ CPAN के लिए वितरण अपलोड करने की क्षमता प्रदान करता है। जिस्ट :: जिला में नए वितरण (यानी dzil new My::New::Module) बनाने के लिए कार्यक्षमता है। यह स्वचालित रूप से उन फ़ाइलों में से कई उत्पन्न करता है जिन्हें मैं हाथ से बनाए रखना चाहता था।

    प्लगइन का उपयोग करके, जिस्ट :: ज़िला शिपट के साथ उपलब्ध कार्यक्षमता के अधिकांश, यदि नहीं, तो अधिकतर प्रदान करने में सक्षम लगता है। प्लगइन का उपयोग करके ब्रांड नई सुविधाओं को जोड़ना भी अपेक्षाकृत आसान है।

  • संबंधित मुद्दे