वेब डेवलपर्स के लिए 11 निर्भरता प्रबंधन उपकरण
निर्भरताएं आधुनिक वेब विकास की आधारशिला हैं। ये आवश्यक उपकरण, प्लगइन्स, लाइब्रेरी और फ्रेमवर्क हैं उच्च-स्तरीय वेब एप्लिकेशन बनाने के लिए आवश्यक.
पिछले कुछ वर्षों में आश्रितों की संख्या आसमान छू रही है। समय के साथ डेवलपर्स ने निर्भरता प्रबंधन उपकरण अपनाए हैं निर्भरता को व्यवस्थित और अद्यतित रखने के तनाव को कम करना. ये उपकरण डेवलपर्स और परियोजना प्रबंधकों के लिए एक अनुकूलित वर्कफ़्लो की ओर ले जाते हैं.
मैंने यहां अच्छी तरह से स्थापित और नए-उभरते दोनों प्लेटफार्मों सहित सर्वोत्तम निर्भरता उपकरण सूचीबद्ध किए हैं। व्यावसायिक वेब विकास के लिए निरंतर सीखने की आवश्यकता होती है और मेरा तर्क है कि निर्भरता प्रबंधन सीखने का एक कौशल है.
1. एनपीएम
मैं नोड पैकेज मैनेजर को क्रेडिट दिए बिना इस गाइड को नहीं लिख सकता। Node.js पर निर्मित, यह प्रणाली जबरदस्त भंडार का अधिकार देती है 100,000+ पैकेज और मॉड्यूल.
प्रत्येक प्रोजेक्ट NPM के माध्यम से एक पैकेज.जॉन फ़ाइल सेटअप का उपयोग कर सकता है और यहां तक कि गुल्प (नोड पर) के साथ प्रबंधित किया जा सकता है। निर्भरताएँ टर्मिनल से अपडेट और अनुकूलित की जा सकती हैं। और आप निर्भरता फ़ाइलों के साथ नई परियोजनाएँ बना सकते हैं और संस्करण संख्याएँ स्वचालित रूप से package.json फ़ाइल से खींच ली जाती हैं.
एनपीएम केवल निर्भरता प्रबंधन से अधिक के लिए मूल्यवान है, और यह आधुनिक वेब विकास के लिए व्यावहारिक रूप से एक आवश्यक उपकरण है। यदि आप भ्रमित हैं तो कृपया इस Reddit थ्रेड को एक शुरुआत के स्पष्टीकरण के लिए देखें.
2. बोवर
पैकेज प्रबंधन प्रणाली बोवर एनपीएम पर चलती है जो थोड़ा बेमानी लगता है लेकिन दोनों के बीच एक अंतर है, विशेष रूप से एनपीएम अधिक सुविधाएँ प्रदान करता है जबकि बोवर का लक्ष्य है फ़ाइलों और लोड समय में कमी सीमा निर्भरता के लिए.
सूक्ष्म अंतरों के बारे में अधिक जानने के लिए इस स्टैक प्रश्न को देखें.
कुछ देवों का तर्क है कि बोवर मूल रूप से अप्रचलित है क्योंकि यह एनपीएम पर चलता है, एक ऐसी सेवा जो लगभग सब कुछ कर सकती है जो बोवर कर सकता है। सामान्यतया यह गलत नहीं है.
लेकिन देवों को बोवर कैन का एहसास होना चाहिए विशेष रूप से फ्रंटएंड निर्भरता के साथ वर्कफ़्लो का अनुकूलन करें. मेरा सुझाव है कि बेन मैककॉर्मिक के लेख में बोवर उपयोगी है जो पैकेज प्रबंधन टूल से दिए गए मूल्य के बारे में अधिक जानने के लिए उपयोगी है.
3. रूबीज
RubyGems वेब डेवलपर्स के बीच उच्च लोकप्रियता के साथ Ruby के लिए एक पैकेज मैनेजर है। परियोजना खुला स्रोत है और सभी मुक्त रूबी रत्नों का समावेश है.
शुरुआती लोगों के लिए एक संक्षिप्त अवलोकन देने के लिए, ए “मणि” बस कुछ है कोड जो एक रूबी पर्यावरण पर चलता है. इससे बुंडलर जैसे कार्यक्रम हो सकते हैं जो मणि संस्करणों का प्रबंधन करते हैं और सब कुछ अपडेट रखते हैं.
रेल डेवलपर्स को यह सुविधा पसंद आएगी, लेकिन फ्रंटएंड पैकेज के बारे में क्या? चूंकि रूबी खुला स्रोत है, इसलिए डेवलपर्स बेल्स फॉर रेल जैसी परियोजनाओं का निर्माण कर सकते हैं। यह एक छोटे से सीखने की अवस्था के साथ रूबी प्लेटफ़ॉर्म पर फ्रंटेंड पैकेज प्रबंधन लाता है.
4. आवश्यकता
वहाँ में मुख्य रूप से एक जेएस टूलसेट की आवश्यकता के बारे में कुछ विशेष है। इसके लिए इस्तेमाल किया जा सकता है लोडिंग जेएस मॉड्यूल को जल्दी से नोड मॉड्यूल सहित.
आवश्यकता होती है स्वचालित रूप से आवश्यक निर्भरता का पता लगाएं आप जो प्रयोग कर रहे हैं, उसके आधार पर यह C / C ++ में क्लासिक सॉफ़्टवेयर प्रोग्रामिंग के समान हो सकता है, जहाँ पुस्तकालयों को आगे पुस्तकालयों के साथ शामिल किया जाता है.
आपको इस विषय पर एक दिलचस्प GitHub चर्चा और वह मूल्य मिलेगा जो आधुनिक वेब डेवलपर्स प्रदान करता है। माना जाता है कि वेब की तरह अन्य जेएस प्रबंधन उपकरण पॉप-अप हो गए हैं, आवश्यकताएं अभी भी उत्पादन वातावरण में काम करती हैं। और अगर यह आपके लिए काम करता है तो यह सब मायने रखता है.
5. जाम
ब्राउज़र-आधारित पैकेज प्रबंधन एक नए रूप में JamJS के साथ आता है। यह एक जावास्क्रिप्ट पैकेज प्रबंधक है जिसमें आटोमैटिक प्रबंधन की आवश्यकता है.
आपकी सभी निर्भरताएं हैं एक एकल जेएस फ़ाइल में खींचा गया जो आपको जोड़ने और हटाने की सुविधा देता है आइटम जल्दी से। इसके अलावा ब्राउज़र में आपके द्वारा उपयोग किए जा रहे अन्य उपकरणों की परवाह किए बिना अपडेट किया जा सकता है (जैसे कि आवश्यकता).
टर्मिनल के माध्यम से नवीनतम संस्करणों के आधार पर पुस्तकालयों को अपडेट किया जाता है। प्रत्येक परियोजना हो सकती है स्वचालित रूप से अनुकूलित घटकों के साथ बनाया गया पर आधारित आपकी ज़रूरतें. जाम GitHub पर नि: शुल्क है और यदि आपके पास समय है तो एक नज़र के लायक है.
6. ब्राउज़र
अधिकांश डेवलपर्स ब्राउजराइज़र के बारे में जानते हैं, भले ही यह उनके विशिष्ट वर्कफ़्लो का हिस्सा न हो। यह एक और निर्भरता प्रबंधन उपकरण है जो आवश्यक मॉड्यूल और पुस्तकालयों को एक साथ बंडल करके अनुकूलित करता है.
ये बण्डल हैं ब्राउज़र में समर्थित है जिसका मतलब आप कर सकते हैं सादे जावास्क्रिप्ट के साथ मॉड्यूल शामिल करें और मर्ज करें. आपको शुरुआत करने के लिए एनपीएम की आवश्यकता है और फिर आगे बढ़ने के लिए ब्राउज़राइज़ करें.
यह देखने के लिए कि अंत में ब्राउज़र में नोड को कैसे प्रबंधित किया जा सकता है, इस इंट्रो ट्यूटोरियल को देखें। GitHub पर मुफ़्त में होस्ट की गई एक लम्बी Browserify हैंडबुक भी है। विचार यह है कि इन सभी नोड टूल्स को ब्राउज़र में लाया जाए और ब्राउजराइज़ के साथ प्रक्रिया को स्वचालित करके समय बचाया जाए.
7. मन्त्री
अभी भी विकास के अपने शुरुआती चरण में, मंट्रीजेएस मध्य-से-उच्च स्तर के वेब अनुप्रयोगों के लिए एक निर्भरता प्रणाली है। निर्भरताएं नामस्थान और के माध्यम से प्रबंधित की जाती हैं टकराव से बचने और अव्यवस्था को कम करने के लिए कार्यात्मक रूप से आयोजित किया गया.
लेखन के समय मन्त्री वर्तमान में v0.2.2 पर है। यह पूरी तरह से है खुला स्त्रोत तथा अधिक जटिल वेब अनुप्रयोगों के लिए बनाया गया है जो निर्भरता के बड़े बंडलों की आवश्यकता होती है. मन्त्री का उद्देश्य मॉड्यूलर प्रोग्रामिंग प्रथाओं का पालन करना है और डेवलपर्स को उसी रास्ते पर प्रोत्साहित करना है.
8. वोलो
प्रोजेक्ट मैनेजमेंट टूल वोलो एक ओपन सोर्स एनपीएम रेपो है जो प्रोजेक्ट्स बना सकता है, लाइब्रेरीज़ जोड़ सकता है और वर्कफ़्लोज़ को स्वचालित कर सकता है.
Volo नोड के अंदर चलता है और परियोजना प्रबंधन के लिए जावास्क्रिप्ट पर निर्भर करता है. एक संक्षिप्त परिचय गाइड GitHub पर पाया जा सकता है जो अधिष्ठापन प्रक्रिया और सामान्य उपयोग की व्याख्या करता है। उदाहरण के लिए यदि आप कमांड चलाते हैं वोलो क्रिएट
आप HTML5 बॉयलरप्लेट जैसी किसी भी लाइब्रेरी को चिपका सकते हैं.
लेकिन नए प्रोजेक्ट बनाने से अलग आप भी कर सकते हैं पुरानी परियोजनाओं के लिए पुस्तकालयों को जोड़ें / अपडेट करें. सब कुछ आप विकास दृश्य के लिए की आवश्यकता होगी में वोलो संबंधों। यह देखने के लिए कि यह वास्तविक दुनिया की परियोजना में कैसे संचालित होता है, वोलो के डिजाइन लक्ष्यों को देखें.
9. अंत
एंडर है “कोई पुस्तकालय नहीं” और आप ऑनलाइन मिलेंगे सबसे हल्के पैकेज प्रबंधकों में से एक है। यह देवों को अनुमति देता है जेएस पैकेज के माध्यम से खोज करें और उन्हें कमांड लाइन से ठीक से संकलित / संकलित करें. एंडर के रूप में माना जाता है “एनपीएम की छोटी बहन” देव टीम द्वारा.
स्वाभाविक रूप से पूरा एंडर ढांचा GitHub पर मुफ्त में उपलब्ध है। यह केवल एक उपकरण है जिसे आप मदद के लिए इंस्टॉल करते हैं स्थानीय परियोजनाओं के लिए फ्रंटेंड जावास्क्रिप्ट चौखटे की खपत का प्रबंधन. सब कुछ एक सीमांत विकासकर्ता के वर्कफ़्लो के लिए पूरी क्षमता के साथ आसानी से चलाने के लिए है.
मुख्य एंडर वेबसाइट में गुणवत्ता के दस्तावेज होते हैं इसलिए यदि आप रुचि रखते हैं तो यह एक नज़र के लायक है.
10. पाइप
पायथन निर्भरता स्थापित करने के लिए अनुशंसित विधि पाइप के माध्यम से है। यह उपकरण पाइथन पैकेजिंग अथॉरिटी द्वारा बनाया गया था और यह पाइथन की तरह ही पूरी तरह से खुला स्रोत है.
अजगर डेवलपर्स के बहुमत Django टीम सहित निर्भरता के लिए पाइप की सलाह देते हैं। चाहे आप सिर्फ पायथन के साथ शुरुआत कर रहे हों या पहले से ही बैकएंड डेवलपमेंट के साथ इसका लगातार उपयोग कर रहे हों, यह एक पैकेज मैनेजर है जिसे आप अपने टूलबॉक्स में पाकर खुश होंगे.
11. संगीतकार
संगीतकार एनपीएम के समान ही एक पैकेज मैनेजर है, लेकिन यह केवल पीएचपी लाइब्रेरी पर केंद्रित है। आप पैकैगिस्ट पर निर्भरता की एक सूची पा सकते हैं जिसमें लारवेल जैसे बड़े PHP फ्रेमवर्क शामिल हैं.
अगर आप एक PHP डेवलपर हैं किसी भी तरह से मैं गंभीरता से संगीतकार में देखने की सलाह देता हूं। आईटी इस शुरू करना आसान है लेकिन फिट करना मुश्किल है अपने वर्कफ़्लो में। हालांकि अभ्यास के साथ यह पीएचपी देव परियोजनाओं के लिए एक प्रधान हो जाएगा.
यह एक बहुमुखी उपकरण है जो समय के साथ और भी बड़ा होने की क्षमता रखता है। इसके अलावा NPM आपके सभी PHP / JS प्रोजेक्ट्स के लिए फ्रंटएंड + बैकएंड डिपेंडेंसी मैनेजमेंट सिस्टम बनाने के लिए कंपोज़र के साथ मिक्स कर सकता है.
समेट रहा हु
यह स्पष्ट है कि इन निर्भरता प्रबंधकों में से कई समान गुणों के साथ समान लक्षण हैं। कुछ को बनाया गया है वैकल्पिक समस्याओं को हल करें और एक दूसरे के साथ मिलकर भी चल सकते हैं (यानी संगीतकार और एनपीएम).
निर्भरता प्रबंधन का विषय नए डेवलपर्स के लिए कठिन हो सकता है। मैं इनमें से किसी एक उपकरण को लेने और अधिक से अधिक सीखने के लिए गहराई से शोध करने की सलाह देता हूं। छोटे वेबपृष्ठ बनाने का प्रयास करें और जानें कि निर्भरता प्रबंधन क्यों उपयोगी है.
एक बार जब आप इन उपकरणों को अपने वर्कफ़्लो में लागू करना सीख जाते हैं, तो आप कभी भी वापस जाने पर विचार नहीं करेंगे.