फ्रंट-एंड डेवलपमेंट में एक वेबसाइट या एप्लिकेशन के विज़ुअल और इंटरएक्टिव पहलुओं को बनाना शामिल है जिसे उपयोगकर्ता देखते हैं और उससे बातचीत करते हैं।
यह सुनिश्चित करना कि आपका फ्रंट-एंड कोड अनुकूलित, रखरखाव योग्य है और उद्योग मानकों का पालन करता है, एक सहज उपयोगकर्ता अनुभव बनाने के लिए आवश्यक है। फ़्रंट-एंड प्रोजेक्ट पर काम करते समय ध्यान रखने योग्य कुछ सर्वोत्तम प्रथाएँ यहाँ दी गई हैं:
div
टैग का उपयोग करने के बजाय, आप header
टैग का उपयोग कर सकते हैं। यह सामग्री को अधिक अर्थ देता है और स्क्रीन पाठकों के लिए व्याख्या करना आसान बनाता है। <!-- Not semantic --> <div class="header"> <h1>Welcome to my website</h1> </div> <!-- Semantic --> <header> <h1>Welcome to my website</h1> </header>
/* Css */ .btn { color: #ffffff; background-color: #000000; font-size: 16px; border-radius: 5px; } /* Sass */ $primary-color: #000000; $secondary-color: #ffffff; $font-size: 16px; $border-radius: 5px; .btn { color: $secondary-color; background-color: $primary-color; font-size: $font-size; border-radius: $border-radius; }
<!-- Not using a CDN --> <script src="/scripts/jquery.js"></script> <!-- Using a CDN --> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script>
<img src="compressed-image.jpg" alt="A compressed image" loading="lazy">
img
टैग पर srcset
और size विशेषताओं के उपयोग के माध्यम से किया जा सकता sizes
। <img srcset="image-small.jpg 500w, image-medium.jpg 1000w, image-large.jpg 1500w" sizes="(max-width: 500px) 500px, (max-width: 1000px) 1000px, 1500px" src="image-large.jpg" alt="An image" >
<svg width="200" height="200"> <circle cx="100" cy="100" r="50" fill="#000000" /> </svg>
background-position
प्रॉपर्टी का उपयोग करके प्रदर्शित किया जा सकता है। यह छवियों को लोड करने, प्रदर्शन में सुधार करने के लिए आवश्यक HTTP अनुरोधों की संख्या को कम कर सकता है। .icon1 { background-image: url('icons.png'); background-position: 0 0; } .icon2 { background-image: url('icons.png'); background-position: -20px 0; }
सुगम्यता सिद्धांतों का पालन करने से आपकी वेबसाइट को विकलांग लोगों के लिए अधिक समावेशी और उपयोग में आसान बनाने में मदद मिलती है। यह तकनीकों के माध्यम से प्राप्त किया जा सकता है जैसे छवियों के लिए ऑल्ट टेक्स्ट प्रदान करना, उचित शीर्षक संरचना का उपयोग करना और उचित प्रपत्र लेबल जोड़ना।
aria-label
उस तत्व के लिए एक लेबल प्रदान करता है जिसमें दृश्य लेबल नहीं होता है। यह बटन या आइकन जैसे तत्वों के लिए उपयोगी हो सकता है जिनमें टेक्स्ट लेबल नहीं होते हैं। <button aria-label="Search"><i class="search"></i></button>
aria-required
प्रदान करता है आवश्यक प्रपत्र फ़ील्ड इंगित करता है। aria-required
विशेषता का उपयोग यह इंगित करने के लिए किया जा सकता है कि प्रपत्र फ़ील्ड आवश्यक है। यह उपयोगकर्ताओं और सहायक तकनीकों को सचेत करने में मदद कर सकता है कि प्रपत्र जमा करने के लिए फ़ील्ड को भरना आवश्यक है। <label for="name">Name</label> <input type="text" id="name" name="name" required aria-required="true">
aria-hidden
विशेषता सहायक तकनीकों से किसी तत्व को छिपाने की अनुमति देती है। यह सजावटी तत्वों के लिए उपयोगी हो सकता है जो महत्वपूर्ण जानकारी नहीं देते हैं। <img src="decorative.jpg" alt="" aria-hidden="true">
aria-expanded
एक बंधनेवाला तत्व की स्थिति को इंगित करने की अनुमति देता है। aria-expanded
विशेषता का उपयोग यह इंगित करने के लिए किया जा सकता है कि ड्रॉपडाउन मेनू जैसे एक संक्षिप्त तत्व, वर्तमान में विस्तारित या संक्षिप्त है या नहीं। यह तत्व की वर्तमान स्थिति के बारे में उपयोगकर्ताओं और सहायक तकनीकों को सचेत करने में मदद कर सकता है। <button aria-expanded="false" aria-controls="menu">Menu</button> <ul id="menu" aria-hidden="true"> <li>Option 1</li> <li>Option 2</li> <li>Option 3</li> </ul>
aria-live
। aria-live
विशेषता का उपयोग यह इंगित करने के लिए किया जा सकता है कि किसी तत्व की सामग्री को अतुल्यकालिक रूप से अपडेट किया जा सकता है। यह सामग्री के अपडेट की घोषणा करने के लिए उपयोगी हो सकता है, जैसे सहायक तकनीकों के लिए नए संदेश या सूचनाएं। <div id="notifications" aria-live="polite"> <p>You have 1 new message</p> </div>
aria-describedby
एक तत्व का विवरण प्रदान करने की अनुमति देता है। aria-describedby
विशेषता का उपयोग उस तत्व को निर्दिष्ट करने के लिए किया जा सकता है जो वर्तमान तत्व के लिए विवरण प्रदान करता है। यह प्रपत्र फ़ील्ड या अन्य इंटरैक्टिव तत्वों के लिए अतिरिक्त संदर्भ या निर्देश प्रदान करने के लिए उपयोगी हो सकता है। <label for="email">Email address</label> <input type="email" id="email" name="email" aria-describedby="email-description"> <p id="email-description">Please enter your email address</p>
जावास्क्रिप्ट एक शक्तिशाली और लचीली प्रोग्रामिंग भाषा है, लेकिन यह संसाधन-गहन भी हो सकती है। इसलिए, यह सुनिश्चित करने के लिए अपने जावास्क्रिप्ट कोड को अनुकूलित करना महत्वपूर्ण है कि यह कुशलतापूर्वक चलता है और आपकी वेबसाइट या एप्लिकेशन के समग्र प्रदर्शन को प्रभावित नहीं करता है।
यहाँ JavaScript प्रदर्शन को अनुकूलित करने के लिए कुछ सुझाव दिए गए हैं:
मुख्य थ्रेड को ब्लॉक करने से बचें : मुख्य थ्रेड उपयोगकर्ता इंटरैक्शन को संभालने और पेज को रेंडर करने के लिए ज़िम्मेदार है, इसलिए इसे लंबे समय तक चलने वाले या संसाधन-गहन कार्यों से ब्लॉक करने से बचना महत्वपूर्ण है। इसके बजाय, इन कार्यों को अन्य थ्रेड्स पर ऑफ़लोड करने के लिए वेब वर्कर्स या एसिंक्रोनस फ़ंक्शंस का उपयोग करने पर विचार करें।
कोड विभाजन आपको जावास्क्रिप्ट कोड को छोटे हिस्सों में विभाजित करने की अनुमति देता है जिसे मांग पर लोड किया जा सकता है। यह शुरुआत में लोड और पार्स किए जाने वाले कोड की मात्रा को कम करके प्रदर्शन में सुधार कर सकता है। कोड विभाजन को लागू करने के लिए आप वेबपैक या रोलअप जैसे टूल का उपयोग कर सकते हैं।
आलसी लोडिंग आपको सामग्री की लोडिंग में तब तक देरी करने की अनुमति देती है जब तक कि इसकी आवश्यकता न हो। यह शुरुआत में लोड किए जाने वाले डेटा की मात्रा को कम करके प्रदर्शन में सुधार कर सकता है। आलसी लोडिंग को लागू करने के लिए आप IntersectionObserver
एपीआई का उपयोग कर सकते हैं।
// Lazy loading with IntersectionObserver const observer = new IntersectionObserver((entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { // Load content observer.unobserve(entry.target); } }); }); document.querySelectorAll('[data-lazy]').forEach((element) => { observer.observe(element); });
Cache API
का उपयोग कर सकते हैं। if ('caches' in window) { caches.open('my-cache').then((cache) => { cache.add('/data.json').then(() => { console.log('Data added to cache'); }); }); }
प्रदर्शन निगरानी उपकरण : एक प्रदर्शन निगरानी उपकरण वेबसाइट के प्रदर्शन को ट्रैक करने और संभावित मुद्दों की पहचान करने की अनुमति देता है। यह वेबसाइट के प्रदर्शन को अनुकूलित करने और उपयोगकर्ता अनुभव को बेहतर बनाने में मदद कर सकता है। कुछ लोकप्रिय उपकरणों में लाइटहाउस और स्पीड कर्व शामिल हैं।
लाइनिंग टूल : ESLint के रूप में, त्रुटियों के लिए कोड की जाँच करता है और सुधारों का सुझाव देता है, यह सुनिश्चित करने में मदद करता है कि कोड सुसंगत है और सर्वोत्तम प्रथाओं का पालन करता है।
फ्रंट-एंड डेवलपमेंट में कई प्रकार के अभ्यास और तकनीक शामिल हैं जो वेबसाइट के प्रदर्शन और उपयोगकर्ता अनुभव को बेहतर बनाने में मदद कर सकते हैं।
आप जिन सर्वोत्तम प्रथाओं का पालन कर सकते हैं उनमें छवियों और अन्य संपत्तियों का अनुकूलन, अभिगम्यता सिद्धांतों का पालन करना और जावास्क्रिप्ट अनुकूलन शामिल हैं। इन सर्वोत्तम प्रथाओं का पालन करके, आप उच्च-गुणवत्ता वाली और अच्छा प्रदर्शन करने वाली वेबसाइटें बना सकते हैं जो एक शानदार उपयोगकर्ता अनुभव प्रदान करती हैं।