हाल ही में, पॉलिमर और वेब कॉम्पोनेंट बहुत लोकप्रिय विषय हैं. साथ ही, इस इकोसिस्टम में तेज़ी से बदलाव हो रहे हैं. इसलिए, डेवलपर के लिए इन सभी नए बदलावों के बारे में अप-टू-डेट रहना मुश्किल हो सकता है.
Chrome Dev Summit में अपने भाषण में, Polymer टीम के इंजीनियरिंग मैनेजर मैट मैकनल्टी ने बताया कि Polymer क्या है. साथ ही, उन्होंने Polymer 1.0 के रोडमैप के बारे में भी बताया.
Polymer क्या है?
सबसे पहले, Polymer क्या है?
Polymer एक लाइब्रेरी है, जिसकी मदद से वेब कॉम्पोनेंट से एलिमेंट और ऐप्लिकेशन बनाए जा सकते हैं. वेब कॉम्पोनेंट, नए स्टैंडर्ड का एक बेहतरीन सेट है. इसकी मदद से, डेवलपर अपने कस्टम एलिमेंट के साथ एचटीएमएल की शब्दावली को बढ़ा सकते हैं.

वेब कॉम्पोनेंट को ब्राउज़र के लिए एक नए प्राइमिटिव के तौर पर डिज़ाइन किया गया है. इसका मतलब है कि वे बहुत असरदार हैं, लेकिन बहुत लो लेवल के भी हैं. साथ ही, इनके साथ काम करने के लिए ज़्यादा कोड की ज़रूरत होती है.

सिंटैक्स को "सुगर" करके, Polymer वेब कॉम्पोनेंट के साथ काम करना आसान बनाता है. इससे, आपको कम बूलिपेल कोड लिखना पड़ता है. साथ ही, इसमें एलान वाला स्टाइल जोड़ा जाता है, ताकि वेब कॉम्पोनेंट बनाना एचटीएमएल लिखने जितना आसान हो जाए.
Polymer एक्सपेरिमेंट
Polymer को एक प्रयोग के तौर पर शुरू किया गया था. इससे यह पता लगाना था कि क्या वेब कॉम्पोनेंट के स्टैंडर्ड को पॉलीफ़िल किया जा सकता है. साथ ही, यह भी पता लगाना था कि सभी ब्राउज़र में इन टेक्नोलॉजी के शिप होने से पहले, डेवलपर से सुझाव/राय/शिकायत मिल सकती है या नहीं. ज़्यादा से ज़्यादा डेवलपर ने Polymer का इस्तेमाल शुरू किया, तो यह सिर्फ़ पॉलीफ़िल से बदलकर, प्रोडक्टिविटी से जुड़ी सुविधाओं (डेटा बाइंडिंग, एट्रिब्यूट में बदलाव देखने वाले टूल, अपने-आप नोड ढूंढने की सुविधा वगैरह) से भरी एक असली लाइब्रेरी बन गई. हालांकि, सभी एक्सपेरिमेंट के नतीजे मिलते हैं. तो हमने क्या किया?

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

आसान डेटा बाइंडिंग
Polymer के डेटा बाइंडिंग सिस्टम को भी परफ़ॉर्मेंस के लिए बेहतर बनाया गया है. लेयर वाले तरीके का इस्तेमाल करने पर, अब दो-तरफ़ा बाइंडिंग के लिए ऑप्ट-इन करना ज़रूरी है. डिफ़ॉल्ट रूप से, एक-तरफ़ा बाइंडिंग चालू रहती है. साथ ही, पब्लिश की गई प्रॉपर्टी के टाइप साफ़ तौर पर दिखाए गए हैं. साथ ही, प्रॉपर्टी में होने वाले बदलाव से अब एक इवेंट ट्रिगर होता है, ताकि अलग-अलग लाइब्रेरी के एलिमेंट आसानी से कम्यूनिकेट कर सकें.

छोटा शैडो डीओएम
शैडो DOM polyfill, इंजीनियरिंग की एक अद्भुत उपलब्धि है. इसे पूरी तरह से और खास तौर पर स्पेसिफ़िकेशन के मुताबिक डिज़ाइन किया गया था. यह प्लैटफ़ॉर्म प्राइमिटिव की पूरी तरह से जांच करने के लिए ज़रूरी है. हालांकि, माफ़ करें, इसमें उन सुविधाओं के लिए परफ़ॉर्मेंस से जुड़ी कई समस्याएं आती हैं जिनका इस्तेमाल Polymer नहीं कर रहा है.
Polymer की अगली रिलीज़ में, एक अलग तरीका अपनाया जाएगा. इसमें शिम-स्टाइल लेयर का इस्तेमाल किया जाएगा, जो सिर्फ़ उस फ़ंक्शन को पॉलीफ़िल करेगा जिसकी Polymer को ज़रूरत है.

मौजूदा पॉलीफ़िल, सामान्य और ऐसे वेब कॉम्पोनेंट के लिए उपलब्ध रहेगा जो Polymer के नहीं हैं.
webcomponents.org पर माइग्रेट करना
पॉलीफ़िल के बारे में बात करते हुए, उन्हें भी एक नया होम मिल रहा है. फ़िलहाल, कई डेवलपर Polymer और वेब कॉम्पोनेंट के बीच के संबंध को लेकर भ्रमित हैं. कुछ लोगों को लगता है कि वेब कॉम्पोनेंट का इस्तेमाल करने के लिए, आपको Polymer के सभी वर्शन का इस्तेमाल करना होगा. हालांकि, असल में आपको सिर्फ़ पॉलीफ़िल की ज़रूरत होती है.
इस अंतर को ज़्यादा साफ़ तौर पर बताने के लिए, पॉलीफ़िल को webcomponents.org पर ले जाया जा रहा है. साथ ही, अब इनका नाम बदलकर webcomponents.js
कर दिया गया है.

इस बदलाव का मकसद, लाइब्रेरी बनाने वाले दूसरे लोगों को बिना किसी परेशानी के पॉलीफ़िल का फ़ायदा लेने में मदद करना है. Polymer टीम, पॉलीफ़िल में योगदान देती रहेगी. हालांकि, हमें उम्मीद है कि इस बदलाव से, पॉलीफ़िल को कम्यूनिटी के लिए ज़्यादा शेयर किया जा सकेगा.
नतीजे
तो इन सभी बदलावों के नतीजे क्या होंगे?
स्पीड
Chrome पर, Polymer अब पांच गुना ज़्यादा तेज़ है. वहीं, Safari पर इसकी स्पीड आठ गुना ज़्यादा हो गई है.

फ़ाइल का साइज़
फ़ाइल का साइज़ भी 87% कम हो गया है. यह 123 केबी से घटकर 15 केबी (6 केबी जिप की गई) हो गया है.

रोडमैप
अगले रिलीज़ में, एपीआई में कुछ बदलाव किए जाएंगे. इन बदलावों के बारे में, नए वर्शन नंबर (0.8) से पता चलेगा. हालांकि, टीम यह साफ़ तौर पर बताना चाहती है कि यह एपीआई को फिर से लिखना नहीं है. अपने मौजूदा प्रोजेक्ट को Polymer 0.5 से 0.8 पर माइग्रेट करना आसान है.
Polymer टीम ने एक रोडमैप भी तैयार किया है, ताकि डेवलपर को आने वाले समय में रिलीज़ होने वाले वर्शन के बारे में ज़्यादा जानकारी मिल सके.

0.8 वर्शन की झलक, अब GitHub पर एक ब्रैंच के तौर पर उपलब्ध है. हालांकि, इसे अब भी लगातार डेवलप किया जा रहा है और इसके लिए दस्तावेज़ उपलब्ध नहीं हैं. 0.9 का आधिकारिक बीटा वर्शन, साल 2015 की पहली तिमाही में लॉन्च किया जाएगा. इसके बाद, 1.0 वर्शन को दूसरी तिमाही में लॉन्च किया जाएगा.
एक्सपेरिमेंट खत्म हो गया है
Polymer में हाल ही में हुए सभी बदलावों के साथ, इसकी टीम वेब कॉम्पोनेंट के लिए बुनियादी तैयारी कर रही है, ताकि वे हर डेवलपर के स्टैक का अहम हिस्सा बन सकें. अगर आपने वेब कॉम्पोनेंट का इस्तेमाल पहले कभी नहीं किया है, तो अब इन नई टेक्नोलॉजी के बारे में जानने का सबसे सही समय है. अगर आपने पहले से ही कॉम्पोनेंट (और Polymer) का इस्तेमाल शुरू कर दिया है, तो आने वाले समय में आपको ज़्यादा फ़ायदे मिल सकते हैं. सभी नए अपडेट के लिए, Polymer ब्लॉग पर नज़र रखें. साथ ही, सवाल या टिप्पणियां करने के लिए, Polymer की मेलिंग सूची के लिए साइन अप करें. हैकिंग का आनंद लें!