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

हमारा काम हमारे इतिहास में एक ऐसे बिंदु पर हुआ जब जेएस, अजाक्स और गतिशील HTML को एक क्रांति के रूप में देखा गया जो हमें भविष्य में ले आई। अचानक, हम एक पेज को गतिशील रूप से अपडेट कर सकते थे, एक सर्वर से डेटा प्राप्त कर सकते थे, और अन्य पेजों पर नेविगेट करने से बच सकते थे, जिसे धीमा देखा गया और दो पेजों के बीच स्क्रीन पर एक बड़ा सफेद आयत दिखाई दिया। जेफ एटवुड (स्टैक ओवरफ़्लो के संस्थापक) द्वारा लोकप्रिय बनाया गया एक वाक्यांश था, जिसमें लिखा था: "कोई भी एप्लिकेशन जो जावास्क्रिप्ट में लिखा जा सकता है, अंततः जावास्क्रिप्ट में ही लिखा जाएगा।" - जेफ एटवुड

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

आज तक तेजी से आगे बढ़ें. चीजें काफी बदल गई हैं. न केवल हमारे पास ये क्षमताएं पहले से कहीं अधिक हैं, बल्कि उनके उपलब्ध होने की दर भी बढ़ी है। तो फिर मैं फिर से प्रश्न पूछना चाहता हूँ: क्या वेब कैसे काम करता है और प्लेटफ़ॉर्म पर क्या उपलब्ध है, इसके बारे में अधिक जानने के लिए समय निकालने से आज आपको मदद मिलेगी? बिल्कुल हाँ। आज वेब प्लेटफ़ॉर्म को समझना और उसका उपयोग करना सीखना आपको अन्य डेवलपर्स की तुलना में बड़े लाभ की स्थिति में रखता है। चाहे आप प्रदर्शन, पहुंच, जवाबदेही, इन सभी पर एक साथ काम करते हैं, या सिर्फ यूआई सुविधाओं को शिपिंग करते हैं, यदि आप इसे एक जिम्मेदार इंजीनियर के रूप में करना चाहते हैं, तो आपके लिए उपलब्ध टूल को जानने से आपको अपने लक्ष्यों तक तेजी से और बेहतर तरीके से पहुंचने में मदद मिलती है। कुछ चीज़ें जिनके लिए अब आपको लाइब्रेरी की आवश्यकता नहीं होगी यह जानने के बाद कि आज ब्राउज़र किसका समर्थन करते हैं, सवाल यह है: हम क्या छोड़ सकते हैं? क्या हमें 2025 में गोलाकार कोनों को करने के लिए एक div घटक की आवश्यकता है? निःसंदेह, हम ऐसा नहीं करते। बॉर्डर-रेडियस प्रॉपर्टी को इस समय 15 वर्षों से अधिक समय से वर्तमान में उपयोग किए जाने वाले सभी ब्राउज़रों द्वारा समर्थित किया गया है। और अधिक आकर्षक कोनों के लिए कोने का आकार भी जल्द ही आ रहा है। आइए अपेक्षाकृत हाल की सुविधाओं पर एक नज़र डालें जो अब सभी प्रमुख ब्राउज़रों में उपलब्ध हैं, और जिनका उपयोग आप अपने कोडबेस में मौजूदा निर्भरता को बदलने के लिए कर सकते हैं। मुद्दा यह नहीं है कि आप अपनी सभी प्रिय लाइब्रेरीज़ को तुरंत हटा दें और अपने कोडबेस को फिर से लिखें। बाकी सभी चीज़ों के लिए, आपको पहले ब्राउज़र समर्थन को ध्यान में रखना होगा और अपने प्रोजेक्ट के लिए विशिष्ट अन्य कारकों के आधार पर निर्णय लेना होगा। निम्नलिखित सुविधाएँ तीन मुख्य ब्राउज़र इंजनों (क्रोमियम, वेबकिट और गेको) में लागू की गई हैं, लेकिन आपके पास अलग-अलग ब्राउज़र समर्थन आवश्यकताएँ हो सकती हैं जो आपको तुरंत उनका उपयोग करने से रोकती हैं। हालाँकि, अभी भी इन सुविधाओं के बारे में जानने का एक अच्छा समय है, और शायद किसी बिंदु पर उनका उपयोग करने की योजना है। पॉपओवर और डायलॉग पॉपओवर एपीआई, <डायलॉग> HTML तत्व और ::बैकड्रॉप छद्म तत्व आपको पॉपअप पर निर्भरता से छुटकारा पाने में मदद कर सकते हैं,टूलटिप, और डायलॉग लाइब्रेरी, जैसे फ़्लोटिंग यूआई, टिप्पी.जेएस, टीथर, या रिएक्ट टूलटिप। वे आपके लिए एक्सेसिबिलिटी और फोकस प्रबंधन को लीक से हटकर संभालते हैं, सीएसएस का उपयोग करके अत्यधिक अनुकूलन योग्य हैं, और आसानी से एनिमेटेड हो सकते हैं। अकॉर्डियन <विवरण> तत्व, परस्पर अनन्य तत्वों के लिए इसका नाम विशेषता, और :: विवरण-सामग्री छद्म-तत्व बूटस्ट्रैप अकॉर्डियन या रिएक्ट अकॉर्डियन घटक जैसे अकॉर्डियन घटकों की आवश्यकता को हटा देता है। यहां प्लेटफ़ॉर्म का उपयोग करने का मतलब है कि HTML/CSS जानने वाले लोगों के लिए किसी विशिष्ट लाइब्रेरी का उपयोग करना सीखे बिना आपके कोड को समझना आसान है। इसका मतलब यह भी है कि आप लाइब्रेरी में बदलावों को तोड़ने या उस लाइब्रेरी को बंद करने से प्रतिरक्षित हैं। और, निःसंदेह, इसका अर्थ है डाउनलोड करने और चलाने के लिए कम कोड। परस्पर अनन्य विवरण तत्वों को खोलने, बंद करने या चेतन करने के लिए JS की आवश्यकता नहीं होती है। सीएसएस सिंटैक्स कैस्केड परतें, अधिक व्यवस्थित सीएसएस कोडबेस के लिए, सीएसएस नेस्टिंग, अधिक कॉम्पैक्ट सीएसएस के लिए, नए रंग फ़ंक्शन, सापेक्ष रंग और रंग-मिश्रण, नए गणित फ़ंक्शन जैसे एब्स(), साइन(), पाउ() और अन्य सीएसएस प्री-प्रोसेसर, बूटस्ट्रैप और टेलविंड जैसे उपयोगिता लाइब्रेरी, या यहां तक कि रनटाइम सीएसएस-इन-जेएस लाइब्रेरी पर निर्भरता को कम करने में मदद करते हैं। गेम चेंजर :has(), लंबे समय से सबसे अधिक अनुरोधित सुविधाओं में से एक, अधिक जटिल जेएस-आधारित समाधानों की आवश्यकता को हटा देता है। जेएस उपयोगिताएँ आधुनिक ऐरे विधियां जैसे फाइंडलास्ट (), या एट (), साथ ही अंतर (), इंटरसेक्शन (), यूनियन () और अन्य जैसी सेट विधियां लॉडैश जैसे पुस्तकालयों पर निर्भरता को कम कर सकती हैं। कंटेनर क्वेरीज़ कंटेनर क्वेरीज़ यूआई घटकों को व्यूपोर्ट आकार के अलावा अन्य चीजों पर प्रतिक्रिया देती हैं, और इसलिए उन्हें विभिन्न संदर्भों में अधिक पुन: प्रयोज्य बनाती हैं। इसके लिए अब जेएस-हेवी यूआई लाइब्रेरी का उपयोग करने की आवश्यकता नहीं है, और पॉलीफ़िल का उपयोग करने की भी आवश्यकता नहीं है। लेआउट ग्रिड, सबग्रिड, फ्लेक्सबॉक्स, या मल्टी-कॉलम काफी समय से मौजूद हैं, लेकिन स्टेट ऑफ सीएसएस सर्वेक्षणों के परिणामों को देखते हुए, यह स्पष्ट है कि डेवलपर्स नई चीजों को अपनाने में बहुत सतर्क रहते हैं, और ऐसा करने से पहले बहुत लंबे समय तक इंतजार करते हैं। ये सुविधाएँ लंबे समय से बेसलाइन हैं और आप इनका उपयोग बूटस्ट्रैप के ग्रिड सिस्टम, फाउंडेशन फ्रेमवर्क के फ्लेक्सबॉक्स यूटिलिटीज, बुलमा फिक्स्ड ग्रिड, मटेरियलाइज ग्रिड या टेलविंड कॉलम जैसी चीजों पर निर्भरता से छुटकारा पाने के लिए कर सकते हैं। मैं यह नहीं कह रहा हूं कि आपको अपना ढांचा छोड़ देना चाहिए। आपकी टीम ने इसे किसी कारण से अपनाया है, और इसे हटाना एक बड़ी परियोजना हो सकती है। लेकिन यह देखने पर कि शीर्ष पर किसी तृतीय-पक्ष आवरण के बिना वेब प्लेटफ़ॉर्म क्या पेशकश कर सकता है, बहुत सारे लाभ लाता है। ऐसी चीज़ें जिनकी आपको निकट भविष्य में आवश्यकता नहीं होगी अब, आइए कुछ ऐसी चीज़ों पर एक नज़र डालें जिनके लिए निकट भविष्य में आपको लाइब्रेरी की आवश्यकता नहीं होगी। कहने का तात्पर्य यह है कि नीचे दी गई चीजें बड़े पैमाने पर अपनाने के लिए बिल्कुल तैयार नहीं हैं, लेकिन उनके बारे में जागरूक होना और बाद में संभावित उपयोग की योजना बनाना मददगार हो सकता है। एंकर पोजिशनिंग सीएसएस एंकर पोजिशनिंग अन्य तत्वों के सापेक्ष पॉपओवर और टूलटिप्स की स्थिति को संभालती है, और पृष्ठ को स्थानांतरित करने, स्क्रॉल करने या आकार बदलने पर भी उन्हें ध्यान में रखने का ख्याल रखती है। यह पहले बताए गए पॉपओवर एपीआई का एक बेहतरीन पूरक है, जो अधिक प्रदर्शन-गहन जेएस समाधानों से दूर जाना और भी आसान बना देगा। नेविगेशन एपीआई नेविगेशन एपीआई का उपयोग सिंगल-पेज ऐप्स में नेविगेशन को संभालने के लिए किया जा सकता है और यह रिएक्ट राउटर, नेक्स्ट.जेएस रूटिंग या एंगुलर रूटिंग कार्यों के लिए एक बेहतरीन पूरक या प्रतिस्थापन भी हो सकता है। ट्रांज़िशन एपीआई देखें व्यू ट्रांज़िशन एपीआई किसी पृष्ठ की विभिन्न स्थितियों के बीच एनिमेट कर सकता है। एकल-पृष्ठ एप्लिकेशन पर, यह राज्यों के बीच सहज बदलाव को बहुत आसान बनाता है, और आपको Anime.js, GSAP, या Motion.dev जैसी एनीमेशन लाइब्रेरी से छुटकारा पाने में मदद कर सकता है। इससे भी बेहतर, एपीआई का उपयोग एकाधिक-पृष्ठ अनुप्रयोगों के साथ भी किया जा सकता है। पहले याद करें, जब मैंने कहा था कि जिस कंपनी में मैंने 15 साल पहले काम किया था, वहां हमने सिंगल-पेज ऐप्स का निर्माण नेविगेशन करते समय पेज रीलोड के सफेद फ्लैश से बचने के लिए किया था? यदि वह एपीआई उस समय उपलब्ध होती, तो हम एकल-पृष्ठ ढांचे के बिना और संपूर्ण ऐप के विशाल प्रारंभिक डाउनलोड के बिना सुंदर पृष्ठ संक्रमण प्रभाव प्राप्त करने में सक्षम होते। स्क्रॉल-संचालित एनिमेशन स्क्रॉल-संचालित एनिमेशन समय के बजाय उपयोगकर्ता की स्क्रॉल स्थिति पर चलते हैं, जिससे वे कहानी कहने और उत्पाद भ्रमण के लिए एक बेहतरीन समाधान बन जाते हैं। कुछ लोग इसके साथ कुछ हद तक आगे बढ़ गए हैं, लेकिन जब अच्छी तरह से उपयोग किया जाता है, तो यह एक बहुत प्रभावी डिज़ाइन टूल हो सकता है, और लाइब्रेरीज़ से छुटकारा पाने में मदद कर सकता है जैसे: स्क्रॉलरिवील, जीएसएपी स्क्रॉल, यावाह.जे.एस. अनुकूलन योग्य चयन एक अनुकूलन योग्य चयन एक सामान्य

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free