paint-brush
फ्रंट-एंड डेवलपमेंट के लिए सर्वोत्तम अभ्यासद्वारा@yantsishko
33,456 रीडिंग
33,456 रीडिंग

फ्रंट-एंड डेवलपमेंट के लिए सर्वोत्तम अभ्यास

द्वारा Yan Tsishko6m2022/12/23
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

फ्रंट-एंड डेवलपमेंट में वेबसाइट के विजुअल और इंटरएक्टिव पहलुओं को बनाना शामिल है। एक सहज उपयोगकर्ता अनुभव बनाने के लिए यह सुनिश्चित करना आवश्यक है कि आपका कोड अनुकूलित, रखरखाव योग्य है और उद्योग मानकों का पालन करता है। फ्रंट-एंड प्रोजेक्ट पर काम करते समय ध्यान रखने योग्य कुछ सर्वोत्तम प्रथाएँ यहाँ दी गई हैं।
featured image - फ्रंट-एंड डेवलपमेंट के लिए सर्वोत्तम अभ्यास
Yan Tsishko HackerNoon profile picture

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


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


  1. सिमेंटिक HTML टैग्स : सिमेंटिक HTML टैग्स का उपयोग कोड की पहुंच और पठनीयता में सुधार करने में मदद करता है। उदाहरण के लिए, हेडर का प्रतिनिधित्व करने के लिए एक div टैग का उपयोग करने के बजाय, आप header टैग का उपयोग कर सकते हैं। यह सामग्री को अधिक अर्थ देता है और स्क्रीन पाठकों के लिए व्याख्या करना आसान बनाता है।
 <!-- Not semantic --> <div class="header"> <h1>Welcome to my website</h1> </div> <!-- Semantic --> <header> <h1>Welcome to my website</h1> </header>


  1. सीएसएस प्रीप्रोसेसर : सीएसएस प्रीप्रोसेसर, जैसे एसएएसएस या लेस, सीएसएस में उन्नत सुविधाओं और तकनीकों का उपयोग करने की अनुमति देते हैं जो वैनिला सीएसएस में उपलब्ध नहीं हैं। उदाहरण के लिए, शैलियों को अधिक व्यवस्थित और बनाए रखने योग्य बनाने के लिए आप चर, मिश्रण और नेस्टेड नियमों का उपयोग कर सकते हैं।
 /* 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; }


  1. js, CSS और छवियों के लिए सामग्री वितरण नेटवर्क (CDN) का उपयोग करें : CDN सर्वर का एक नेटवर्क है जो उपयोगकर्ता की भौगोलिक स्थिति के आधार पर सामग्री वितरित करता है। CDN का उपयोग करने से उपयोगकर्ता और सर्वर के बीच की दूरी को कम करके प्रदर्शन में सुधार किया जा सकता है। इसके अलावा, यह फाइलों की कैशिंग की अनुमति देता है।
 <!-- 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>


  1. छवियों और अन्य संपत्तियों को अनुकूलित करें: छवियों और अन्य संपत्तियों को अनुकूलित करने से वेबसाइट के प्रदर्शन और गति में सुधार करने में मदद मिल सकती है। यह छवियों को संपीड़ित करने, उचित छवि फ़ाइल स्वरूपों का उपयोग करने और आलसी लोडिंग छवियों जैसी तकनीकों के माध्यम से किया जा सकता है।
 <img src="compressed-image.jpg" alt="A compressed image" loading="lazy">


  1. उत्तरदायी छवियां : उत्तरदायी छवियां ऐसी छवियां होती हैं जिन्हें विभिन्न स्क्रीन आकारों और उपकरणों के लिए उचित रूप से स्केल किया जाता है। यह 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" >


  1. वेक्टर ग्राफिक्स : वेक्टर ग्राफिक्स ऐसी छवियां हैं जो पिक्सेल के बजाय बिंदुओं और पथों द्वारा परिभाषित की जाती हैं, और गुणवत्ता खोए बिना किसी भी आकार में स्केल की जा सकती हैं। यह उन्हें उपयोग करने के लिए और अधिक कुशल बना सकता है, विशेष रूप से ग्राफिक्स के लिए जो विभिन्न आकारों में प्रदर्शित होंगे।
 <svg width="200" height="200"> <circle cx="100" cy="100" r="50" fill="#000000" /> </svg>


  1. इमेज स्प्राइट्स का उपयोग करें : एक इमेज स्प्राइट एक सिंगल इमेज है जिसमें कई छोटी इमेज होती हैं, जिन्हें CSS में background-position प्रॉपर्टी का उपयोग करके प्रदर्शित किया जा सकता है। यह छवियों को लोड करने, प्रदर्शन में सुधार करने के लिए आवश्यक HTTP अनुरोधों की संख्या को कम कर सकता है।
 .icon1 { background-image: url('icons.png'); background-position: 0 0; } .icon2 { background-image: url('icons.png'); background-position: -20px 0; }


अभिगम्यता सिद्धांत

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


  1. aria-label उस तत्व के लिए एक लेबल प्रदान करता है जिसमें दृश्य लेबल नहीं होता है। यह बटन या आइकन जैसे तत्वों के लिए उपयोगी हो सकता है जिनमें टेक्स्ट लेबल नहीं होते हैं।
 <button aria-label="Search"><i class="search"></i></button>


  1. aria-required प्रदान करता है आवश्यक प्रपत्र फ़ील्ड इंगित करता है। aria-required विशेषता का उपयोग यह इंगित करने के लिए किया जा सकता है कि प्रपत्र फ़ील्ड आवश्यक है। यह उपयोगकर्ताओं और सहायक तकनीकों को सचेत करने में मदद कर सकता है कि प्रपत्र जमा करने के लिए फ़ील्ड को भरना आवश्यक है।
 <label for="name">Name</label> <input type="text" id="name" name="name" required aria-required="true">


  1. aria-hidden विशेषता सहायक तकनीकों से किसी तत्व को छिपाने की अनुमति देती है। यह सजावटी तत्वों के लिए उपयोगी हो सकता है जो महत्वपूर्ण जानकारी नहीं देते हैं।
 <img src="decorative.jpg" alt="" aria-hidden="true">


  1. 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>


  1. सामग्री के अपडेट की घोषणा करने के लिए aria-livearia-live विशेषता का उपयोग यह इंगित करने के लिए किया जा सकता है कि किसी तत्व की सामग्री को अतुल्यकालिक रूप से अपडेट किया जा सकता है। यह सामग्री के अपडेट की घोषणा करने के लिए उपयोगी हो सकता है, जैसे सहायक तकनीकों के लिए नए संदेश या सूचनाएं।
 <div id="notifications" aria-live="polite"> <p>You have 1 new message</p> </div>


  1. 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 के रूप में, त्रुटियों के लिए कोड की जाँच करता है और सुधारों का सुझाव देता है, यह सुनिश्चित करने में मदद करता है कि कोड सुसंगत है और सर्वोत्तम प्रथाओं का पालन करता है।

निष्कर्ष

फ्रंट-एंड डेवलपमेंट में कई प्रकार के अभ्यास और तकनीक शामिल हैं जो वेबसाइट के प्रदर्शन और उपयोगकर्ता अनुभव को बेहतर बनाने में मदद कर सकते हैं।


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