जावास्क्रिप्ट पॉलीफिल्सच्या जगात प्रवेश करा, विविध ब्राउझर आणि वातावरणांमध्ये वेब ऍप्लिकेशनची सुसंगतता सुनिश्चित करा. जागतिक वेब विकासासाठी तंत्रे आणि सर्वोत्तम पद्धती जाणून घ्या.
वेब प्लॅटफॉर्म सुसंगतता: जावास्क्रिप्ट पॉलीफिल डेव्हलपमेंटचा सखोल अभ्यास
वेब डेव्हलपमेंटच्या सतत बदलणाऱ्या जगात, विविध ब्राउझर आणि वातावरणांमध्ये सातत्यपूर्ण कार्यप्रणाली सुनिश्चित करणे हे एक मोठे आव्हान आहे. जावास्क्रिप्ट पॉलीफिल्स या समस्येवर एक शक्तिशाली उपाय देतात, ज्यामुळे डेव्हलपर्सना जुन्या ब्राउझरमध्ये आधुनिक वेब वैशिष्ट्ये आणता येतात आणि अधिक मजबूत व विश्वसनीय वेब ऍप्लिकेशन्स तयार करता येतात. हे मार्गदर्शक जावास्क्रिप्ट पॉलीफिल डेव्हलपमेंटचे सर्वसमावेशक अन्वेषण करते, ज्यात त्याचे महत्त्व, अंमलबजावणीच्या धोरणे आणि जागतिक प्रेक्षकांसाठी सर्वोत्तम पद्धतींचा समावेश आहे.
पॉलीफिल्स म्हणजे काय?
पॉलीफिल, त्याच्या सोप्या स्वरूपात, जावास्क्रिप्ट कोडचा (किंवा कधीकधी CSS) एक भाग आहे जो वेब ब्राउझर मूळतः समर्थन देत नाही अशी कार्यक्षमता प्रदान करतो. "पॉलीफिल" हा शब्द रेमी शार्प यांनी तयार केला होता, हे नाव भिंती रंगवण्यापूर्वी छिद्रे भरण्यासाठी वापरल्या जाणार्या उत्पादनावरून घेतले आहे. वेब डेव्हलपमेंटच्या संदर्भात, पॉलीफिल ब्राउझरच्या वैशिष्ट्यांच्या संचातील "छिद्र" भरते आणि नवीन वेब मानकांचे समर्थन नसलेल्या जुन्या ब्राउझरसाठी एक फॉलबॅक प्रदान करते.
ब्राउझर स्वीकारण्याच्या दरातील तफावतीमुळे पॉलीఫિલ્સ विशेषतः महत्त्वाचे आहेत. आधुनिक ब्राउझरचा व्यापक वापर होत असला तरी, एंटरप्राइज धोरणे, डिव्हाइस मर्यादा किंवा फक्त अपडेट्सचा अभाव यासारख्या विविध कारणांमुळे वापरकर्ते अजूनही जुन्या आवृत्त्यांवर असू शकतात. पॉलीఫિલ્સ वापरून, डेव्हलपर नवीनतम वेब वैशिष्ट्यांचा वापर करणारा कोड लिहू शकतात आणि तो विविध ब्राउझरवर सहजतेने कार्य करतो, ज्यामुळे विविध जागतिक वापरकर्त्यांसाठी एकसारखा वापरकर्ता अनुभव सुनिश्चित होतो.
जागतिक संदर्भात पॉलीఫિલ્સचे महत्त्व
जागतिक संदर्भात पॉलीఫિલ્સची गरज आणखी स्पष्ट होते, जिथे इंटरनेट प्रवेश, ब्राउझर वापर आणि डिव्हाइस क्षमता विविध देशांमध्ये आणि प्रदेशांमध्ये लक्षणीयरीत्या बदलतात. खालील परिस्थितींचा विचार करा:
- विविध ब्राउझर आवृत्त्या: काही प्रदेशांमध्ये, नवीनतम डिव्हाइसवर मर्यादित प्रवेश किंवा वारंवार सॉफ्टवेअर अपडेट्स न मिळाल्यामुळे जुने ब्राउझर अजूनही प्रचलित असू शकतात.
- डिव्हाइसचे विखंडन: वापरकर्ते डेस्कटॉप, लॅपटॉप, टॅब्लेट आणि मोबाईल फोन यांसारख्या विविध डिव्हाइसवरून वेब ऍक्सेस करतात, ज्या प्रत्येकामध्ये ब्राउझर समर्थनाची पातळी वेगवेगळी असते.
- प्रवेशयोग्यता विचार: पॉलीఫિલ્સ हे सुनिश्चित करण्यात मदत करू शकतात की वेब ऍप्लिकेशन्स दिव्यांग वापरकर्त्यांसाठी त्यांच्या ब्राउझर किंवा डिव्हाइसची पर्वा न करता प्रवेशयोग्य आहेत. उदाहरणार्थ, पॉलीఫિલ્સ जुन्या ब्राउझरमध्ये ARIA समर्थन प्रदान करू शकतात.
- आंतरराष्ट्रीयीकरण आणि स्थानिकीकरण: पॉलीఫિલ્સ आंतरराष्ट्रीयीकरण (i18n) आणि स्थानिकीकरण (l10n) वैशिष्ट्यांची अंमलबजावणी सुलभ करू शकतात, जसे की तारीख आणि वेळ स्वरूपन, संख्या स्वरूपन आणि भाषा-विशिष्ट मजकूर प्रस्तुतीकरण. जागतिक प्रेक्षकांसाठी ऍप्लिकेशन्स तयार करण्यासाठी हे महत्त्वाचे आहे.
पॉलीఫિલ્સचा वापर करून, डेव्हलपर ब्राउझर समर्थनातील अंतर भरून काढू शकतात, अधिक समावेशक वेब अनुभव तयार करू शकतात आणि विविध आंतरराष्ट्रीय वापरकर्त्यांच्या गरजा पूर्ण करू शकतात.
पॉलीఫિલ્સ आवश्यक असणारी सामान्य जावास्क्रिप्ट वैशिष्ट्ये
अनेक जावास्क्रिप्ट वैशिष्ट्ये आणि APIs ना क्रॉस-ब्राउझर सुसंगतता सुनिश्चित करण्यासाठी वारंवार पॉलीఫિલ્સची आवश्यकता असते. येथे काही उदाहरणे आहेत:
- ECMAScript 5 (ES5) वैशिष्ट्ये: ES5 तुलनेने परिपक्व असले तरी, काही जुन्या ब्राउझरमध्ये अजूनही पूर्ण समर्थन नाही. पॉलीఫિલ્સ `Array.prototype.forEach`, `Array.prototype.map`, `Array.prototype.filter`, `Array.prototype.reduce`, `Object.keys`, `Object.create`, आणि `Date.now` यासारख्या पद्धतींसाठी कार्यक्षमता प्रदान करतात.
- ECMAScript 6 (ES6) आणि त्यानंतरचे: जावास्क्रिप्टच्या नवीन आवृत्त्या (ES6, ES7, ES8, आणि त्यानंतरच्या) अधिक प्रगत वैशिष्ट्ये सादर करत असल्याने, या क्षमता जुन्या ब्राउझरमध्ये आणण्यासाठी पॉलीఫિલ્સ आवश्यक आहेत. यामध्ये `Promise`, `fetch`, `Array.from`, `String.includes`, ॲरो फंक्शन्स, क्लासेस आणि टेम्पलेट लिटरल्स यासारख्या वैशिष्ट्यांचा समावेश आहे.
- वेब APIs: आधुनिक वेब APIs, जसे की `Intersection Observer API`, `Custom Elements`, `Shadow DOM`, आणि `Web Animations API`, शक्तिशाली नवीन कार्यक्षमता देतात. पॉलीఫિલ્સ या APIs साठी अंमलबजावणी प्रदान करतात, ज्यामुळे डेव्हलपर्सना त्यांना जुन्या ब्राउझरमध्ये वापरता येते.
- वैशिष्ट्य ओळख (Feature Detection): ब्राउझरमध्ये एखादे विशिष्ट वैशिष्ट्य गहाळ असतानाच आवश्यक कोड डायनॅमिकपणे लोड करण्यासाठी वैशिष्ट्य ओळखीच्या संयोगाने पॉलीఫિલ્સचा वापर केला जाऊ शकतो.
जावास्क्रिप्ट पॉलीఫિલ્સची अंमलबजावणी
जावास्क्रिप्ट पॉलीఫિલ્સची अंमलबजावणी करण्याचे अनेक मार्ग आहेत. तुम्ही निवडलेला दृष्टिकोन तुमच्या विशिष्ट गरजा आणि प्रकल्पाच्या आवश्यकतांवर अवलंबून असेल.
1. मॅन्युअल पॉलीफिल अंमलबजावणी
पॉलीఫિલ્સची मॅन्युअल अंमलबजावणी म्हणजे स्वतः कोड लिहिणे. यामुळे तुम्हाला अंमलबजावणीवर पूर्ण नियंत्रण मिळते, परंतु यासाठी मूळ कार्यक्षमता आणि ब्राउझर सुसंगतता विचारांची सखोल माहिती असणे आवश्यक आहे. येथे `String.startsWith` साठी एका साध्या पॉलीफिलचे उदाहरण आहे:
if (!String.prototype.startsWith) {
String.prototype.startsWith = function(searchString, position) {
position = position || 0;
return this.substr(position, searchString.length) === searchString;
};
}
हा कोड `String.prototype.startsWith` आधीपासून परिभाषित आहे की नाही हे तपासतो. नसल्यास, तो मूलभूत अंमलबजावणीसह ते परिभाषित करतो. तथापि, ही एक सरलीकृत आवृत्ती आहे आणि उत्पादन-तयार पॉलीफिलला एज केसेसचे अधिक मजबूत हाताळणी आवश्यक असू शकते.
2. लायब्ररी आणि फ्रेमवर्क वापरणे
पूर्वनिर्मित पॉलीफिल लायब्ररी वापरणे हा सहसा सर्वात कार्यक्षम दृष्टिकोन असतो. या लायब्ररी विविध वैशिष्ट्यांसाठी पूर्वलिखित पॉलीఫિલ્સ प्रदान करतात, ज्यामुळे मॅन्युअल अंमलबजावणीची गरज कमी होते आणि त्रुटींचा धोका कमी होतो. लोकप्रिय लायब्ररींमध्ये यांचा समावेश आहे:
- Polyfill.io: ही एक सेवा आहे जी वापरकर्त्याच्या ब्राउझरवर आधारित डायनॅमिकपणे पॉलीఫિલ્સ वितरीत करते. स्वतः व्यवस्थापित न करता पॉलीఫિલ્સ समाविष्ट करण्याचा हा एक सोयीस्कर मार्ग आहे.
- core-js: ही एक सर्वसमावेशक पॉलीफिल लायब्ररी आहे जी ECMAScript च्या विस्तृत वैशिष्ट्यांना समाविष्ट करते.
- babel-polyfill: ही बॅबेल, एक लोकप्रिय जावास्क्रिप्ट कंपाइलर, द्वारे प्रदान केलेली पॉलीफिल आहे. आधुनिक जावास्क्रिप्ट कोडला जुन्या ब्राउझर-सुसंगत आवृत्त्यांमध्ये रूपांतरित करण्यासाठी बॅबेलच्या संयोगाने याचा वापर केला जातो.
- es5-shim आणि es6-shim: या लायब्ररी अनुक्रमे ES5 आणि ES6 वैशिष्ट्यांसाठी सर्वसमावेशक पॉलीఫિલ્સ देतात.
या लायब्ररींमध्ये अनेकदा वैशिष्ट्य ओळख (feature detection) समाविष्ट असते जेणेकरून वैशिष्ट्यांचे समर्थन करणाऱ्या ब्राउझरमध्ये अनावश्यक पॉलीఫિલ્સ लोड होण्यापासून प्रतिबंधित करता येते. Polyfill.io सारख्या लायब्ररी तुमच्या प्रोजेक्टमध्ये समाविष्ट करण्यासाठी डिझाइन केल्या आहेत, एकतर CDN द्वारे किंवा स्क्रिप्ट फाइल्स थेट इम्पोर्ट करून. उदाहरणे (Polyfill.io वापरून):
<script src="https://polyfill.io/v3/polyfill.min.js?features=Array.prototype.forEach,String.startsWith"></script>
ही स्क्रिप्ट केवळ `Array.prototype.forEach` आणि `String.startsWith` पॉलीఫિલ્સ लोड करते जर ब्राउझर आधीपासूनच त्यांचे समर्थन करत नसेल.
3. बिल्ड टूल्ससह बंडलिंग
वेबपॅक, पार्सल आणि रोलअप सारख्या बिल्ड टूल्सचा वापर तुमच्या प्रोजेक्टच्या लक्ष्यित ब्राउझरवर आधारित पॉलीఫિલ્સ स्वयंचलितपणे समाविष्ट करण्यासाठी केला जाऊ शकतो. हा दृष्टिकोन पॉलीఫિલ્સ व्यवस्थापित करण्याची प्रक्रिया सुलभ करतो आणि सुनिश्चित करतो की अंतिम बंडलमध्ये केवळ आवश्यक पॉलीఫિલ્સ समाविष्ट आहेत. या टूल्समध्ये अनेकदा कॉन्फिगरेशन असतात जे तुम्हाला कोणते ब्राउझर समर्थन करायचे आहेत हे निर्दिष्ट करण्याची परवानगी देतात, आणि ते आपोआप योग्य पॉलीఫિલ્સ समाविष्ट करतील.
वैशिष्ट्य ओळख विरुद्ध ब्राउझर ओळख
पॉलीఫિલ્સ हाताळताना, वैशिष्ट्य ओळख (feature detection) आणि ब्राउझर ओळख (browser detection) यातील फरक समजून घेणे महत्त्वाचे आहे. ब्राउझर ओळखीपेक्षा वैशिष्ट्य ओळखीला सामान्यतः प्राधान्य दिले जाते.
- वैशिष्ट्य ओळख: यामध्ये ब्राउझरद्वारे विशिष्ट वैशिष्ट्य समर्थित आहे की नाही हे तपासणे समाविष्ट आहे. हा शिफारस केलेला दृष्टिकोन आहे कारण तो अधिक विश्वसनीय आहे. हे तुमच्या कोडला ब्राउझरच्या आवृत्तीची पर्वा न करता त्याच्या क्षमतेनुसार जुळवून घेण्यास अनुमती देते. जर एखादे वैशिष्ट्य उपलब्ध असेल, तर कोड त्याचा वापर करतो. नसल्यास, तो पॉलीफिल वापरतो.
- ब्राउझर ओळख: यामध्ये ब्राउझरचा प्रकार आणि आवृत्ती ओळखणे समाविष्ट आहे. ब्राउझर ओळख अविश्वसनीय असू शकते कारण वापरकर्ता एजंट्सना फसवले जाऊ शकते, आणि नवीन ब्राउझर किंवा आवृत्त्या वारंवार रिलीज होऊ शकतात, ज्यामुळे अचूक आणि अद्ययावत ब्राउझर ओळख धोरण राखणे कठीण होते.
वैशिष्ट्य ओळखीचे उदाहरण:
if (typeof String.prototype.startsWith !== 'function') {
// Load or include the startsWith polyfill
}
हा कोड `startsWith` पद्धत वापरण्यापूर्वी ती परिभाषित आहे की नाही हे तपासतो. नसल्यास, तो पॉलीफिल लोड करतो.
जावास्क्रिप्ट पॉलीफिल डेव्हलपमेंटसाठी सर्वोत्तम पद्धती
सर्वोत्तम पद्धतींचे पालन केल्याने तुमचे पॉलीఫિલ્સ कार्यक्षम, देखरेख करण्यायोग्य आणि सकारात्मक वापरकर्ता अनुभवात योगदान देतात हे सुनिश्चित होते:
- विद्यमान लायब्ररी वापरा: शक्य असेल तेव्हा, Polyfill.io, core-js, किंवा बॅबेल सारख्या चांगल्या प्रकारे देखरेख केलेल्या पॉलीफिल लायब्ररींचा लाभ घ्या. या लायब्ररी तपासलेल्या आणि ऑप्टिमाइझ केलेल्या असतात, ज्यामुळे तुमचा वेळ आणि श्रम वाचतो.
- वैशिष्ट्य ओळखीला प्राधान्य द्या: पॉलीफिल लागू करण्यापूर्वी नेहमी वैशिष्ट्य ओळखीचा वापर करा. यामुळे वैशिष्ट्यांचे समर्थन करणाऱ्या ब्राउझरमध्ये अनावश्यक पॉलीఫિલ્સ लोड होण्यापासून प्रतिबंध होतो, ज्यामुळे कार्यक्षमता सुधारते.
- पॉलीఫિલ્સ केंद्रित ठेवा: तुम्हाला आवश्यक असलेल्या वैशिष्ट्यांसाठी विशिष्ट पॉलीఫિલ્સ तयार करा. अत्यंत आवश्यक असल्याशिवाय मोठ्या, सामान्य पॉलीफिल स्क्रिप्ट्स समाविष्ट करणे टाळा.
- सखोल चाचणी करा: तुमचे पॉलीఫિલ્સ अपेक्षेप्रमाणे कार्य करतात याची खात्री करण्यासाठी त्यांची विविध ब्राउझर आणि वातावरणांमध्ये चाचणी करा. चाचणी प्रक्रिया सुलभ करण्यासाठी स्वयंचलित चाचणी फ्रेमवर्क वापरा. क्रॉस-ब्राउझर चाचणीसाठी BrowserStack किंवा Sauce Labs सारख्या साधनांचा वापर करण्याचा विचार करा.
- कार्यक्षमतेचा विचार करा: पॉलीఫિલ્સ तुमच्या कोडचा आकार वाढवू शकतात आणि संभाव्यतः कार्यक्षमतेवर परिणाम करू शकतात. कार्यक्षमतेसाठी तुमचे पॉलीఫિલ્સ ऑप्टिमाइझ करा आणि त्यांचा प्रभाव कमी करण्यासाठी कोड स्प्लिटिंग आणि लेझी लोडिंग सारख्या तंत्रांचा वापर करा.
- तुमच्या पॉलीఫિલ્સचे दस्तऐवजीकरण करा: तुमच्या पॉलीఫિલ્સचा उद्देश, वापर आणि मर्यादा स्पष्टपणे दस्तऐवजीकरण करा. यामुळे इतर डेव्हलपर्सना तुमचा कोड समजून घेणे आणि देखरेख करणे सोपे होते.
- अद्ययावत रहा: वेब मानक सतत विकसित होत आहेत. तुमचे पॉलीఫિલ્સ नवीनतम तपशील आणि ब्राउझर अंमलबजावणीसह अद्ययावत ठेवा.
- आवृत्ती नियंत्रण वापरा: तुमचा पॉलीफिल कोड व्यवस्थापित करण्यासाठी आवृत्ती नियंत्रण प्रणाली (उदा., गिट) वापरा. हे तुम्हाला बदलांचा मागोवा ठेवण्यास, इतर डेव्हलपर्ससोबत सहयोग करण्यास आणि आवश्यक असल्यास मागील आवृत्त्यांवर सहजपणे परत जाण्यास अनुमती देते.
- लघुकरण आणि ऑप्टिमाइझ करा: तुमच्या पॉलीफिल कोडचा आकार कमी करण्यासाठी आणि लोडिंग वेळ सुधारण्यासाठी त्याचे लघुकरण करा. या उद्देशासाठी UglifyJS किंवा Terser सारखी साधने वापरा. कार्यक्षमता आणखी वाढवण्यासाठी कोड ऑप्टिमायझेशन तंत्रांचा विचार करा.
- आंतरराष्ट्रीयीकरण आणि स्थानिकीकरण विचारात घ्या: जर तुमचे ऍप्लिकेशन एकाधिक भाषांना किंवा प्रदेशांना समर्थन देत असेल, तर तुमचे पॉलीఫિલ્સ स्थान-विशिष्ट वैशिष्ट्ये, जसे की तारीख आणि वेळ स्वरूपन, संख्या स्वरूपन, आणि मजकूर दिशा, योग्यरित्या हाताळतात याची खात्री करा.
वास्तविक-जगातील उदाहरणे आणि उपयोग प्रकरणे
चला काही विशिष्ट वास्तविक-जगातील उदाहरणे पाहूया जिथे पॉलीఫિલ્સ आवश्यक आहेत:
- तारीख आणि वेळ स्वरूपन: तारखा आणि वेळा प्रदर्शित करणाऱ्या वेब ऍप्लिकेशन्समध्ये, `Intl.DateTimeFormat` साठी पॉलीఫિલ્સ विविध ब्राउझर आणि लोकेलमध्ये सातत्यपूर्ण स्वरूपन सुनिश्चित करू शकतात. जागतिक प्रेक्षकांना सेवा देणाऱ्या ऍप्लिकेशन्ससाठी हे महत्त्वाचे आहे, कारण तारीख आणि वेळ स्वरूपने संस्कृतीनुसार लक्षणीयरीत्या बदलतात. कल्पना करा की एका बुकिंग वेबसाइटवर तारीख स्वरूपने सुसंगत नाहीत; यामुळे वापरकर्त्याच्या अनुभवावर नकारात्मक परिणाम होईल.
- Fetch API समर्थन: `fetch` API हे HTTP विनंत्या करण्यासाठी `XMLHttpRequest` ला एक आधुनिक पर्याय आहे. `fetch` साठी पॉलीఫિલ્સ या API चा वापर जुन्या ब्राउझरमध्ये सक्षम करतात, ज्यामुळे AJAX कॉल्स सोपे होतात आणि कोड अधिक वाचनीय बनतो. उदाहरणार्थ, एक जागतिक ई-कॉमर्स प्लॅटफॉर्म उत्पादन माहिती लोड करण्यासाठी, वापरकर्ता प्रमाणीकरण हाताळण्यासाठी आणि ऑर्डरवर प्रक्रिया करण्यासाठी `fetch` कॉल्सवर अवलंबून असतो; ही सर्व कार्ये सर्व ब्राउझरवर चालली पाहिजेत.
- Intersection Observer API: हे API डेव्हलपर्सना एखादे घटक व्ह्यूपोर्टमध्ये कधी प्रवेश करते किंवा बाहेर पडते हे कार्यक्षमतेने ओळखण्यास अनुमती देते. `Intersection Observer API` साठी पॉलीఫિલ્સ प्रतिमांचे लेझी लोडिंग सक्षम करतात, ज्यामुळे वेबसाइटची कार्यक्षमता सुधारते, विशेषतः कमी नेटवर्क कनेक्टिव्हिटी असलेल्या भागातील मोबाइल डिव्हाइसवर.
- वेब कंपोनंट्स: वेब कंपोनंट्ससाठी पॉलीఫિલ્સ जुन्या ब्राउझरमध्ये कस्टम एलिमेंट्स, शॅडो DOM, आणि HTML टेम्पलेट्सचा वापर करण्यास अनुमती देतात, ज्यामुळे वेब डेव्हलपमेंटसाठी अधिक मॉड्यूलर आणि पुन्हा वापरता येण्याजोगे कंपोनंट्स सक्षम होतात.
- ES6+ मॉड्यूल्स: मॉड्यूल समर्थन व्यापक होत असले तरी, काही जुन्या ब्राउझरना अजूनही ES6+ मॉड्यूल्सचा वापर सक्षम करण्यासाठी पॉलीఫિલ્સची आवश्यकता असते, ज्यामुळे कोडचे मॉड्यूलरेशन आणि सुधारित देखभाल सुलभ होते.
ही उदाहरणे विविध वापरकर्ता वातावरणांमध्ये कार्य करणारी वैशिष्ट्य-समृद्ध आणि कार्यक्षम वेब ऍप्लिकेशन्स तयार करण्यात पॉलीఫિલ્સचे व्यावहारिक फायदे अधोरेखित करतात.
निष्कर्ष
क्रॉस-ब्राउझर सुसंगत आणि जागतिक स्तरावर प्रवेशयोग्य वेब ऍप्लिकेशन्स तयार करण्याचे उद्दिष्ट ठेवणाऱ्या वेब डेव्हलपर्ससाठी जावास्क्रिप्ट पॉलीఫિલ્સ हे अपरिहार्य साधने आहेत. पॉलीफिल डेव्हलपमेंटची तत्त्वे समजून घेऊन, योग्य पॉलीఫિલ્સची अंमलबजावणी करून आणि सर्वोत्तम पद्धतींचे पालन करून, डेव्हलपर सर्व वापरकर्त्यांसाठी, त्यांच्या ब्राउझर किंवा डिव्हाइसची पर्वा न करता, एक सातत्यपूर्ण आणि सकारात्मक वापरकर्ता अनुभव सुनिश्चित करू शकतात. जसजसे वेब विकसित होत आहे, तसतसे अत्याधुनिक वेब तंत्रज्ञान आणि ब्राउझर समर्थनाची वास्तविकता यांच्यातील अंतर कमी करण्यात पॉलीఫિલ્સची भूमिका आवश्यक राहील. पॉलीఫિલ્સचा स्वीकार केल्याने डेव्हलपर्सना नवीनतम वेब मानकांचा लाभ घेता येतो आणि जागतिक प्रेक्षकांसाठी खऱ्या अर्थाने तयार असलेले ऍप्लिकेशन्स तयार करता येतात.