लाइब्रेरी और फ्रेमवर्क के रूप में विभिन्न संसाधनों की उपलब्धता के कारण आजकल सॉफ्टवेयर विकास एक बहुत आसान काम है।
ये उपकरण कोड और टेम्प्लेट का एक संग्रह प्रदान करते हैं जो सॉफ़्टवेयर विकास में सहायक हो सकते हैं। इन दोनों शब्दों का उपयोग परस्पर विनिमय के लिए किया जाता है, लेकिन वे लाइब्रेरी कॉल पर अपने कार्यों और नियंत्रण में भिन्न होते हैं।
चाबी छीन लेना
- लाइब्रेरी पूर्व-लिखित कोड, फ़ंक्शंस या कक्षाओं का एक संग्रह है जिसका उपयोग डेवलपर्स कार्यों को सरल बनाने के लिए कर सकते हैं। साथ ही, एक रूपरेखा एक संरचना है जो दिशानिर्देश प्रदान करती है और विशिष्ट कोडिंग पैटर्न लागू करती है।
- पुस्तकालय वैकल्पिक हैं और आवश्यकतानुसार उपयोग किए जा सकते हैं, जबकि रूपरेखा किसी परियोजना की समग्र संरचना को निर्धारित करती है।
- डेवलपर्स लाइब्रेरी फ़ंक्शंस को आवश्यकतानुसार कॉल करते हैं, जबकि एक फ्रेमवर्क नियंत्रण के व्युत्क्रम का उपयोग करता है, डेवलपर्स के कोड को कॉल करता है।
लाइब्रेरी बनाम फ्रेमवर्क
लाइब्रेरी पूर्व-लिखित कोड का एक संग्रह है जिसका उपयोग विशिष्ट कार्यों को करने के लिए किया जा सकता है, और लाइब्रेरी में फ़ंक्शन और कक्षाएं शामिल हो सकती हैं। फ़्रेमवर्क टूल और नियमों का एक संग्रह है जिसका उपयोग सॉफ़्टवेयर के निर्माण के लिए किया जा सकता है, और यह बड़े कार्यक्रमों को व्यवस्थित करने और निर्माण करने के लिए एक संरचना प्रदान करता है।
एक लाइब्रेरी में लिखित कोड, सहायता डेटा, कॉन्फ़िगरेशन डेटा आदि का एक सेट होता है जिसे प्रोग्रामर द्वारा कोडिंग करते समय कॉल किया जा सकता है।
यह उपयोगकर्ता को एप्लिकेशन प्रवाह को नियंत्रित करने की अनुमति देता है और विभिन्न प्रोग्रामर द्वारा उपयोग और पुन: उपयोग के लिए स्वतंत्र रूप से उपलब्ध है। इसका उपयोग बार-बार लागू करने के बजाय सिस्टम कॉल करने के लिए किया जा सकता है।
एक रूपरेखा का उद्देश्य पारंपरिक कोडिंग मुद्दों को संबोधित करके उपयोगकर्ता के लिए कार्य को आसान बनाना है। इसे प्राप्त करने के लिए, वे निम्न-स्तरीय पुस्तकालयों के संग्रह का उपयोग करते हैं और एक कोडिंग वातावरण देते हैं।
यह कार्यक्रम के समग्र प्रवाह को निर्देशित करता है। किसी एप्लिकेशन के लिए विशिष्ट सॉफ़्टवेयर प्रदान करने के लिए लिखित कोड इसे बदल भी सकते हैं।
तुलना तालिका
तुलना के पैरामीटर | पुस्तकालय | ढांचा |
---|---|---|
परिभाषा | यह लिखित कोड, सहायता डेटा आदि का संग्रह है। | यह निम्न स्तरीय पुस्तकालयों का संग्रह है। |
आवेदन प्रवाह पर नियंत्रण | यह एप्लिकेशन प्रवाह पर कोई नियंत्रण नहीं रखता है जिसे कॉलर नियंत्रित कर सकता है। | यह एप्लिकेशन प्रवाह को नियंत्रित करता है और कॉलर प्रभारी नहीं होता है। |
उपयोगकर्ता संशोधन | इसके कोड को स्व-लेखक द्वारा संशोधित किया जा सकता है, क्योंकि यह अन्य उपयोगकर्ताओं के लिए उपयोगी है। | इसके कोड को संशोधित नहीं किया जा सकता है और केवल बढ़ाया जा सकता है। |
निर्भरता संघर्ष | यदि एकाधिक पुस्तकालयों का उपयोग किया जाता है तो यह निर्भरता संघर्ष का कारण बन सकता है। | यह किसी भी निर्भरता के संघर्ष के लिए प्रवण नहीं है क्योंकि सब कुछ एक मंच द्वारा प्रबंधित किया जाता है। |
आवेदन | यह केवल सॉफ्टवेयर कार्यों का उपयोग और पुन: उपयोग करने में हमारी सहायता कर सकता है। | यह पूरे एप्लिकेशन को बनाने में मदद करता है। |
लाइब्रेरी क्या है?
लाइब्रेरी पुन: प्रयोज्य, परीक्षण और संकलित डेटा का एक सेट है जो उपयोगकर्ता को कार्यात्मकताओं के अनुप्रयोग को स्वचालित करने में मदद कर सकता है।
एकाधिक उपयोगकर्ता विभिन्न कार्यक्षमताओं के लिए इसका उपयोग कर सकते हैं। इसे उपयोगकर्ता की आवश्यकता के अनुसार संशोधित किया जा सकता है।
पुस्तकालय कार्यक्रमों को इस तरह से डिज़ाइन किया गया है कि एक पुस्तकालय का उपयोग उन प्रोग्रामों के लिए कई प्रोग्रामरों द्वारा किया जा सकता है जो लिंक नहीं हैं।
यह प्रोग्राम की पदानुक्रमित धारणा में भी हो सकता है यदि यह मल्टी-मिलियन है। इस मामले में, आंतरिक पुस्तकालयों का उपयोग कार्यक्रम के स्वतंत्र उप-भागों द्वारा किया जा सकता है।
प्रोग्राम तत्व का पुन: उपयोग लाइब्रेरी का मूल्य निर्धारित करता है। प्रोग्राम को लाइब्रेरी के अंदर कार्यान्वित व्यवहार प्राप्त होता है जब वह व्यवहार को स्वयं लागू करने के बजाय लाइब्रेरी को आमंत्रित करता है।
वितरण को आसान बनाने के लिए पुस्तकालय कोड साझा करने के लिए मॉड्यूलर फॉर्म का उपयोग करते हैं। यह अधिकांश संकलित भाषाओं की एक विशेषता है जिसमें एक मानक पुस्तकालय होता है।
इसे कभी-कभी विभाजित डेटा सेट के रूप में संदर्भित किया जाता है, यह नाम IBM के OS/360 और इसके उत्तराधिकारियों में उपयोग किया जाता है। किसी लाइब्रेरी को शुरू करने के लिए भाषा के एक तंत्र का उपयोग किया जाता है।
एक आसान उदाहरण सी, एक कंप्यूटर भाषा और सामान्य फ़ंक्शन कॉल का उपयोग करके लाइब्रेरी में व्यवहार का आह्वान होगा।
एक ढांचा क्या है?
ढांचा अपने उपयोगकर्ताओं को मानक तरीके से इसका उपयोग करने के लिए सॉफ्टवेयर बनाने की अनुमति देता है और उन्हें इसे तैनात करने में भी मदद करता है।
उनके पास समर्थन कार्यक्रमों का एक सेट या उनमें से सभी प्रकार के सेट हैं, संकलनकर्ता, टूलसेट, एपीआई इत्यादि, एक संपूर्ण सॉफ़्टवेयर प्रोजेक्ट विकास वातावरण बनाते हैं।
यह एक्स्टेंसिबिलिटी की सुविधा प्रदान करता है जिसका उपयोग एक प्रोग्रामर अपनी आवश्यकता के अनुसार इसे विस्तारित करने के लिए कर सकता है। हालाँकि, इसके कोड को संशोधित नहीं किया जा सकता है।
जब कोई उपयोगकर्ता फ्रेमवर्क का उपयोग करता है, तो सभी कॉलिंग फ्रेमवर्क द्वारा ही की जाती है, प्रोग्रामर द्वारा नहीं।
इसे एक स्वचालित सहायता हाथ के रूप में देखा जा सकता है जो कार्यक्रम की आवश्यकता के अनुसार उपकरण और टेम्पलेट प्रदान करता है।
यह एक डेवलपर के लिए समय कम करने में मदद करता है क्योंकि यह निम्न स्तर के विवरण के साथ उनकी मदद करके और सॉफ्टवेयर की जरूरतों पर अधिक ध्यान केंद्रित करने की अनुमति देकर उनके काम को कम करता है।
एक रूपरेखा कभी-कभी जटिल हो सकती है, खासकर नए उपयोगकर्ता के लिए या यदि मौजूदा संस्करण में कोई अपडेट है।
फ्रेमवर्क को सीखने में समय लगता है, लेकिन एक बार सीख लेने के बाद डेवलपर के लिए इसे आसानी से उपयोग करना आसान हो सकता है।
यह ग्राहक की मांग-संचालित आवश्यकताओं के कारण कार्यक्रम के आकार को बड़ा बना सकता है। इस घटना को संदर्भित करने के लिए इस्तेमाल किया जाने वाला शब्द ''कोड ब्लोट'' है।
सीखने में जटिलता को एपीआई की जटिलता के लिए जिम्मेदार ठहराया जा सकता है, यानी कंप्यूटर और कंप्यूटर के बीच संबंध।
लाइब्रेरी और फ्रेमवर्क के बीच मुख्य अंतर
- फ्रेमवर्क उपकरणों का एक पूरा सेट है जो एक प्रोग्रामर को एक विशिष्ट प्रोग्राम डिजाइन करने में मदद करता है, जबकि लाइब्रेरी हमें केवल कंप्यूटर फ़ंक्शंस का उपयोग और पुन: उपयोग करने की अनुमति देती है।
- फ्रेमवर्क लाइब्रेरी की कॉलिंग को नियंत्रित करता है, जबकि हमारे कोडर इसका उपयोग करते समय लाइब्रेरी की कॉल करने के प्रभारी होते हैं।
- एक फ्रेमवर्क का उद्देश्य जटिलता और सॉफ्टवेयर विकास के समय को कम करना है, जबकि एक लाइब्रेरी केवल पुन: प्रयोज्य सॉफ्टवेयर कार्यक्षमता प्रदान करती है।
- वेब डेवलपमेंट फ्रेमवर्क हैं ब्राउज़र आश्रित, जबकि पुस्तकालय में ऐसी कोई निर्भरता नहीं होती।
- एक फ्रेमवर्क के लिए उपयोगकर्ता को हर संस्करण की नई सुविधाओं के साथ अद्यतित रहना आवश्यक है, जो पुस्तकालयों के मामले में नहीं है।
- https://joss.theoj.org/papers/10.21105/joss.00597.pdf
- https://academic.oup.com/bioinformatics/article-abstract/26/12/1569/287181
- https://dl.acm.org/doi/abs/10.5555/174770
अंतिम अद्यतन: 11 जून, 2023
संदीप भंडारी ने थापर विश्वविद्यालय (2006) से कंप्यूटर में इंजीनियरिंग में स्नातक की उपाधि प्राप्त की है। उनके पास प्रौद्योगिकी क्षेत्र में 20 वर्षों का अनुभव है। उन्हें डेटाबेस सिस्टम, कंप्यूटर नेटवर्क और प्रोग्रामिंग सहित विभिन्न तकनीकी क्षेत्रों में गहरी रुचि है। आप उनके बारे में और अधिक पढ़ सकते हैं जैव पृष्ठ.
लेख में तुलना तालिका पुस्तकालयों और रूपरेखाओं के बीच मुख्य अंतर को समझने के लिए बहुत उपयोगी है।
लेख पुस्तकालयों और रूपरेखाओं के बीच अंतर के बारे में जानकारी देने में अच्छा काम करता है, लेकिन हास्य का एक स्पर्श इसे और भी अधिक आकर्षक बना सकता है।
ओह, थोड़ी सी हास्यपूर्ण राहत से कोई नुकसान नहीं होगा! विशेषकर इस जैसे जटिल विषयों में।
फ्रेमवर्क की जटिलताओं के संबंध में लेख में चर्चा किए गए कुछ बिंदुओं से मुझे असहमत होना पड़ता है, मेरा मानना है कि जटिलता को बढ़ा-चढ़ाकर बताया जा सकता है और यह परिप्रेक्ष्य का विषय है।
फ़्रेमवर्क जटिलता जोड़ते हैं, लेकिन ऐसा इसलिए है क्योंकि वे जटिल समस्याओं का समाधान करते हैं। अधिकांश मामलों में सीखने की अवस्था इसके लायक है।
लेख पुस्तकालयों और रूपरेखाओं के बीच अंतर को संबोधित करते हुए अच्छा काम करता है, लेकिन कुछ बिंदुओं पर बहस की गुंजाइश है।
कभी-कभी लेख में प्रयुक्त तकनीकी शब्दजाल उन लोगों के लिए भारी पड़ सकता है जो सॉफ़्टवेयर विकास से परिचित नहीं हैं।
लेख की सामग्री सामान्य पाठक के लिए बहुत अधिक हो सकती है, लेकिन यह डेवलपर्स और तकनीकी उत्साही लोगों के लिए बहुत उपयोगी है।
लेख की तकनीकी प्रकृति इस क्षेत्र में नए लोगों के लिए बाधा उत्पन्न कर सकती है, थोड़ा और सरलीकरण मदद कर सकता है।
यह आलेख पुस्तकालयों और रूपरेखाओं का एक उत्कृष्ट अवलोकन प्रदान करता है, परिभाषाएँ और अंतर बहुत स्पष्ट रूप से समझाए गए हैं। उपयोग किए गए संदर्भ भी शीर्ष स्तर के हैं।
लाइब्रेरी और फ्रेमवर्क सॉफ्टवेयर विकास के अभिन्न अंग हैं, मुझे लेख बहुत जानकारीपूर्ण लगा और मैंने इन अवधारणाओं के बारे में बहुत कुछ सीखा।
इस लेख में पुस्तकालयों और रूपरेखाओं के बीच अंतर की व्याख्या इतनी अच्छी तरह से की गई है, यह वास्तव में सराहनीय है।
यह आलेख शैक्षिक है और उन शुरुआती लोगों के लिए सहायक हो सकता है जो सॉफ़्टवेयर विकास के बारे में सीखना चाहते हैं।