2010-08-16 9 views
5

यह एक बहुत लंगड़ा सवाल हो सकता है, लेकिन फिर भी मैं उलझन में हूं जब मुझे एक मणि का उपयोग करना चाहिए और मुझे अपनी परियोजना में प्लगइन का उपयोग कब करना चाहिए।रत्न और प्लगइन्स के बीच क्या अंतर है?

उनके बीच मूल अंतर क्या है?

उत्तर

6

मूल अंतर यह है कि एक मणि ऐसा कुछ है जिसे आपके रेल अनुप्रयोग चलाने वाले सिस्टम पर स्थापित करने की आवश्यकता होती है, जबकि आपके एप्लिकेशन के साथ एक प्लगइन तैनात किया जाता है। अधिक विशेष रूप से, प्लगइन विक्रेता/प्लगइन में रहते हैं जबकि रत्नों को रेक मणि इंस्टॉल gem_name का उपयोग करके इंस्टॉल करने की आवश्यकता होती है।

प्रत्येक के लिए कब उपयोग करना है, रत्नों को अद्यतित रखना आसान होता है, लेकिन अधिक विशेष रूप से, कुछ रत्न देशी सी कोड का उपयोग करते हैं और विशेष रूप से किसी दिए गए ऑपरेटिंग सिस्टम (जैसे नोकोगिरी) के लिए संकलित किए जाते हैं। इन्हें रत्न के रूप में स्थापित करने की आवश्यकता है क्योंकि वे किसी अन्य सिस्टम में स्थानांतरित होने पर काम नहीं करेंगे। जबकि कुछ चीजें जैसे act_as_commentable सीधे रूबी कोड का उपयोग करती हैं और सिस्टम से सिस्टम में स्थानांतरित की जा सकती हैं।

0

रत्न rubygems द्वारा वितरित किया जाता है, जो आधिकारिक रूबी पुस्तकालय पैकेज प्रबंधक है। प्लगइन्स रेल प्लगइन्स के लिए एक (शायद हैकी) तरीका है। निर्भरता संकल्प के कारण, जब भी संभव हो, मैं आपको रत्नों का उपयोग करने की सलाह देता हूं। Rails3 ecurages कि बंडलर के साथ पैकिंग द्वारा।

0

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

1

RailsGuides से:

एक रेल प्लगइन या तो एक विस्तार या कोर ढांचे के एक संशोधन है।

Rubygems.org से:

एक मणि एक पैक रूबी आवेदन या पुस्तकालय है।

तो, 2 के बीच सबसे बड़ा अंतर यह है कि रेल प्लगइन्स विशेष रूप से रेल अनुप्रयोगों पर रूबी के उपयोग के लिए उपयोग किए जाते हैं, जबकि रत्न नहीं होते हैं।

उदाहरण के लिए, चलिए Geokit देखें।

मणि (geokit-gem) मौलिक स्थान-आधारित संचालन प्रदान करता है।

रेल प्लगइन (geokit-rails) स्थान खोजकर्ताओं को ActiveRecord में मिश्रित करता है।

यहां आप देख सकते हैं कि मणि Geokit का मूल प्रदान करता है। यह मणि कहीं भी एक रेल ऐप नहीं, कहीं भी इस्तेमाल किया जा सकता है। प्लगइन उन लोगों के लिए अतिरिक्त सुविधाएं प्रदान करता है जो एक रेल ऐप के भीतर geokit का उपयोग कर रहे हैं। इस मामले में, प्लगइन के साथ ही मणि का उपयोग वैकल्पिक है।

1

जब आप किसी प्रोजेक्ट में प्लगइन स्थापित करते हैं तो इसका उपयोग केवल संबंधित प्रोजेक्ट में ही किया जा सकता है। लेकिन अगर आप एक मणि स्थापित करते हैं, तो इसका इस्तेमाल हर प्रोजेक्ट द्वारा किया जा सकता है। यह Gem & प्लगइन्स का मुख्य अंतर है।

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