पॉलिमर तत्वों और AngularJS निर्देशों के बीच क्या अंतर है?


524

पॉलिमर स्टार्टिंग पेज पर, हम पॉलिमर का एक उदाहरण देखते हैं:

<html>
  <head>
    <!-- 1. Shim missing platform features -->
    <script src="polymer-all/platform/platform.js"></script>
    <!-- 2. Load a component -->
    <link rel="import" href="x-foo.html">
  </head>
  <body>
    <!-- 3. Declare the component by its tag. -->
    <x-foo></x-foo>
  </body>
</html>

आप जो नोटिस करेंगे वह <x-foo></x-foo>द्वारा परिभाषित किया जा रहा है platform.jsऔर x-foo.html

ऐसा लगता है कि यह AngularJS में एक निर्देशक मॉड्यूल के बराबर है:

angular.module('xfoo', [])
.controller('X-Foo', ['$scope',function($scope) {
    $scope.text = 'hey hey!';
})
.directive('x-foo', function() {
    return {
        restrict: 'EA',
        replace: true,
        controller: 'X-Foo',
        templateUrl: '/views/x-foo.html',
        link: function(scope, controller) {
        }
    };
});
  • दोनों के बीच क्या अंतर है?

  • पॉलिमर किन समस्याओं का समाधान करता है कि AngularJS ने किया है या नहीं?

  • क्या भविष्य में एंगुलरजेएस के साथ पॉलिमर को बांधने की योजना है?


यहाँ उपयोग की जाने वाली जानकारी 2 निति - एंगुलरजेएस और पॉलिमर की भूमिकाएँ
LCJ

जवाबों:


520

आप यह प्रश्न पूछने वाले पहले व्यक्ति नहीं हैं :) मुझे अपने प्रश्नों को प्राप्त करने से पहले कुछ बातें स्पष्ट कर दें।

  1. पॉलिमर webcomponents.jsएक पुस्तकालय है जिसमें विभिन्न डब्ल्यू 3 सी एपीआई के लिए कई पॉलीफिल होते हैं जो वेब घटक की छतरी के नीचे आते हैं। य़े हैं:

    • कस्टम तत्व
    • HTML आयात
    • <template>
    • छाया डोम
    • सूचक घटनाएँ
    • अन्य

    दस्तावेज़ ( बहुलक-project.org ) में बाएं-नेव इन सभी "प्लेटफ़ॉर्म प्रौद्योगिकियों" के लिए एक पृष्ठ है। उन पन्नों में से प्रत्येक में व्यक्तिगत पॉलीफ़िल का एक संकेतक भी है।

  2. <link rel="import" href="x-foo.html">एक HTML आयात है। अन्य HTML में HTML शामिल करने के लिए आयात एक उपयोगी उपकरण है। आप शामिल कर सकते हैं <script>, <link>, मार्कअप, या एक आयात में जो कुछ भी।

  3. कुछ भी नहीं "लिंक" <x-foo>x-foo.html के लिए। आपके उदाहरण में, यह माना जाता है कि कस्टम तत्व की परिभाषा <x-foo>(जैसे <element name="x-foo">) x-foo.html में परिभाषित है। जब ब्राउज़र उस परिभाषा को देखता है, तो वह एक नए तत्व के रूप में पंजीकृत होता है।

सवालों पर!

कोणीय और पॉलिमर में क्या अंतर है?

हमने अपने प्रश्नोत्तर वीडियो में इसको शामिल किया है । सामान्य तौर पर, पॉलिमर एक पुस्तकालय है जिसका उद्देश्य वेब घटकों का उपयोग करना (और दिखाना है कि कैसे उपयोग करना है)। इसकी नींव कस्टम तत्व है (उदाहरण के लिए आप जो कुछ भी बनाते हैं वह एक वेब घटक है) और यह वेब विकसित होते ही विकसित हो जाता है। उस अंत तक, हम केवल आधुनिक ब्राउज़रों के नवीनतम संस्करण का समर्थन करते हैं।

मैं इस छवि का उपयोग पॉलिमर के पूरे आर्किटेक्चर स्टैक का वर्णन करने के लिए करूंगा:

यहाँ छवि विवरण दर्ज करें

लाल परत: हम पॉलीफ़िल के एक सेट के माध्यम से कल की वेब प्राप्त करते हैं। ध्यान रखें, वे लाइब्रेरी समय के साथ चली जाती हैं क्योंकि ब्राउज़र नए एपीआई को अपनाते हैं।

येलो लेयर: बहुलक के साथ कुछ चीनी में छिड़कें। यह परत एक साथ कल्पना एपीआई का उपयोग करने के बारे में हमारी राय है। यह डेटा-बाइंडिंग, सिंटैटिक शुगर, वॉच वॉचर्स, प्रकाशित प्रॉपर्टीज जैसी चीजों को भी जोड़ता है ... हमें लगता है कि ये चीजें वेब कंपोनेंट आधारित ऐप बनाने के लिए मददगार हैं।

GREEN: UI घटकों (हरी परत) का व्यापक सेट अभी भी जारी है। ये वेब घटक होंगे जो सभी लाल + पीली परतों का उपयोग करते हैं।

कोणीय निर्देश बनाम कस्टम तत्व?

एलेक्स रसेल का जवाब देखें । मूल रूप से, शैडो डोम HTML के बिट्स की रचना करने की अनुमति देता है, लेकिन यह भी HTML को एनकैप्सुलेट करने के लिए एक उपकरण है। यह मूल रूप से वेब पर एक नई अवधारणा है और कुछ अन्य ढांचे का लाभ उठाएंगे।

पॉलिमर किन समस्याओं का समाधान करता है कि AngularJS ने किया है या नहीं?

समानताएं: घोषणात्मक टेम्पलेट, डेटा बाइंडिंग।

अंतर: सेवाओं, फिल्टर, एनिमेशन आदि के लिए कोणीय का उच्च स्तरीय एपीआई है, IE8 का समर्थन करता है, और इस बिंदु पर, उत्पादन एप्लिकेशन बनाने के लिए एक अधिक मजबूत ढांचा है। पॉलिमर सिर्फ अल्फा में शुरू हो रहा है।

क्या भविष्य में एंगुलरजेएस के साथ पॉलिमर को बांधने की योजना है?

वे अलग प्रोजेक्ट हैं । कहा कि, दोनों कोणीय और एम्बर टीमों ने घोषणा की कि वे अंतत: अपने स्वयं के ढांचे में अंतर्निहित प्लेटफॉर्म एपीआई का उपयोग करने के लिए आगे बढ़ेंगे।

^ यह एक बड़ी जीत IMO है। ऐसी दुनिया में जहां वेब डेवलपर्स के पास शक्तिशाली उपकरण (शैडो डोम, कस्टम एलिमेंट्स) हैं, फ्रेमवर्क लेखक भी बेहतर फ्रेमवर्क बनाने के लिए इन प्राइमिटिव्स का उपयोग कर सकते हैं। उनमें से अधिकांश वर्तमान में "काम पूरा करने" के लिए महान हुप्स से गुजरते हैं।

अपडेट करें:

इस विषय पर एक बहुत अच्छा लेख है: " यहाँ पॉलिमर और कोणीय के बीच अंतर है "


46
यहां महत्वपूर्ण बिंदु यह है कि पॉलिमर वेब को लेने के बारे में है जैसा कि हम इसे आगे जानते हैं, विशेष रूप से यह दिखा कर कि वेब घटक वेब को कैसे खोल सकते हैं, साझा करने में सक्षम और एक्स्टेंसिबल हैं। AngularJS (और उस मामले के लिए एम्बर) एक ऐसा ढांचा बनाने के बारे में है जो उत्तरदायी एप्लिकेशन बनाने के लिए ब्राउज़र के सर्वोत्तम भागों का लाभ उठाता है। एक बार जब वेब घटक ब्राउज़र द्वारा बेहतर समर्थित होते हैं, तो एंगुलर और अन्य फ्रेमवर्क उन पर निर्माण कर सकते हैं, जिससे फ्रेमवर्क कोड छोटा हो सकता है, और एप्लिकेशन सरल हो जाते हैं। इसलिए यह सभी के लिए विन-विन है।
शमूली

31
मुझे अभी भी समझ में नहीं आया है कि पॉलिमर कस्टम एलिमेंट्स और एंगुलर डायरेक्टिव्स के बीच व्यावहारिक अंतर क्या है? मैं एक कोणीय परियोजना में कोणीय निर्देशों के बजाय पॉलिमर कस्टम तत्वों का उपयोग क्यों करूंगा?
रोनग

3
इसलिए मौजूदा कोणीय और एम्बर परियोजनाएं अंतत: अंतर्निहित प्लेटफॉर्म एपीआई का उपयोग करने से लाभान्वित होंगी। लेकिन जब वेब घटक ब्राउज़रों द्वारा बेहतर समर्थित होते हैं, तो क्या नई परियोजनाओं पर कोणीय का उपयोग करने में भी कोई लाभ होगा , या क्या यह प्रभावी रूप से निरर्थक हो जाता है?
पैनकेक

8
मुझे लगता है कि इसे काले और सफेद बनाने के लिए: उत्पादन के सामान के लिए AngularJS के साथ रहें और अपने खाली समय में पॉलिमर के साथ खेलें ताकि समय आने पर आप इससे परिचित हों।
थुडन

31
यह polymer.js का एक अच्छा अवलोकन है, लेकिन किसी भी तरह से सवाल का पूरी तरह से जवाब नहीं देता है ...
क्रिस्टोफ़

57

आपके प्रश्न के लिए:

क्या भविष्य में एंगुलरजेएस के साथ पॉलिमर को बांधने की योजना है?

एंगुलरजेएस के आधिकारिक ट्विटर अकाउंट से: "एंगुलरज अपने विजेट के लिए बहुलक का उपयोग करेंगे। यह जीत है।"

स्रोत: https://twitter.com/angularjs/status/335417160438542337


2
@NREZ ठीक है, मैं पोस्ट के शीर्षक का जवाब नहीं देता, लेकिन पोस्ट के अंदर एक प्रश्न है। मेरा उत्तर सिर्फ 3 सवालों के लिए है: Are there plans to tie Polymer in with AngularJS in the future? मुझे लगता है कि AngularJS टीम से मूल पोस्ट को उद्धृत करने के लिए एक अच्छा विचार है जो आपको नहीं लगता है ?
lo --c m।

यूप सुनिश्चित उर पॉइंट वैध है ... बस यह कि विवरण बेहतर हो सकता था ... जैसे मैंने इस बार किया है और मुझे यकीन है कि अगली बार यू भी होगा ...
एनआरईजेड

हाँ यकीनन। आपके अपडेट के लिए thx :) (मैं सिर्फ
स्टैकओवरफ्लो

तो क्या उन्होंने वहाँ मन बदल दिया? मुझे लगता है कि वे बहुलक का उपयोग कर रहे हैं खोजने के लिए प्रतीत नहीं कर सकते।
दिबांग

मुझे नहीं लगता कि यह कोई जवाब है।
एस्ट्रोनु जू

19

इस वीडियो में AngularJS के 2 लोगों ने इस दो फ्रेमवर्क (AngularJS 1.2 और Beyond) के बारे में मतभेद और समानता के बारे में बात की है।

ये लिंक आपको सही Q & A में लाएंगे:


19

1 और 2) पॉलिमर घटक छाया डोम में उनके छिपे हुए पेड़ के कारण बंद हो जाते हैं। इसका मतलब है कि उनकी शैली और व्यवहार से खून नहीं बह सकता। कोणीय उस विशेष निर्देश के लिए नहीं है जिसे आप बहुलक वेब घटक की तरह बनाते हैं। एक कोणीय निर्देश संभवतः आपके वैश्विक दायरे में किसी चीज़ के साथ संघर्ष कर सकता है। IMO का लाभ आपको पॉलिमर से मिलेगा जो मैंने समझाया है .. मॉड्यूलर घटकों ने सीएसएस और जावास्क्रिप्ट को उस विशेष घटक के लिए स्कोप किया है जो कुछ भी नहीं छू सकता है। अछूत डोम!

कोणीय निर्देश बनाए जा सकते हैं ताकि आप कार्यक्षमता के कई टुकड़ों के साथ एक तत्व का एनोटेट कर सकें। पॉलिमर वेब घटकों में ऐसा नहीं है। यदि आप घटकों की कार्यक्षमता को संयोजित करना चाहते हैं तो आप दो घटकों को दूसरे घटक में शामिल करते हैं (या उन्हें किसी अन्य घटक में लपेटते हैं) या आप किसी मौजूदा घटक का विस्तार कर सकते हैं। याद रखें कि मुख्य अंतर अभी भी है कि प्रत्येक घटक बहुलक वेब घटकों में बंद है। आप कई घटकों में सीएसएस और जेएस फाइलें साझा कर सकते हैं या आप उन्हें इनलाइन कर सकते हैं।

3) हां, रॉबर्ट डोडसन और एरिक बिडेलमैन के अनुसार, 2+ संस्करण में बहुलक को शामिल करने पर कोणीय की योजना है

यह हास्यास्पद है कि यहां किसी ने भी शब्द के दायरे का उल्लेख नहीं किया है। मुझे लगता है कि प्रमुख अंतरों में से एक है।

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

उत्तर के माध्यम से पढ़ते हुए जब मैं इसे लिखता हूं, तो मैंने देखा कि एरिक बिडेलमैन (ईबेल्ड) ने अपने उत्तर में इस तरह का कवर किया था :

"शैडो डोम HTML के बिट्स की रचना करने की अनुमति देता है लेकिन यह HTML को एनकैप्सुलेट करने के लिए भी एक उपकरण है।"

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

मेरे द्वारा एकत्रित की गई जानकारी के लिए यहाँ मेरे मुख्य स्रोत हैं।

जावास्क्रिप्ट जैबर - पॉलिमर विद रॉब डोडसन और एरिक बिडेलमैन

शॉप टॉक शो - रोब डोडसन के साथ वेब घटक


1
तो अगर मैं उपयोग normalize.cssकरता हूं , तो यह शैडो डोम के अंदर सामान्य नहीं होता है? इसलिए मुझे एक बार ऐसा करने के तरीके के बिना, प्रत्येक ऐसे घटक को अलग करने की आवश्यकता है? क्या यह एक अच्छी चीज है?
दिमित्री जैतसेव

1
IFRAME के ​​रूप में शैडो डोम के बारे में कोई नहीं सोचता। और मैं इस तुलना का उपयोग शिथिल रूप से करता हूं क्योंकि यह IFRAME नहीं है। लेकिन IFRAME में, आपके पास अपना स्वयं का दस्तावेज़ होगा जो मूल दस्तावेज़ के CSS और JavaScript पृष्ठों से प्रभावित नहीं होगा। यह एक बहुत ही अच्छी बात है। इसका मतलब यह है कि आप इस बात की गारंटी दे सकते हैं कि एक विशिष्ट घटक के रूप में चलेगा और मूल पृष्ठ से हस्तक्षेप नहीं करेगा। हालाँकि, यदि छाया DOM उस मूल पृष्ठ से DOM का उपयोग करना चाहता था जो वह कर सकता है। लेकिन वह एक और विषय है।
एरिक बिशर्ड

1
मैं देखता हूं, हां, सीएसएस एक टपकी हुई भाषा है, लेकिन ज्यादातर मामलों में डोम के अंदर अद्वितीय वर्ग उपसर्गों का उपयोग करके सरल (हालांकि सही नहीं) समाधान है जिसे आप अलग करना चाहते हैं। और, ज़ाहिर है, टैग और आईडी चयनकर्ताओं से बचना, जो वैसे भी अच्छा अभ्यास नहीं है। दूसरी ओर, उन घोषणाओं में से कुछ जिन्हें आप वास्तव में लीक करना चाहते हैं (जैसे)normalize.css या अन्य टैग-आधारित पत्रक), जो फिर से शैडो डोम के बिना आसानी से प्राप्त हो सकता है। एक आदर्श अलगाव नहीं बल्कि संभावना है। उपयोग के 95% मामलों में काम करता है, कम से कम मैं जिनके बारे में सोच सकता हूं।
दिमित्री जैतसेव

2
यह कहने के बाद, मुझे कहना होगा कि मैं उचित अलगाव की योग्यता देखता हूं, और आपके उत्तर को अच्छी व्याख्या प्रदान करता हूं।
दिमित्री जैतसेव

6

पॉलिमर एक वेब कंपोनेंट शिम है

  • " वेब कंपोनेंट्स " मानकों का एक नया सेट है जो वेब अनुप्रयोगों के लिए पुन: प्रयोज्य बिल्डिंग ब्लॉक प्रदान करने के लिए HTML 5 द्वारा कवर किया गया है।

  • ब्राउज़र "वेब घटक" विनिर्देश को लागू करने के विभिन्न राज्यों में हैं, और इसलिए वेब घटकों का उपयोग करके HTML लिखना बहुत जल्दी है।

  • लेकिन अफसोस! बचाव के लिए पॉलिमर! पॉलिमर एक पुस्तकालय है जो आपके HTML कोड को एक अमूर्त परत प्रदान करता है, जिससे यह वेब घटक API का उपयोग करने की अनुमति देता है जैसे कि यह सभी ब्राउज़रों में पूरी तरह से लागू किया गया हो। इसे पॉली-फिलिंग कहा जाता है , और पॉलिमर टीम इस लाइब्रेरी को webcompords.js के रूप में वितरित करती है । इसे platform.js btw कहा जाता था ।

लेकिन पॉलिमर वेब घटकों के लिए एक पॉलीफिल लाइब्रेरी से अधिक है ...

पॉलिमर तत्वों के माध्यम से खुले और पुन: प्रयोज्य वेब घटक निर्माण ब्लॉक भी प्रदान करता है

यहाँ छवि विवरण दर्ज करें

सभी तत्वों को अनुकूलित और बढ़ाया जा सकता है। ये सामाजिक विगेट्स से एनीमेशन के लिए वेब एपीआई क्लाइंट के लिए कुछ भी निर्माण ब्लॉक के रूप में उपयोग किया जाता है।

पॉलिमर एक वेब एप्लिकेशन फ्रेमवर्क नहीं है

  • पॉलिमर एक ढांचे की तुलना में एक पुस्तकालय का अधिक है।

  • पॉलीमर में मार्गों, एप्लिकेशन स्कोप, नियंत्रकों आदि जैसी चीजों के लिए समर्थन नहीं है।

    • लेकिन इसके पास दो-तरफ़ा बाइंडिंग है, और घटकों का उपयोग "महसूस" करता है, जैसे कोणीय निर्देशों का उपयोग करना।
  • हालाँकि पॉलिमर और एंगुलरजेएस के बीच कुछ ओवरलैप्स हैं, लेकिन वे समान नहीं हैं। वास्तव में, AngularJS टीम ने आगामी रिलीज में पॉलिमर पुस्तकालयों का उपयोग करने का उल्लेख किया है।

  • यह भी ध्यान दें कि अभी भी पॉलिमर को "रक्तस्रावी धार" माना जाता है, जबकि एंगुलरजेएस स्थिर है।

  • Google की इन दोनों परियोजनाओं को विकसित होते देखना दिलचस्प होगा!


पॉलिमर एक शिम या पॉलीफिल नहीं है। यही कारण है कि webcompords.js पॉलीफ़िल हैं। पॉलिमर वेब घटकों को संलेखन के लिए एक पुस्तकालय है। पॉलिमर टीम ने वेब घटकों का संग्रह भी बनाया (पॉलिमर का उपयोग करके लागू किया गया), लेकिन वे भी "पॉलिमर" नहीं हैं
ईबेल्ड

अद्यतन: पॉलिमर में अब मार्ग हैं, और स्थिर है! : डी
जोर्डेवड

5

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


1
"वे दो पूरी तरह से अलग जानवर हैं।" हाँ, वे हैं, लेकिन इसका सवाल से कोई लेना-देना नहीं है। सवाल पॉलिमर इरिजेंट्स बनाम एंगुलरज डिसर्टिव्स के बारे में है। और वे कई मायनों में समान हैं। हम यह नहीं पूछ रहे हैं कि उपयोग करने के लिए सबसे अच्छा फ्रेमवर्क क्या है .. पॉलिमर बनाम एंगुलरजेएस। "यह मुझे इस बिंदु पर लगता है कि आपको कोणीय पर बहुलक का उपयोग करने से कोई बड़ा लाभ नहीं मिलेगा" किसी ने भी यह सुझाव नहीं दिया है, वास्तव में हम सभी ने कुछ क्षमता में कंधे से कंधा मिलाकर उनका उपयोग करने की बात की है। "अपने सवाल के लिए, ... आपको कोणीय पर बहुलक का उपयोग करने से कोई लाभ नहीं मिलेगा" फिर, सवाल नहीं।
एरिक बिशर्ड

0

MVVM (मॉडल-व्यू, व्यू-मॉडल) जो कि कोणीय प्रस्ताव एक चिंता का विषय नहीं है जिसे पॉलिमर हल करना चाहता है। जब आप कोणीय (पॉलिफ़ायर टैग + संबद्ध लॉजिक संयोजन) के साथ कोणीय निर्देश देते हैं, तो आपके द्वारा कोणीय और पॉलिमर की तुलना करने पर विचार किया जा सकता है। कोणीय है और एक व्यापक उद्देश्य-सेवारत ढांचा रहेगा।


0

दोनों के बीच क्या अंतर है?

एक उपयोगकर्ता के लिए: ज्यादा नहीं। आप दोनों के साथ कमाल के ऐप्स बना सकते हैं।

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

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

पॉलिमर किन समस्याओं का समाधान करता है कि AngularJS ने किया है या नहीं?

पॉलिमर नए वेब घटक मानकों का लाभ उठाने की दिशा में अग्रसर है। यदि कस्टम तत्व, शैडो डोम, और HTML आयात जैसी सुविधाएँ स्थानीय रूप से समर्थित हैं, तो उनका लाभ न उठाना मूर्खता होगी। वर्तमान में अधिकांश वेब घटक विशेषताएं व्यापक रूप से समर्थित नहीं हैं ( वर्तमान स्थिति ) इसलिए पॉलिमर शिम या पुल के रूप में कार्य करता है। पॉलीफिल की तरह किंदा (वास्तव में यह पॉलीफिल का उपयोग करता है)।

क्या भविष्य में एंगुलरजेएस के साथ पॉलिमर को बांधने की योजना है?

हम एक साल के लिए एक साथ कोणीय और पॉलिमर का उपयोग कर रहे हैं। ऐसा करने के निर्णय का एक हिस्सा पॉलिमर टीम द्वारा सीधे हमसे किए गए वादों पर आधारित था जो कि इंटरऑपरेबिलिटी हो। हमने उस विचार को छोड़ दिया है। हम अब केवल पॉलिमर का उपयोग करने की ओर बढ़ रहे हैं।

इसे फिर से करने के लिए हमने संभवतः पॉलिमर का उपयोग करने के लिए कदम नहीं उठाया होगा, इसके बजाय इसके परिपक्व होने की प्रतीक्षा करें। कहा जा रहा है कि पॉलिमर में इसके कुछ (काफी अच्छे) और विपक्ष हैं (जिनमें से कुछ काफी निराशाजनक हैं) लेकिन मुझे लगता है कि यह एक और सूत्र के लिए चर्चा है।


0

एंगुलरज निर्देशकस्टम तत्व बनाने के लिए एक दृष्टिकोण है। आप नए कस्टम टैग को कस्टम विशेषताओं के साथ परिभाषित कर सकते हैं। पॉलिमर भी ऐसा कर सकता है, लेकिन यह एक दिलचस्प और सरल तरीके से करेगा। पॉलीमर वास्तव में एक ऐसा ढांचा नहीं है जो सिर्फ एक पुस्तकालय है। लेकिन एक शक्तिशाली और अद्भुत पुस्तकालय है कि आप इसके साथ प्यार में पड़ सकते हैं (मेरे जैसे)। पॉलिमर आपको w3c द्वारा बनाई गई मूल वेब घटक तकनीक को सीखने देता है, जो कि वेब ब्राउज़र अंततः इसे लागू करते हैं। हम घटक भविष्य की तकनीक है, लेकिन बहुलक आपको अभी उस तकनीक का उपयोग करते हैं। तत्वों और वेब घटकों के साथ अनुप्रयोग। याद रखें कि मैंने कहा कि बहुलक एक ढांचा नहीं है और यह एक पुस्तकालय है। लेकिन जब आप पॉलिमर का उपयोग कर रहे हैं, तो वास्तव में आपका ढांचा डोम है। यह पोस्ट कोणीय js ver 1 और बहुलक के बारे में थी और मुझे उन दोनों के साथ काम किया गया है जो कि मेरी परियोजनाएँ हैं और मैं व्यक्तिगत रूप से angularjs पर बहुलक पसंद करता हूँ। लेकिन कोणीय संस्करण 2 की तुलना में कोणीय संस्करण 2 पूरी तरह से अलग है। कोणीय 2 में निष्क्रिय का एक अलग अर्थ है।


0

कोणीय निर्देश वैचारिक रूप से कस्टम तत्वों के समान हैं, लेकिन वे वेब घटक API के उपयोग के बिना कार्यान्वित किए जाते हैं। कोणीय निर्देश कस्टम तत्वों के निर्माण का एक तरीका है, लेकिन पॉलिमर और वेब घटक विनिर्देश इसे करने के लिए मानक-आधारित तरीका है।

बहुलक-तत्व:

<polymer-element name="user-preferences" attributes="email">
  <template>
    <img src="https://secure.user-preferences.com/path/{{userID}}" />
  </template>
  <script>
    Polymer('user-preferences', {
      ready: function() {
        this.userID= md5(this.email);
      }
    });
  </script>
</polymer>

कोणीय निर्देश:

app.directive('user-preferences', ['md5', function() {
  return {
    restrict: 'E',
    link: function(scope, element, attrs) {
      scope.userID= md5(attrs.email);
    },
    template: '<img src="https://secure.user-preferences.com/path/{{userID}}" />'
  };
}]);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.