शुरुआती लोगों के लिए Node.js ट्यूटोरियल: 3 दिनों में चरण दर चरण सीखें

Node.js . का परिचय

आधुनिक वेब एप्लिकेशन ने पिछले कुछ वर्षों में कई लोकप्रिय फ्रेमवर्क जैसे बूटस्ट्रैप, एंगुलर जेएस आदि की शुरुआत के साथ वास्तव में एक लंबा सफर तय किया है। ये सभी फ्रेमवर्क लोकप्रिय पर आधारित हैं Javaलिपि ढांचा।

लेकिन जब सर्वर-आधारित अनुप्रयोगों को विकसित करने की बात आई, तो एक प्रकार का खालीपन था, और यहीं पर Node.js सामने आया।

Node.js भी इसी पर आधारित है Javaस्क्रिप्ट फ्रेमवर्क, लेकिन इसका उपयोग सर्वर-आधारित एप्लिकेशन विकसित करने के लिए किया जाता है। पूरे ट्यूटोरियल को देखते हुए, हम Node.js के बारे में विस्तार से जानेंगे और देखेंगे कि हम इसका उपयोग सर्वर-आधारित एप्लिकेशन विकसित करने के लिए कैसे कर सकते हैं।

Node.js पाठ्यक्रम

शुरुआती लोगों के लिए Node.js की मूल बातें

👉 Less1 पर Node.js डाउनलोड और इंस्टॉल करें — विंडोज पर Node.js और NPM को कैसे डाउनलोड और इंस्टॉल करें
👉 Less2 पर Node.js एनपीएम ट्यूटोरियल — बनाएँ, प्रकाशित करें, विस्तारित करें और प्रबंधित करें
👉 Less3 पर Node.js में HTTP वेब सर्वर बनाएं — कोड उदाहरण के साथ ट्यूटोरियल

Node.js उन्नत सामग्री!

👉 Less1 पर Node.js एक्सप्रेस फ्रेमवर्क ट्यूटोरियल — 10 मिनट में सीखें
👉 Less2 पर Node.js MongoDB ट्यूटोरियल — उदाहरणों सहित एक संपूर्ण मार्गदर्शिका
👉 Less3 पर Node.js प्रॉमिस ट्यूटोरियल — एक संपूर्ण गाइड Javaस्क्रिप्ट वादे
👉 Less4 पर ब्लूबर्ड प्रॉमिस ट्यूटोरियल — ब्लूबर्ड वादों के लिए एक संपूर्ण गाइड
👉 Less5 पर Node.js Generators — कॉलबैक बनाम Node.js क्या है? Generators
👉 Less6 पर नोड js स्ट्रीम्स ट्यूटोरियल — फ़ाइलस्ट्रीम, पाइप्स
👉 Less7 पर जैस्मीन के साथ Node.js यूनिट परीक्षण ट्यूटोरियल — एक संपूर्ण गाइड
👉 Less8 पर ग्राफ़क्यूएल ट्यूटोरियल — GraphQL क्या है? उदाहरण के साथ जानें

अंतर जानिए!

👉 Less1 पर ग्राफ़क्यूएल बनाम रेस्ट - क्या फर्क पड़ता है?
👉 Less2 पर Node.Js बनाम AngularJS — अंतर जानिए
👉 Less3 पर Node.js बनाम Python - क्या फर्क पड़ता है?

Node.js साक्षात्कार प्रश्न और ट्यूटोरियल पीडीएफ

👉 Less1 पर Node.js साक्षात्कार प्रश्न — शीर्ष 25 Node.js साक्षात्कार प्रश्न और उत्तर
👉 Less2 पर Node.js ट्यूटोरियल पीडीएफ — शुरुआती लोगों के लिए Node.js ट्यूटोरियल पीडीएफ डाउनलोड करें

Node.js क्या है?

Node.js एक ओपन-सोर्स, क्रॉस-प्लेटफ़ॉर्म रनटाइम वातावरण है जिसका उपयोग सर्वर-साइड वेब एप्लिकेशन के विकास के लिए किया जाता है। Node.js एप्लिकेशन को निम्न भाषा में लिखा जाता है: Javaस्क्रिप्ट है और इसे विभिन्न प्रकार के ऑपरेटिंग सिस्टम पर चलाया जा सकता है।

Node.js एक इवेंट-संचालित आर्किटेक्चर और एक नॉन-ब्लॉकिंग इनपुट/आउटपुट API पर आधारित है, जिसे वास्तविक समय वेब अनुप्रयोगों के लिए एप्लिकेशन के थ्रूपुट और स्केलेबिलिटी को अनुकूलित करने के लिए डिज़ाइन किया गया है।

लंबे समय से, वेब डेवलपमेंट के लिए उपलब्ध सभी फ्रेमवर्क स्टेटलेस मॉडल पर आधारित थे। स्टेटलेस मॉडल वह होता है, जिसमें एक सत्र में उत्पन्न डेटा (जैसे कि उपयोगकर्ता सेटिंग और घटित होने वाली घटनाओं के बारे में जानकारी) को उस उपयोगकर्ता के साथ अगले सत्र में उपयोग के लिए बनाए नहीं रखा जाता है।

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

Node.js का उपयोग क्यों करें?

हम आने वाले अध्यायों में Node.js के वास्तविक महत्व पर नज़र डालेंगे, लेकिन ऐसा क्या है जो इस फ्रेमवर्क को इतना प्रसिद्ध बनाता है। पिछले कुछ वर्षों में, अधिकांश एप्लिकेशन स्टेटलेस रिक्वेस्ट-रिस्पॉन्स फ्रेमवर्क पर आधारित थे। इस तरह के एप्लिकेशन में, यह सुनिश्चित करना डेवलपर पर निर्भर करता है कि उपयोगकर्ता द्वारा सिस्टम के साथ काम करते समय वेब सत्र की स्थिति को बनाए रखने के लिए सही कोड डाला गया था।

लेकिन Node.js वेब एप्लिकेशन के साथ, अब आप वास्तविक समय में काम कर सकते हैं और 2-तरफ़ा संचार कर सकते हैं। स्थिति बनाए रखी जाती है, और क्लाइंट या सर्वर संचार शुरू कर सकते हैं।

Node.js की विशेषताएं

आइए Node.js की कुछ प्रमुख विशेषताओं पर नज़र डालें

  1. एसिंक्रोनस इवेंट-ड्रिवन IO समवर्ती अनुरोध हैंडलिंग में मदद करता है - यह संभवतः Node.js का सबसे महत्वपूर्ण विक्रय बिंदु है। इस सुविधा का मूल रूप से मतलब है कि यदि नोड को किसी इनपुट/आउटपुट ऑपरेशन के लिए अनुरोध प्राप्त होता है, तो यह पृष्ठभूमि में ऑपरेशन को निष्पादित करेगा और अन्य अनुरोधों को संसाधित करना जारी रखेगा।
    यह अन्य प्रोग्रामिंग भाषाओं से काफी अलग है। इसका एक सरल उदाहरण नीचे दिए गए कोड में दिया गया है
var fs = require('fs'); 
          fs.readFile("Sample.txt",function(error,data)
          {
                console.log("Reading Data completed");
     });
  • उपरोक्त कोड स्निपेट Sample.txt नामक फ़ाइल को पढ़ने पर विचार करता है। अन्य प्रोग्रामिंग भाषाओं में, प्रोसेसिंग की अगली पंक्ति केवल तभी होगी जब पूरी फ़ाइल पढ़ ली जाएगी।
  • लेकिन Node.js के मामले में कोड का सबसे महत्वपूर्ण हिस्सा जो ध्यान देने योग्य है, वह है फ़ंक्शन की घोषणा ('function(error,data)')। इसे कॉलबैक फ़ंक्शन के रूप में जाना जाता है।
  • तो यहाँ क्या होता है कि फ़ाइल पढ़ने का कार्य पृष्ठभूमि में शुरू हो जाएगा। और फ़ाइल को पढ़ते समय अन्य प्रोसेसिंग एक साथ हो सकती है। एक बार फ़ाइल पढ़ने का कार्य पूरा हो जाने पर, यह अनाम फ़ंक्शन कॉल किया जाएगा, और "डेटा पढ़ना पूरा हुआ" पाठ कंसोल लॉग में लिखा जाएगा।
  1. नोड V8 का उपयोग करता है Javaस्क्रिप्ट रनटाइम इंजन, जिसका उपयोग किया जाता है Google Chrome. नोड के ऊपर एक आवरण होता है Javaस्क्रिप्ट इंजन रनटाइम इंजन को अधिक तीव्र बनाता है और इसलिए नोड के भीतर अनुरोधों का प्रसंस्करण भी तेज हो जाता है।
  2. समवर्ती अनुरोधों का प्रबंधन - नोड की एक अन्य प्रमुख कार्यक्षमता एकल प्रक्रिया पर बहुत कम ओवरहेड के साथ समवर्ती कनेक्शन को संभालने की क्षमता है।
  3. Node.js लाइब्रेरी का उपयोग करता है Javaस्क्रिप्ट - यह Node.js में विकास का एक और महत्वपूर्ण पहलू है। विकास समुदाय का एक बड़ा हिस्सा पहले से ही जावास्क्रिप्ट में पारंगत है, और इसलिए, Node.js में विकास एक डेवलपर के लिए आसान हो जाता है जो जावास्क्रिप्ट जानता है।
  4. Node.js फ्रेमवर्क के लिए एक सक्रिय और जीवंत समुदाय है। सक्रिय समुदाय की वजह से, फ्रेमवर्क के लिए हमेशा महत्वपूर्ण अपडेट उपलब्ध होते हैं। इससे फ्रेमवर्क को वेब डेवलपमेंट में नवीनतम रुझानों के साथ हमेशा अप-टू-डेट रखने में मदद मिलती है।

Node.js का उपयोग कौन करता है?

Node.js का इस्तेमाल कई बड़ी कंपनियां करती हैं। नीचे उनमें से कुछ की सूची दी गई है।

  • पेपैल - पेपैल के अंतर्गत बहुत सारी साइटों ने भी नोड.जेएस पर संक्रमण शुरू कर दिया है।
  • लिंक्डइन - लिंक्डइन अपने काम को आगे बढ़ाने के लिए Node.js का उपयोग कर रहा है मोबाइल सर्वर, जो iPhone को शक्ति प्रदान करता है, Android, और मोबाइल वेब उत्पाद।
  • मोज़िला ने ब्राउज़र APIs को समर्थन देने के लिए Node.js को क्रियान्वित किया है, जिसके आधे बिलियन इंस्टाल हैं।
  • eBay अपनी HTTP API सेवा को Node.js में होस्ट करता है

Node.js का उपयोग कब करें

Node.js स्ट्रीमिंग या इवेंट-आधारित वास्तविक समय अनुप्रयोगों में उपयोग के लिए सबसे अच्छा है जैसे

  1. चैट अनुप्रयोगों
  2. गेम सर्वर - तेज़ और उच्च-प्रदर्शन वाले सर्वर जिन्हें एक समय में हजारों अनुरोधों को संसाधित करने की आवश्यकता होती है, तो यह एक आदर्श फ्रेमवर्क है।
  3. सहयोगात्मक वातावरण के लिए अच्छा - यह उन वातावरणों के लिए अच्छा है जो दस्तावेज़ों का प्रबंधन करते हैं। दस्तावेज़ प्रबंधन वातावरण में, आपके पास कई लोग होंगे जो अपने दस्तावेज़ पोस्ट करते हैं और दस्तावेज़ों को चेक आउट और चेक इन करके लगातार बदलाव करते हैं। इसलिए Node.js इन वातावरणों के लिए अच्छा है क्योंकि जब भी दस्तावेज़ प्रबंधित वातावरण में दस्तावेज़ बदले जाते हैं, तो Node.js में इवेंट लूप को ट्रिगर किया जा सकता है।
  4. विज्ञापन सर्वर - यहां भी आपके पास केंद्रीय सर्वर से विज्ञापन खींचने के लिए हजारों अनुरोध हो सकते हैं और Node.js इसे संभालने के लिए एक आदर्श ढांचा हो सकता है।
  5. स्ट्रीमिंग सर्वर - नोड का उपयोग करने के लिए एक और आदर्श परिदृश्य मल्टीमीडिया स्ट्रीमिंग सर्वर के लिए है, जिसमें क्लाइंट के पास इस सर्वर से विभिन्न मल्टीमीडिया सामग्री खींचने का अनुरोध होता है।

जब आपको उच्च स्तर की समवर्तीता की आवश्यकता हो, लेकिन कम समर्पित CPU समय की आवश्यकता हो, तो Node.js अच्छा है।

सबसे अच्छी बात यह है कि चूंकि Node.js जावास्क्रिप्ट पर बनाया गया है, इसलिए यह सबसे उपयुक्त है जब आप क्लाइंट-साइड एप्लिकेशन बनाते हैं जो समान जावास्क्रिप्ट फ्रेमवर्क पर आधारित होते हैं।

Node.js का उपयोग कब न करें

Node.js का उपयोग विभिन्न उद्देश्यों के लिए बहुत से अनुप्रयोगों के लिए किया जा सकता है। एकमात्र परिदृश्य जहाँ इसका उपयोग नहीं किया जाना चाहिए वह है जहाँ लंबे समय तक प्रसंस्करण समय होता है, जो अनुप्रयोग के लिए आवश्यक है।

नोड को सिंगल-थ्रेडेड होने के लिए संरचित किया गया है। यदि किसी एप्लिकेशन को पृष्ठभूमि में कुछ लंबे समय तक चलने वाली गणनाएँ करने की आवश्यकता होती है, तो वह किसी अन्य अनुरोध को संसाधित करने में सक्षम नहीं होगा। जैसा कि ऊपर चर्चा की गई है, Node.js का सबसे अच्छा उपयोग वहाँ किया जाता है जहाँ प्रसंस्करण के लिए कम समर्पित CPU समय की आवश्यकता होती है।