नोड.जेएस: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(13 intermediate revisions by 3 users not shown)
Line 14: Line 14:
}}
}}


'''नोड.js''' एक [[क्रॉस-प्लेटफॉर्म]], [[Index.php?title=ओपन-सोर्स सर्वर|ओपन-सोर्स सर्वर]] है। जो [[Index.php?title=माइक्रोसॉफ़्ट विंडोज़|माइक्रोसॉफ़्ट विंडोज़]], [[Index.php?title=लिनक्स|लिनक्स]], [[Index.php?title=यूनिक्स|यूनिक्स]], [[Index.php?title=मैक OS|मैक OS]], और अन्य पर चल सकता है। नोड.js एक [[Index.php?title=बैक-एंड|बैक-एंड]] [[जावास्क्रिप्ट]] [[Index.php?title=रनटाइम क्लाइमेट|रनटाइम क्लाइमेट]] है, जो V8 [[जावास्क्रिप्ट इंजन]] पर चलता है, और एक [[वेब ब्राउज़र]] के बाहर जावास्क्रिप्ट कोड निष्पादित करता है।
'''नोड.js''' एक [[क्रॉस-प्लेटफॉर्म]], [[Index.php?title=ओपन-सोर्स सर्वर|ओपन-सोर्स सर्वर]] है। जो [[Index.php?title=माइक्रोसॉफ़्ट विंडोज़|माइक्रोसॉफ़्ट विंडोज़]], [[Index.php?title=लिनक्स|लिनक्स]], [[Index.php?title=यूनिक्स|यूनिक्स]], [[Index.php?title=मैक OS|मैक OS]], जो अन्य पर चल सकता है। नोड.js एक [[Index.php?title=बैक-एंड|बैक-एंड]] [[जावास्क्रिप्ट]] [[Index.php?title=Index.php?title=Index.php?title= कार्यावधि परिवेश|कार्यावधि परिवेश]] है, जो V8 [[जावास्क्रिप्ट इंजन]] पर चलते है, और एक [[वेब ब्राउज़र]] के बाहर जावास्क्रिप्ट कोड निष्पादित करते है।


नोड.js डेवलपर्स को कमांड लाइन टूल लिखने और [[सर्वर-साइड स्क्रिप्टिंग]]  के लिए जावास्क्रिप्ट का उपयोग करने देता है। सर्वर पर जावास्क्रिप्ट कोड चलाने की क्षमता का उपयोग अधिकांशतः उपयोगकर्ता के वेब ब्राउज़र पर पेज भेजे जाने से पहले [[गतिशील वेब पेज]] सामग्री उत्पन्न करने के लिए किया जाता है। नतीजतन, नोड.js एक "हर जगह जावास्क्रिप्ट" प्रतिमान का प्रतिनिधित्व करता है,<ref>{{cite web |last=gcuomo |date=24 October 2013 |title=जावास्क्रिप्ट हर जगह और तीन एमिगोस (जंगली नीले रंग में!)|url=https://www.ibm.com/developerworks/community/blogs/gcuomo/entry/javascript_everywhere_and_the_three_amigos?lang=en |access-date=2013-10-24 |website=www.ibm.com}}</ref> सर्वर बनाम क्लाइंट-साइड प्रोग्रामिंग के लिए विभिन्न लैंगुएजेस का उपयोग करने के विपरीत, एक ही प्रोग्रामिंग लैंग्वेज वेब-एप्लिकेशन विकास को एकीकृत करता है।
नोड.js डेवलपर्स को कमांड लाइन टूल लिखने और [[सर्वर-साइड स्क्रिप्टिंग]]  के लिए जावास्क्रिप्ट का उपयोग करने देता है। सर्वर पर जावास्क्रिप्ट कोड चलाने की क्षमता अधिकांशतः उपयोगकर्ता के वेब ब्राउज़र पर पेज भेजे जाने से पहले [[गतिशील वेब पेज]] सामग्री उत्पन्न करने के लिए किया जाता है। फलस्वरूप, नोड.js एक जावास्क्रिप्ट प्रतिमान का प्रतिनिधित्व करते है,<ref>{{cite web |last=gcuomo |date=24 October 2013 |title=जावास्क्रिप्ट हर जगह और तीन एमिगोस (जंगली नीले रंग में!)|url=https://www.ibm.com/developerworks/community/blogs/gcuomo/entry/javascript_everywhere_and_the_three_amigos?lang=en |access-date=2013-10-24 |website=www.ibm.com}}</ref> सर्वर बनाम उपभोगता-ओर प्रोग्रामिंग के लिए विभिन्न भाषाओं का उपयोग करने के विपरीत, एक ही प्रोग्रामिंग भाषा के आसपास वेब-एप्लिकेशन विकास को एकीकृत करता है।


नोड.js में एक [[Index.php?title=इवेंट-संचालित आर्किटेक्चर|इवेंट-संचालित आर्किटेक्चर]] है जो एसिंक्रोनस I/O में सक्षम है। इन डिज़ाइन विकल्पों का उद्देश्य कई इनपुट/आउटपुट संचालन के साथ-साथ वास्तविक समय [[Index.php?title=वेब अनुप्रयोगों|वेब अनुप्रयोगों]] के साथ वेब अनुप्रयोगों में [[Index.php?title=थ्रूपुट|थ्रूपुट]] और [[Index.php?title=स्केलेबिलिटी|स्केलेबिलिटी]] को अनुकूलित करना है।<ref name="readwrite">{{cite web |author=Laurent Orsini |date=2013-11-07 |title=आपको नोड.जेएस के बारे में क्या जानने की आवश्यकता है|url=http://readwrite.com/2013/11/07/what-you-need-to-know-about-nodejs |access-date=2022-02-06 |website=readwrite.com}}</ref>
नोड.js में एक [[Index.php?title=Index.php?title= वृत्तांत-संचालित वास्तुकला|वृत्तांत-संचालित वास्तुकला]] है जो अतुल्यकालिक I/O में सक्षम है। इन डिज़ाइन विकल्पों का उद्देश्य कई इनपुट/आउटपुट संचालन के साथ-साथ वास्तविक समय [[Index.php?title=वेब अनुप्रयोगों|वेब अनुप्रयोगों]] के साथ वेब अनुप्रयोगों में [[Index.php?title=Index.php?title= संदेश प्रवाह|संदेश प्रवाह]] और [[Index.php?title=Index.php?title= विस्‍तार क्षमता|विस्‍तार क्षमता]] को अनुकूलित करना है।<ref name="readwrite">{{cite web |author=Laurent Orsini |date=2013-11-07 |title=आपको नोड.जेएस के बारे में क्या जानने की आवश्यकता है|url=http://readwrite.com/2013/11/07/what-you-need-to-know-about-nodejs |access-date=2022-02-06 |website=readwrite.com}}</ref>


नोड.js [[वितरित विकास]] परियोजना पहले नोड.js फाउंडेशन द्वारा शासित थी,<ref>{{cite web |title=नोड.जेएस फाउंडेशन - नोड.जेएस|url=https://nodejs.org/foundation/ |access-date=4 July 2015 |website=nodejs.org}}</ref> और अब ओपन [[Index.php?title=JS फाउंडेशन|JS फाउंडेशन]] बनाने के लिए JS फाउंडेशन के साथ विलय कर दिया गया है। ओपन JS फाउंडेशन को [[Index.php?title=लिनक्स फाउंडेशन|लिनक्स फाउंडेशन]] के सहयोगात्मक परियोजना कार्यक्रम द्वारा सुविधा प्रदान की जाती है।<ref>{{cite web |date=2015-07-04 |title=लिनक्स फाउंडेशन सहयोगी परियोजनाएं|url=http://collabprojects.linuxfoundation.org/ |access-date=4 July 2015 |website=linuxfoundation.org}}</ref>
नोड.js [[वितरित विकास]] परियोजना पहले नोड.js फाउंडेशन द्वारा शासित थी,<ref>{{cite web |title=नोड.जेएस फाउंडेशन - नोड.जेएस|url=https://nodejs.org/foundation/ |access-date=4 July 2015 |website=nodejs.org}}</ref> और अब ओपन [[Index.php?title=JS फाउंडेशन|JS फाउंडेशन]] बनाने के लिए JS फाउंडेशन के साथ विलय कर दिया गया है। ओपन JS फाउंडेशन को [[Index.php?title=लिनक्स फाउंडेशन|लिनक्स फाउंडेशन]] के सहयोगात्मक परियोजना कार्यक्रम द्वारा सुविधा प्रदान की जाती है।<ref>{{cite web |date=2015-07-04 |title=लिनक्स फाउंडेशन सहयोगी परियोजनाएं|url=http://collabprojects.linuxfoundation.org/ |access-date=4 July 2015 |website=linuxfoundation.org}}</ref>


नोड.js सॉफ़्टवेयर के कॉर्पोरेट उपयोगकर्ताओं में [[Index.php?title=गोडैडी|गोडैडी]],<ref>[https://venturebeat.com/2015/02/10/why-godaddys-nodejitsu-deal-is-great-for-node-js/ Why GoDaddy's Nodejitsu deal is great for Node.js], [[VentureBeat]], 10 February 2015</ref> [[Index.php?title=ग्रूपन|ग्रूपन]],<ref>{{cite web|last= Geitgey|first= Adam|title= I-Tier: Dismantling the Monoliths|url= https://engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/|publisher= Groupon|access-date= 30 April 2014|date= 30 October 2013|archive-date= 10 September 2015|archive-url= https://web.archive.org/web/20150910022429/https://engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/|url-status= dead}}</ref> [[Index.php?title= IBM|IBM]],<ref>{{cite web|url= http://www.ibm.com/bluemix|title= आईबीएम ब्लूमिक्स|website= [[IBM]]|access-date = 4 July 2015}}</ref> [[Index.php?title=लिंक्डइन|लिंक्डइन]],<ref name="vbliipad">{{cite web | url= https://venturebeat.com/2012/05/02/linkedin-ipad-app-engineering/ | title= आप कभी विश्वास नहीं करेंगे कि लिंक्डइन ने अपना नया iPad ऐप कैसे बनाया| publisher= VentureBeat | date= 2 May 2012 | access-date = 10 May 2012}}</ref><ref>{{cite web | url= http://engineering.linkedin.com/nodejs/blazing-fast-nodejs-10-performance-tips-linkedin-mobile | title= Blazing fast node.js: 10 performance tips from LinkedIn Mobile | access-date = 7 April 2015}}</ref> [[Index.php?title=माइक्रोसाफ्ट|माइक्रोसाफ्ट]],<ref name="guardianMS">{{cite news | url= https://www.theguardian.com/technology/blog/2011/nov/09/programming-microsoft | title= यही कारण है कि आपको खुश होना चाहिए कि Microsoft Node.js को अपना रहा है| work= The Guardian | date= 9 November 2011 | access-date = 10 May 2012 | location= London | first= Matthew | last= Baxter-Reynolds}}</ref><ref>{{cite web | url= http://www.hanselman.com/blog/WebMatrix2FrontEndWebDevelopersTakeNoteASPNETPHPNodejsAndMore.aspx | title= WebMatrix - फ्रंट एंड वेब डेवलपर्स ध्यान दें (ASP.NET, PHP, node.js और अधिक)| access-date = 2 August 2014}}</ref> [[Index.php?title=नेटफ्लिक्स|नेटफ्लिक्स]],<ref>[http://techblog.netflix.com/2014/11/nodejs-in-flames.html Node.js in Flames] 19 November 2014</ref> [[पेपैल]],<ref>{{cite web | url= https://www.youtube.com/watch?v=tZWGb0HU2QM  |archive-url=https://ghostarchive.org/varchive/youtube/20211215/tZWGb0HU2QM |archive-date=2021-12-15 |url-status=live| title= Clash of the Titans: Releasing the Kraken, NodeJS @paypal | publisher= fluentconf.com | date= 28 May 2013 | access-date = 11 September 2013}}{{cbignore}}</ref><ref>{{cite web | url= https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node | title= ऐसी सभी कंपनियाँ और उनके उत्पाद जिनमें Node.js का उपयोग किया जाता है| website= [[GitHub]] | access-date = 2 August 2014}}</ref> [[Index.php?title=SAP|SAP]]<ref name="sapappbuilder">{{cite web|url=http://help.sap.com/appbuilder|title=एसएपी ऐपबिल्डर|date=10 March 2014|publisher=SAP|archive-url=https://web.archive.org/web/20140212112431/http://help.sap.com/appbuilder|archive-date=12 February 2014|access-date=10 October 2018|url-status=dead}}</ref> [[ वॉल-मार्ट | वॉल-मार्ट]] ,<ref name="vbwalmart">{{cite web | url= https://venturebeat.com/2012/01/24/why-walmart-is-using-node-js/ | title= वॉलमार्ट Node.js का उपयोग क्यों कर रहा है| publisher= VentureBeat | date= 24 January 2012 | access-date = 10 May 2012}}</ref> याहू !,<ref>{{cite web | url= https://codebrahma.com/node-js-development-company// | title= आपको वास्तव में क्यों चाहिए (ए) नोड.जेएस विकास सेवाएं| publisher= codebrahma | date= 10 January 2018 | access-date = 10 January 2018}}</ref> और [[Index.php?title=अमेज़ॅन वेब सर्विसेज|अमेज़ॅन वेब सर्विसेज]] सम्मलित हैं। <ref>{{cite web | url= https://aws.amazon.com/getting-started/hands-on/deploy-nodejs-web-app/ | title= Node.js वेब ऐप तैनात करें - AWS पर अत्यधिक उपलब्ध Node.js वेब एप्लिकेशन लॉन्च करें और चलाएं| publisher= amazon.com | access-date = 3 October 2020}}</ref>
नोड.js सॉफ़्टवेयर के संगठित उपयोगकर्ताओं में [[Index.php?title=गोडैडी|गोडैडी]],<ref>[https://venturebeat.com/2015/02/10/why-godaddys-nodejitsu-deal-is-great-for-node-js/ Why GoDaddy's Nodejitsu deal is great for Node.js], [[VentureBeat]], 10 February 2015</ref> [[Index.php?title=ग्रूपन|ग्रूपन]],<ref>{{cite web|last= Geitgey|first= Adam|title= I-Tier: Dismantling the Monoliths|url= https://engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/|publisher= Groupon|access-date= 30 April 2014|date= 30 October 2013|archive-date= 10 September 2015|archive-url= https://web.archive.org/web/20150910022429/https://engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/|url-status= dead}}</ref> [[Index.php?title= IBM|IBM]],<ref>{{cite web|url= http://www.ibm.com/bluemix|title= आईबीएम ब्लूमिक्स|website= [[IBM]]|access-date = 4 July 2015}}</ref> [[Index.php?title=लिंक्डइन|लिंक्डइन]],<ref name="vbliipad">{{cite web | url= https://venturebeat.com/2012/05/02/linkedin-ipad-app-engineering/ | title= आप कभी विश्वास नहीं करेंगे कि लिंक्डइन ने अपना नया iPad ऐप कैसे बनाया| publisher= VentureBeat | date= 2 May 2012 | access-date = 10 May 2012}}</ref><ref>{{cite web | url= http://engineering.linkedin.com/nodejs/blazing-fast-nodejs-10-performance-tips-linkedin-mobile | title= Blazing fast node.js: 10 performance tips from LinkedIn Mobile | access-date = 7 April 2015}}</ref> [[Index.php?title=माइक्रोसाफ्ट|माइक्रोसाफ्ट]],<ref name="guardianMS">{{cite news | url= https://www.theguardian.com/technology/blog/2011/nov/09/programming-microsoft | title= यही कारण है कि आपको खुश होना चाहिए कि Microsoft Node.js को अपना रहा है| work= The Guardian | date= 9 November 2011 | access-date = 10 May 2012 | location= London | first= Matthew | last= Baxter-Reynolds}}</ref><ref>{{cite web | url= http://www.hanselman.com/blog/WebMatrix2FrontEndWebDevelopersTakeNoteASPNETPHPNodejsAndMore.aspx | title= WebMatrix - फ्रंट एंड वेब डेवलपर्स ध्यान दें (ASP.NET, PHP, node.js और अधिक)| access-date = 2 August 2014}}</ref> [[Index.php?title=नेटफ्लिक्स|नेटफ्लिक्स]],<ref>[http://techblog.netflix.com/2014/11/nodejs-in-flames.html Node.js in Flames] 19 November 2014</ref> [[पेपैल]],<ref>{{cite web | url= https://www.youtube.com/watch?v=tZWGb0HU2QM  |archive-url=https://ghostarchive.org/varchive/youtube/20211215/tZWGb0HU2QM |archive-date=2021-12-15 |url-status=live| title= Clash of the Titans: Releasing the Kraken, NodeJS @paypal | publisher= fluentconf.com | date= 28 May 2013 | access-date = 11 September 2013}}{{cbignore}}</ref><ref>{{cite web | url= https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node | title= ऐसी सभी कंपनियाँ और उनके उत्पाद जिनमें Node.js का उपयोग किया जाता है| website= [[GitHub]] | access-date = 2 August 2014}}</ref> [[Index.php?title=SAP|SAP]]<ref name="sapappbuilder">{{cite web|url=http://help.sap.com/appbuilder|title=एसएपी ऐपबिल्डर|date=10 March 2014|publisher=SAP|archive-url=https://web.archive.org/web/20140212112431/http://help.sap.com/appbuilder|archive-date=12 February 2014|access-date=10 October 2018|url-status=dead}}</ref> [[ वॉल-मार्ट | वॉल-मार्ट]] ,<ref name="vbwalmart">{{cite web | url= https://venturebeat.com/2012/01/24/why-walmart-is-using-node-js/ | title= वॉलमार्ट Node.js का उपयोग क्यों कर रहा है| publisher= VentureBeat | date= 24 January 2012 | access-date = 10 May 2012}}</ref> याहू !,<ref>{{cite web | url= https://codebrahma.com/node-js-development-company// | title= आपको वास्तव में क्यों चाहिए (ए) नोड.जेएस विकास सेवाएं| publisher= codebrahma | date= 10 January 2018 | access-date = 10 January 2018}}</ref> और [[Index.php?title=अमेज़ॅन वेब सर्विसेज|अमेज़ॅन वेब सर्विसेज]] सम्मलित हैं। <ref>{{cite web | url= https://aws.amazon.com/getting-started/hands-on/deploy-nodejs-web-app/ | title= Node.js वेब ऐप तैनात करें - AWS पर अत्यधिक उपलब्ध Node.js वेब एप्लिकेशन लॉन्च करें और चलाएं| publisher= amazon.com | access-date = 3 October 2020}}</ref>






== इतिहास ==
== इतिहास ==
[[File:Ryan Dahl.jpg|thumb|रयान डाहल, 2010 में Node.js के निर्माता|alt=]]नोड.js को आरंभ में 2009 में [[रयान डाहल]] द्वारा लिखा गया था,<ref name="training.com">{{cite web |date=2016-09-11 |title=About Node.js, and why you should add Node.js to your skill set? |url=http://blog.training.com/2016/09/about-nodejs-and-why-you-should-add.html |access-date=23 October 2016 |website=Training.com |publisher=Training.com |ref=training.com}}</ref> पहले सर्वर-साइड जावास्क्रिप्ट वातावरण, नेटस्केप के लाइववायर प्रो वेब आरंभ के लगभग 13 साल बाद विकसित किया था।<ref>{{Cite news |last=Staff |first=CNET News |date=1996-10-15 |title=नेटस्केप इंट्रानेट हमले को खोलता है|language=en |work=CNET |url=https://www.cnet.com/news/netscape-opens-intranet-attack/ |access-date=2017-04-20}}</ref> प्रारंभिक रिलीज़ केवल लिनक्स और मैक OS का समर्थन किया था।<ref name="Google Groups post by Ryan Dahl about Joyent">{{cite web |url= https://groups.google.com/forum/#!topic/nodejs/lWo0MbHZ6Tc|title= जॉयंट और नोड|author= Ryan Dahl|publisher= Google Groups|date= 2010-11-09|access-date = 2015-02-05}}</ref>
[[File:Ryan Dahl.jpg|thumb|रयान डाहल, 2010 में नोड.js के निर्माता|alt=]]नोड.js का आरंभ 2009 में [[रयान डाहल]] द्वारा लिखा गया था,<ref name="training.com">{{cite web |date=2016-09-11 |title=About Node.js, and why you should add Node.js to your skill set? |url=http://blog.training.com/2016/09/about-nodejs-and-why-you-should-add.html |access-date=23 October 2016 |website=Training.com |publisher=Training.com |ref=training.com}}</ref> पहले सर्वर-साइड जावास्क्रिप्ट क्लाइमेट, नेटस्केप के लाइववायर प्रो वेब आरंभ के लिये लगभग 13 साल बाद विकसित किया था।<ref>{{Cite news |last=Staff |first=CNET News |date=1996-10-15 |title=नेटस्केप इंट्रानेट हमले को खोलता है|language=en |work=CNET |url=https://www.cnet.com/news/netscape-opens-intranet-attack/ |access-date=2017-04-20}}</ref> प्रारंभिक लोकार्पण केवल लिनक्स और मैक OS का समर्थन किया था।<ref name="Google Groups post by Ryan Dahl about Joyent">{{cite web |url= https://groups.google.com/forum/#!topic/nodejs/lWo0MbHZ6Tc|title= जॉयंट और नोड|author= Ryan Dahl|publisher= Google Groups|date= 2010-11-09|access-date = 2015-02-05}}</ref>
डाहल ने 2009 में सबसे लोकप्रिय वेब सर्वर,[[ अपाचे HTTP सर्वर ]]की सीमित संभावनाओं की आलोचना की, जिसमें बहुत सारे समवर्ती कनेक्शन और कोड बनाने का सबसे सामान्य (अनुक्रमिक प्रोग्रामिंग) को संभालने की क्षमता थी, जब कोड या तो अवरुद्ध हो जाता था। तो एक साथ कनेक्शन की स्थिति में संपूर्ण प्रक्रिया या निहित एकाधिक निष्पादन स्तंभ है।<ref>{{cite web |last=Garbar |first=Dzmitry |title=PHP 7 vs Node.js? They Can Be Partners, Not Competitors For a Developer! |url=https://belitsoft.com/php-development-services/php7-vs-nodejs |access-date=21 December 2016 |website=belitsoft.com}}</ref>
डाहल ने 2009 में सबसे लोकप्रिय वेब सर्वर,[[ अपाचे HTTP सर्वर ]]की सीमित संभावनाओं की आलोचना की, जिसमें बहुत सारे समवर्ती कनेक्शन और कोड बनाने का सबसे सामान्य (अनुक्रमिक प्रोग्रामिंग) को संभालने की क्षमता थी, जब कोड अवरुद्ध हो जाता था। तो एक साथ कनेक्शन की स्थिति में संपूर्ण प्रक्रिया या निहित एकाधिक निष्पादन स्तंभ हो जाती थी।<ref>{{cite web |last=Garbar |first=Dzmitry |title=PHP 7 vs Node.js? They Can Be Partners, Not Competitors For a Developer! |url=https://belitsoft.com/php-development-services/php7-vs-nodejs |access-date=21 December 2016 |website=belitsoft.com}}</ref>


डाहल ने 8 नवंबर 2009 को उद्घाटन यूरोपीय js कॉन्फ में इस परियोजना का प्रदर्शन किया।<ref name="b3">[https://books.google.com/books?id=KGt-FxUEj48C&dq=nodejs&pg=PT24 Sams Teach Yourself Node.js in 24 Hours], Sams Publishing, 05-Sep-2012</ref><ref>{{Cite web |last=Ubl |first=Malte |date=2009-09-09 |title=JSConf.eu 2009, Berlin, Germany |url=https://www.jsconf.eu/2009/speaker/speakers_selected.html |access-date=2009-09-09 |website=www.jsconf.eu}}</ref><ref>{{Cite web|url=https://www.youtube.com/watch?v=ztspvPYybIY |archive-url=https://ghostarchive.org/varchive/youtube/20211215/ztspvPYybIY |archive-date=2021-12-15 |url-status=live|title=Ryan Dahl: Original Node.js presentation|via=www.youtube.com}}{{cbignore}}</ref> नोड.js ने [[Index.php?title= गूगल|गूगल]] के [[Index.php?title=क्रोम V8|क्रोम V8]] जावास्क्रिप्ट इंजन, एक [[Index.php?title=इवेंट लूप|इवेंट लूप]] और एक निम्न-स्तरीय I/O [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] को संयोजित किया था।<ref name="b1">[https://books.google.com/books?id=ZH6bpbcrlvYC&q=nodejs Professional Node.js: Building JavaScript Based Scalable Software], John Wiley & Sons, 01-Oct-2012</ref>
डाहल ने 8 नवंबर 2009 को उद्घाटन यूरोपीय js कॉन्फ में इस परियोजना का प्रदर्शन किया था।<ref name="b3">[https://books.google.com/books?id=KGt-FxUEj48C&dq=nodejs&pg=PT24 Sams Teach Yourself Node.js in 24 Hours], Sams Publishing, 05-Sep-2012</ref><ref>{{Cite web |last=Ubl |first=Malte |date=2009-09-09 |title=JSConf.eu 2009, Berlin, Germany |url=https://www.jsconf.eu/2009/speaker/speakers_selected.html |access-date=2009-09-09 |website=www.jsconf.eu}}</ref><ref>{{Cite web|url=https://www.youtube.com/watch?v=ztspvPYybIY |archive-url=https://ghostarchive.org/varchive/youtube/20211215/ztspvPYybIY |archive-date=2021-12-15 |url-status=live|title=Ryan Dahl: Original Node.js presentation|via=www.youtube.com}}{{cbignore}}</ref> नोड.js ने [[Index.php?title= गूगल|गूगल]] के [[Index.php?title=क्रोम V8|क्रोम V8]] जावास्क्रिप्ट इंजन, एक [[Index.php?title=इवेंट लूप|इवेंट लूप]] और एक निम्न-स्तरीय I/O [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] को संयोजित किया था।<ref name="b1">[https://books.google.com/books?id=ZH6bpbcrlvYC&q=nodejs Professional Node.js: Building JavaScript Based Scalable Software], John Wiley & Sons, 01-Oct-2012</ref>


जनवरी 2010 में, नोड.js क्लाइमेट के लिए npm नामक एक [[Index.php?title=Index.php?title=पैकेज मैनेजर|पैकेज मैनेजर]] उपस्थित किया गया था।<ref>{{cite web |url=https://github.com/npm/npm/releases?after=v0.1.1 |title=एनपीएम की सबसे पुरानी रिलीज|website=GitHub |access-date = 27 July 2016}}</ref> पैकेज मैनेजर प्रोग्रामर्स के लिए नोड.js पैकेजों के स्रोत कोड को प्रकाशित और समिति करना और आसान बनाना है और इसे पैकेजों की स्थापना, अद्यतन और संस्थापन को सरल बनाने के लिए डिज़ाइन किया गया है। <ref name="b1" />
जनवरी 2010 में, नोड.js क्लाइमेट के लिए npm नामक एक [[Index.php?title=Index.php?title=Index.php?title=पैकेज प्रबंधक|पैकेज प्रबंधक]] उपस्थित किया गया था।<ref>{{cite web |url=https://github.com/npm/npm/releases?after=v0.1.1 |title=एनपीएम की सबसे पुरानी रिलीज|website=GitHub |access-date = 27 July 2016}}</ref> पैकेज प्रबंधक प्रोग्रामर्स के लिए नोड.js पैकेजों के स्रोत कोड को प्रकाशित और समिति करना और आसान बनाना है और इसे पैकेजों की स्थापना, अद्यतन और संस्थापन को सरल बनाने के लिए डिज़ाइन किया गया है। <ref name="b1" />


जून 2011 में, माइक्रोसॉफ्ट और जॉयंट ने नोड.js का एक देशी विंडोज़ संस्करण लागू किया थ।[33] विंडोज़ को सपोर्ट करने वाला पहला नोड.js बिल्ड जुलाई 2011 में जारी किया गया था।
जून 2011 में, माइक्रोसॉफ्ट और जॉयंट ने नोड.js का एक देशी विंडोज़ संस्करण लागू किया थ।[33] विंडोज़ को सपोर्ट करने वाला पहला नोड.js बिल्ड जुलाई 2011 में जारी किया गया था।


जनवरी 2012 में, डाहल ने परियोजना का प्रबंधन करने के लिए सहकर्मी और [[Index.php?title=NPM|NPM]] निर्माता इसहाक श्लुएटर को बढ़ावा देते हुए पद छोड़ दिया था। <ref>{{cite web|url=//groups.google.com/forum/#!topic/nodejs/hfajgpvGTLY|title=नया द्वारपाल|last=Dahl|first=Ryan|access-date = 26 October 2013}}</ref> जनवरी 2014 में, श्लुएटर ने घोषणा की कि टिमोथी J. फॉन्टेन इस परियोजना का नेतृत्व करेंगे।<ref>{{cite web|url=https://nodejs.org/en/blog/uncategorized/tj-fontaine-new-node-lead/|title=Node.js का अगला चरण|last=Schlueter|first= Isaac|date=15 January 2014|access-date = 21 January 2014}}</ref>
जनवरी 2012 में, डाहल ने परियोजना का प्रबंधन करने के लिए सहकर्मी और [[Index.php?title=NPM|NPM]] निर्माता इसहाक श्लुएटर को बढ़ावा दिया था। <ref>{{cite web|url=//groups.google.com/forum/#!topic/nodejs/hfajgpvGTLY|title=नया द्वारपाल|last=Dahl|first=Ryan|access-date = 26 October 2013}}</ref> जनवरी 2014 में, श्लुएटर ने घोषणा की कि टिमोथी J. फॉन्टेन इस परियोजना का नेतृत्व करेंगे।<ref>{{cite web|url=https://nodejs.org/en/blog/uncategorized/tj-fontaine-new-node-lead/|title=Node.js का अगला चरण|last=Schlueter|first= Isaac|date=15 January 2014|access-date = 21 January 2014}}</ref>


दिसंबर 2014 में, फेडर इंडुटनी ने io.js शुरू किया, जो नोड.js का एक हिस्सा है। जॉयंट के शासन पर आंतरिक संघर्ष के कारण, io.js को एक अलग तकनीकी समिति के साथ एक खुले शासन विकल्प के रूप में बनाया गया था।<ref name="Krill, Paul">{{cite web | url=http://www.javaworld.com/article/2855639/open-source-tools/qanda-why-io-js-decided-to-fork-node-js.html | title=क्यों io.js ने फोर्क नोड.जेएस का फैसला किया| publisher=JavaWorld | date=4 December 2014 | access-date = Dec 15, 2014 | author=Krill, Paul}}</ref><ref name="iwtw">[http://www.infoworld.com/article/2855057/application-development/why-iojs-decided-to-fork-nodejs.html Q&A: Why io.js decided to fork Node.js], [[InfoWorld]] Tech Watch</ref> नोड.js के विपरीत,<ref>{{cite web | url=https://code.google.com/p/v8/issues/detail?id=3692#c3 | title=Issue 3692: function suddenly becomes undefined | publisher=V8 JavaScript Engine Issues | author=Ben Noordhuis | date=12 November 2014 | access-date = 2 February 2015}}</ref> लेखकों ने io.js को गूगल V8 जावास्क्रिप्ट इंजन की नवीनतम रिलीज़ के साथ अद्यतन रखने की योजना बनाई है।<ref name="Mikeal, Rogers">{{cite web | url=https://medium.com/node-js-javascript/state-of-io-js-2b3094e6f923 | title=io.js की स्थिति| date=28 January 2015 | access-date = 2 February 2015 | author=Mikeal, Rogers}}</ref>
दिसंबर 2014 में, फेडर इंडुटनी ने io.js प्रारंभ किया, जो नोड.js का एक हिस्सा है। जॉयंट के शासन पर आंतरिक संघर्ष के कारण, io.js को एक अलग तकनीकी समिति के साथ एक खुले शासन विकल्प के रूप में बनाया गया था।<ref name="Krill, Paul">{{cite web | url=http://www.javaworld.com/article/2855639/open-source-tools/qanda-why-io-js-decided-to-fork-node-js.html | title=क्यों io.js ने फोर्क नोड.जेएस का फैसला किया| publisher=JavaWorld | date=4 December 2014 | access-date = Dec 15, 2014 | author=Krill, Paul}}</ref><ref name="iwtw">[http://www.infoworld.com/article/2855057/application-development/why-iojs-decided-to-fork-nodejs.html Q&A: Why io.js decided to fork Node.js], [[InfoWorld]] Tech Watch</ref> नोड.js के विपरीत,<ref>{{cite web | url=https://code.google.com/p/v8/issues/detail?id=3692#c3 | title=Issue 3692: function suddenly becomes undefined | publisher=V8 JavaScript Engine Issues | author=Ben Noordhuis | date=12 November 2014 | access-date = 2 February 2015}}</ref> लेखकों ने io.js को गूगल V8 जावास्क्रिप्ट इंजन की नवीनतम लोकार्पण के साथ अद्यतन रखने की योजना बनाई है।<ref name="Mikeal, Rogers">{{cite web | url=https://medium.com/node-js-javascript/state-of-io-js-2b3094e6f923 | title=io.js की स्थिति| date=28 January 2015 | access-date = 2 February 2015 | author=Mikeal, Rogers}}</ref>


फरवरी 2015 में, एक तटस्थ नोड.js फाउंडेशन बनाने के प्रयोजन की घोषणा की गई थी। जून 2015 तक, नोड.js और io.js समुदायों ने नोड.js फाउंडेशन के तहत एक साथ काम करने के लिए मतदान किया था।<ref>{{cite web|url=https://www.linuxfoundation.org/news-media/announcements/2015/06/nodejs-foundation-advances-community-collaboration-announces-new|title=Node.js फाउंडेशन सामुदायिक सहयोग को आगे बढ़ाता है, नए सदस्यों की घोषणा करता है और तकनीकी प्रशासन की पुष्टि करता है|access-date = 4 July 2015|url-status=dead|archive-url=https://web.archive.org/web/20150624075643/http://www.linuxfoundation.org/news-media/announcements/2015/06/nodejs-foundation-advances-community-collaboration-announces-new|archive-date=24 June 2015}}</ref>
फरवरी 2015 में, एक तटस्थ नोड.js फाउंडेशन बनाने के प्रयोजन की घोषणा की गई थी। जून 2015 तक, नोड.js और io.js समुदायों ने नोड.js फाउंडेशन के तहत एक साथ काम करने के लिए मतदान किया था।<ref>{{cite web|url=https://www.linuxfoundation.org/news-media/announcements/2015/06/nodejs-foundation-advances-community-collaboration-announces-new|title=Node.js फाउंडेशन सामुदायिक सहयोग को आगे बढ़ाता है, नए सदस्यों की घोषणा करता है और तकनीकी प्रशासन की पुष्टि करता है|access-date = 4 July 2015|url-status=dead|archive-url=https://web.archive.org/web/20150624075643/http://www.linuxfoundation.org/news-media/announcements/2015/06/nodejs-foundation-advances-community-collaboration-announces-new|archive-date=24 June 2015}}</ref>


सितंबर 2015 में, नोड.js v0.12 और io.js v3.3 को वापस नोड v4.0 में एक साथ मिला दिया गया था।<ref>{{cite web |date=2015-09-14 |title=Node.js Foundation नई रिलीज में Node.js और io.js को सिंगल कोडबेस में जोड़ता है|url=https://nodejs.org/en/blog/announcements/foundation-v4-announce/ |access-date=28 January 2016 |website=nodejs.org}}</ref> इस विलय से नोड.js में V8 ES6 सुविधाएँ और एक दीर्घकालिक समर्थन रिलीज़ चक्र लाया था।<ref>{{cite web |date=19 May 2015 |title=io.js और Node.js विलय|url=https://medium.com/node-js-javascript/io-js-week-of-may-15th-9ada45bd8a28 |access-date=27 June 2015 |website=medium.com}}</ref> 2016 तक, io.js वेबसाइट अनुशंसा करती है कि डेवलपर्स नोड.js पर वापस चले जाएं और मर्ज के कारण io.js की कोई और रिलीज़ की योजना नहीं बनाई गई है।<ref>[https://iojs.org/en/ Io.js, JavaScript I/O], ''"io.js has merged with the Node.js project again. There won't be any further io.js releases. All of the features in io.js are available in Node.js v4 and above."''</ref>
सितंबर 2015 में, नोड.JS V0.12 और IO.JS V3.3 को वापस नोड V4.0 में एक साथ मिला दिया गया था।<ref>{{cite web |date=2015-09-14 |title=Node.js Foundation नई रिलीज में Node.js और io.js को सिंगल कोडबेस में जोड़ता है|url=https://nodejs.org/en/blog/announcements/foundation-v4-announce/ |access-date=28 January 2016 |website=nodejs.org}}</ref> इस विलय से नोड.js में V8 ES6 सुविधाएँ और एक दीर्घकालिक समर्थन लोकार्पण चक्र लाया था।<ref>{{cite web |date=19 May 2015 |title=io.js और Node.js विलय|url=https://medium.com/node-js-javascript/io-js-week-of-may-15th-9ada45bd8a28 |access-date=27 June 2015 |website=medium.com}}</ref> 2016 तक, IO.JS वेबसाइट अनुशंसा करती है कि डेवलपर्स नोड.js पर वापस चले जाएं और मर्ज के कारण IO.JS की कोई और लोकार्पण की योजना नहीं बनाई गई थी।<ref>[https://iojs.org/en/ Io.js, JavaScript I/O], ''"io.js has merged with the Node.js project again. There won't be any further io.js releases. All of the features in io.js are available in Node.js v4 and above."''</ref>


2019 में, JS फाउंडेशन और नोड.js फाउंडेशन का विलय होकर ओपन JS फाउंडेशन बना गया था।
2019 में, JS फाउंडेशन और नोड.js फाउंडेशन का विलय होकर ओपन JS फाउंडेशन बना गया था।
Line 53: Line 53:
नोड.js जावास्क्रिप्ट और "मॉड्यूल" के संग्रह का उपयोग करके [[वेब सर्वर]] और नेटवर्किंग टूल के निर्माण की अनुमति देता है जो विभिन्न मुख्य कार्यात्मकताओं को संभालते हैं।<ref name="b3"/><ref name="b1"/><ref name="b2"/><ref name="b4"/><ref name="b5">[https://books.google.com/books?id=G1y_5kpmatUC&q=nodejs Smashing Node.js: JavaScript Everywhere], John Wiley & Sons, 14-Aug-2012</ref> [[फाइल सिस्टम]] I/O, नेटवर्किंग ([[Index.php?title=DNS|DNS]], [[HTTP]], [[Index.php?title=TCP|TCP]], TLS/SSL, या UDP), [[Index.php?title=बाइनरी|बाइनरी]] डेटा, [[क्रिप्टोग्राफी]] फ़ंक्शंस, [[Index.php?title=डेटा स्ट्रीम|डेटा स्ट्रीम]] और अन्य मुख्य फ़ंक्शंस के लिए मॉड्यूल प्रदान किए जाते हैं।<ref name="b1"/><ref name="b4"/><ref>[https://nodejs.org/api/ Modules], Nodejs Website</ref> नोड.js के मॉड्यूल सर्वर अनुप्रयोगों को लिखने की जटिलता को कम करने के लिए डिज़ाइन किए गए API का उपयोग करते हैं।<ref name="b1"/><ref name="b4">[https://books.google.com/books?id=dPaoCwAAQBAJ&q=nodejs Node.js Essentials], Packt Publishing, 10-Nov-2015</ref>
नोड.js जावास्क्रिप्ट और "मॉड्यूल" के संग्रह का उपयोग करके [[वेब सर्वर]] और नेटवर्किंग टूल के निर्माण की अनुमति देता है जो विभिन्न मुख्य कार्यात्मकताओं को संभालते हैं।<ref name="b3"/><ref name="b1"/><ref name="b2"/><ref name="b4"/><ref name="b5">[https://books.google.com/books?id=G1y_5kpmatUC&q=nodejs Smashing Node.js: JavaScript Everywhere], John Wiley & Sons, 14-Aug-2012</ref> [[फाइल सिस्टम]] I/O, नेटवर्किंग ([[Index.php?title=DNS|DNS]], [[HTTP]], [[Index.php?title=TCP|TCP]], TLS/SSL, या UDP), [[Index.php?title=बाइनरी|बाइनरी]] डेटा, [[क्रिप्टोग्राफी]] फ़ंक्शंस, [[Index.php?title=डेटा स्ट्रीम|डेटा स्ट्रीम]] और अन्य मुख्य फ़ंक्शंस के लिए मॉड्यूल प्रदान किए जाते हैं।<ref name="b1"/><ref name="b4"/><ref>[https://nodejs.org/api/ Modules], Nodejs Website</ref> नोड.js के मॉड्यूल सर्वर अनुप्रयोगों को लिखने की जटिलता को कम करने के लिए डिज़ाइन किए गए API का उपयोग करते हैं।<ref name="b1"/><ref name="b4">[https://books.google.com/books?id=dPaoCwAAQBAJ&q=nodejs Node.js Essentials], Packt Publishing, 10-Nov-2015</ref>


जावास्क्रिप्ट एकमात्र ऐसी लैंग्वेज है जिसका नोड.js मूल रूप से समर्थन करता है, परंतु कई [[Index.php?title=कंपाइल-टू-JS|कंपाइल-टू-JS]] लैंगुएजेस उपलब्ध हैं।<ref>{{Cite web|url=https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js|title=जेएस को संकलित करने वाली भाषाओं की सूची|website=Github}}</ref> परिणामस्वरूप, नोड.js अनुप्रयोगों को [[Index.php?title कॉफीस्क्रिप्ट|कॉफीस्क्रिप्ट]],<ref name="b6">{{cite book |url=https://books.google.com/books?id=Oda-MgEACAAJ&q=nodejs |title=Node.js पर CoffeeScript|publisher=O'Reilly Media, Inc. |date=15 April 2013 |access-date = 17 May 2015|isbn=9781449316846 }}</ref> [[Index.php?title=डार्ट|डार्ट]], [[Index.php?title=टाइपस्क्रिप्ट|टाइपस्क्रिप्ट]], [[क्लोजरस्क्रिप्ट]] और अन्य में लिखा जा सकता है।
जावास्क्रिप्ट एकमात्र ऐसी भाषा है जिसका नोड.js मूल रूप से समर्थन करता है, परंतु कई [[Index.php?title=कंपाइल-टू-JS|कंपाइल-टू-JS]] भाषायें उपलब्ध हैं।<ref>{{Cite web|url=https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js|title=जेएस को संकलित करने वाली भाषाओं की सूची|website=Github}}</ref> परिणामस्वरूप, नोड.js अनुप्रयोगों को [[Index.php?title कॉफीस्क्रिप्ट|कॉफीस्क्रिप्ट]],<ref name="b6">{{cite book |url=https://books.google.com/books?id=Oda-MgEACAAJ&q=nodejs |title=Node.js पर CoffeeScript|publisher=O'Reilly Media, Inc. |date=15 April 2013 |access-date = 17 May 2015|isbn=9781449316846 }}</ref> [[Index.php?title=डार्ट|डार्ट]], [[Index.php?title=टाइपस्क्रिप्ट|टाइपस्क्रिप्ट]], [[क्लोजरस्क्रिप्ट]] और अन्य में लिखा जा सकता है।


नोड.js का उपयोग मुख्य रूप से वेब सर्वर जैसे नेटवर्क प्रोग्राम बनाने के लिए किया जाता है।<ref name="b2">[https://books.google.com/books?id=KZQQAlhTOBgC&q=nodejs Node.js for PHP Developers], O'Reilly Media, Inc., 2013</ref> नोड.js और [[PHP]] के बीच सबसे महत्वपूर्ण अंतर यह है कि PHP में अधिकांश फ़ंक्शन पूरा होने तक ब्लॉक होते हैं, जबकि नोड.js फ़ंक्शन नॉन-ब्लॉकिंग होते हैं,<ref name="node_cluster_module_doc">{{cite web |title=Node.js क्लस्टर मॉड्यूल|url=https://nodejs.org/api/cluster.html |access-date=19 October 2017 |website=nodejs.org}}</ref><ref>{{cite web |title=Node.js's child_process module |url=https://nodejs.org/api/child_process.html |access-date=19 October 2017 |website=nodejs.org}}</ref> और पूर्णता या विफलता का संकेत देने के लिए [[Index.php?title=कॉलबैक|कॉलबैक]] का उपयोग करते है।<ref name="b2" />
नोड.js का उपयोग मुख्य रूप से वेब सर्वर जैसे नेटवर्क प्रोग्राम बनाने के लिए किया जाता है।<ref name="b2">[https://books.google.com/books?id=KZQQAlhTOBgC&q=nodejs Node.js for PHP Developers], O'Reilly Media, Inc., 2013</ref> नोड.js और [[PHP]] के बीच सबसे महत्वपूर्ण अंतर यह है कि PHP में अधिकांश फ़ंक्शन में एक खण्ड समूह होता हैं, जबकि नोड.js फ़ंक्शन ग़ैर-अवरोधन होते हैं,<ref name="node_cluster_module_doc">{{cite web |title=Node.js क्लस्टर मॉड्यूल|url=https://nodejs.org/api/cluster.html |access-date=19 October 2017 |website=nodejs.org}}</ref><ref>{{cite web |title=Node.js's child_process module |url=https://nodejs.org/api/child_process.html |access-date=19 October 2017 |website=nodejs.org}}</ref> और पूर्णता या विफलता का संकेत देने के लिए [[Index.php?title=Index.php?title= पुन: साक्षात्कार|पुन: साक्षात्कार]] का उपयोग करते है।<ref name="b2" />


नोड.js आधिकारिक तौर पर लिनक्स, {{nowrap|[[मैक OS]]}} और माइक्रोसॉफ़्ट विंडोज़ 8.1 और सर्वर 2012 पर समर्थित है,<ref name="supportedOS" />[[Index.php?title=स्मार्ट OS|स्मार्ट OS]] और [[IBM AIX]] के लिए टियर 2 समर्थन और [[Index.php?title=फ्री BSD|फ्री BSD]] के लिए प्रायोगिक समर्थन के साथ [[Index.php?title=ओपन BSD|ओपन BSD]] भी काम करता है, और LTS संस्करण [[IBM i]] (AS/400) के लिए उपलब्ध है।<ref>{{Cite web |last=Foundation |first=Node js |title=पैकेज मैनेजर के माध्यम से Node.js इंस्टॉल करना|url=https://nodejs.org/en/download/package-manager/ |access-date=2019-05-19 |website=Node.js |language=en}}</ref> प्रदान किया गया स्रोत कोड आधिकारिक तौर पर समर्थित ऑपरेटिंग सिस्टम के समान ऑपरेटिंग सिस्टम पर भी बनाया जा सकता है या [[Index.php?title=नॉनस्टॉप OS|नॉनस्टॉप OS]]<ref name="bomBora - Node.js for NonStop">{{cite web |title=बॉमबोरा - नॉनस्टॉप के लिए Node.js|url=http://infrasoft.com.au/bomBora.html |access-date=14 August 2015 |website=infrasoft.com.au |publisher=Infrasoft}}</ref> और यूनिक्स सर्वर जैसे अन्य का समर्थन करने के लिए तीसरे पक्ष द्वारा संशोधित किया जा सकता है।
नोड.js आधिकारिक तौर पर लिनक्स, {{nowrap|[[मैक OS]]}} और माइक्रोसॉफ़्ट विंडोज़ 8.1 और सर्वर 2012 पर समर्थित है,<ref name="supportedOS" />[[Index.php?title=स्मार्ट OS|स्मार्ट OS]] और [[IBM AIX]] के लिए टियर 2 समर्थन और [[Index.php?title=फ्री BSD|फ्री BSD]] के लिए प्रायोगिक समर्थन के साथ [[Index.php?title=ओपन BSD|ओपन BSD]] भी काम करता है, और LTS संस्करण [[IBM i]] (AS/400) के लिए उपलब्ध है।<ref>{{Cite web |last=Foundation |first=Node js |title=पैकेज मैनेजर के माध्यम से Node.js इंस्टॉल करना|url=https://nodejs.org/en/download/package-manager/ |access-date=2019-05-19 |website=Node.js |language=en}}</ref> प्रदान किया गया स्रोत कोड आधिकारिक तौर पर समर्थित ऑपरेटिंग सिस्टम के समान ऑपरेटिंग सिस्टम पर भी बनाया जा सकता है या [[Index.php?title=नॉनस्टॉप OS|नॉनस्टॉप OS]]<ref name="bomBora - Node.js for NonStop">{{cite web |title=बॉमबोरा - नॉनस्टॉप के लिए Node.js|url=http://infrasoft.com.au/bomBora.html |access-date=14 August 2015 |website=infrasoft.com.au |publisher=Infrasoft}}</ref> और यूनिक्स सर्वर जैसे अन्य का समर्थन करने के लिए तीसरे पक्ष द्वारा संशोधित किया जा सकता है।


=== प्लेटफार्म आर्किटेक्चर ===
=== प्लेटफार्म आर्किटेक्चर ===
नोड.js वेब सर्वर पर [[Index.php?title=इवेंट-संचालित प्रोग्रामिंग|इवेंट-संचालित प्रोग्रामिंग]] लाता है, जिससे जावास्क्रिप्ट में तेज वेब सर्वर का विकास संभव हो पाता है।<ref name="b1"/> डेवलपर्स इवेंट-संचालित प्रोग्रामिंग के एक सरलीकृत मॉडल का उपयोग करके [[Index.php?title=थ्रेडिंग|थ्रेडिंग]] का उपयोग किए बिना स्केलेबल सर्वर बना सकते हैं जो किसी कार्य के पूरा होने का संकेत देने के लिए कॉलबैक का उपयोग करता है।<ref name="b1"/> नोड.js एक स्क्रिप्टिंग लैंग्वेज (जावास्क्रिप्ट) की आसानी को यूनिक्स नेटवर्क प्रोग्रामिंग की शक्ति से जोड़ता है।<ref name="b1"/>
नोड.js वेब सर्वर पर [[Index.php?title=Index.php?title= वृत्तांत-संचालित प्रोग्रामिंग|वृत्तांत-संचालित प्रोग्रामिंग]] लाता है, जिससे जावास्क्रिप्ट में शीघ्र वेब सर्वर का विकास संभव हो पाता है।<ref name="b1"/> डेवलपर्स वृत्तांत-संचालित प्रोग्रामिंग के एक सरलीकृत मॉडल का उपयोग करके [[Index.php?title=थ्रेडिंग|थ्रेडिंग]] का उपयोग किए बिना स्केलेबल सर्वर बना सकते हैं जो किसी कार्य के पूरा होने का संकेत देने के लिए पुन: साक्षात्कार का उपयोग करता है।<ref name="b1"/> नोड.js एक अंकन भाषा को यूनिक्स नेटवर्क प्रोग्रामिंग की ऊर्जा से जोड़ता है।<ref name="b1"/>


नोड.js को गूगल के V8 जावास्क्रिप्ट इंजन के शीर्ष पर बनाया गया था चूंकि यह BSD लाइसेंस के तहत ओपन-सोर्स किया गया था। यह HTTP,  [[Index.php?title= DNS|DNS]] और TCP जैसे इंटरनेट बुनियादी सिद्धांतों में कुशल है।<ref name="b3"/> जावास्क्रिप्ट भी एक प्रसिद्ध लैंग्वेज थी, जिसने नोड.js को [[वेब डेवलपर]] समुदाय के लिए सुलभ बना दिया था।<ref name="b3"/>
नोड.js को गूगल के V8 जावास्क्रिप्ट इंजन के शीर्ष पर बनाया गया था चूंकि यह BSD लाइसेंस के तहत ओपन-सोर्स किया गया था। यह HTTP,  [[Index.php?title= DNS|DNS]] और TCP जैसे इंटरनेट बुनियादी सिद्धांतों में कुशल है।<ref name="b3"/> जावास्क्रिप्ट भी एक प्रसिद्ध भाषा थी, जिसने नोड.js को [[वेब डेवलपर]] समुदाय के लिए सुलभ बना दिया था।<ref name="b3"/>




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


ओपन-सोर्स समुदाय ने अनुप्रयोगों के विकास में तेजी लाने के लिए [[Index.php?title=वेब फ्रेमवर्क|वेब फ्रेमवर्क]] विकसित किया है। इस तरह के [[Index.php?title=फ्रेमवर्क|फ्रेमवर्क]] में कनेक्ट, एक्सप्रेस.js, सॉकेट.IO, फेदर्स.js, कोआ.js, हापी.js, सेल्स.js, मेटियोर, डर्बी और कई अन्य सम्मलित हैं।<ref name="b1"/><ref name="b7">[https://books.google.com/books?id=5eGRAwAAQBAJ&q=nodejs Express.js Guide: The Comprehensive Book on Express.js], Azat Mardan, 28-May-2014</ref> अन्य लैंगुएजेस या माइक्रोसॉफ्ट .NET जैसे रनटाइम क्लाइमेट के साथ इंटरफेस करने के लिए विभिन्न पैकेज भी बनाए गए हैं।<ref>[http://www.techrepublic.com/article/edge-js-bridges-the-gap-between-node-js-and-net/ Edge.js bridges the gap between Node.js and .NET], TechRepublic, Tony Patton, 1 July 2014</ref>
ओपन-सोर्स समुदाय ने अनुप्रयोगों के विकास में तेजी लाने के लिए [[Index.php?title=वेब फ्रेमवर्क|वेब फ्रेमवर्क]] विकसित किया है। इस तरह के [[Index.php?title=फ्रेमवर्क|फ्रेमवर्क]] में कनेक्ट, एक्सप्रेस.JS, सॉकेट.IO, फेदर्स.JS, कोआ.JS, हापी.JS, सेल्स.JS, मेटियोर, डर्बी और कई अन्य सम्मलित हैं।<ref name="b1"/><ref name="b7">[https://books.google.com/books?id=5eGRAwAAQBAJ&q=nodejs Express.js Guide: The Comprehensive Book on Express.js], Azat Mardan, 28-May-2014</ref> अन्य भाषायें या माइक्रोसॉफ्ट .NET जैसे कार्यावधि परिस्थति के साथ इंटरफेस करने के लिए विभिन्न पैकेज भी बनाए गए हैं।<ref>[http://www.techrepublic.com/article/edge-js-bridges-the-gap-between-node-js-and-net/ Edge.js bridges the gap between Node.js and .NET], TechRepublic, Tony Patton, 1 July 2014</ref>


आधुनिक डेस्कटॉप ITI विशेष रूप से  नोड.js अनुप्रयोगों के लिए संपादन और डिबगिंग सुविधाएँ प्रदान करते हैं। ऐसे ITI में एटम, ब्रैकेट्स, [[Index.php?title=जेटब्रेन्स MPS|जेटब्रेन्स MPS]] [[Index.php?title=वेबस्टॉर्म|वेबस्टॉर्म]],<ref>[https://www.jetbrains.com/webstorm/help/node-js.html Node.js], WebStorm supports integration with the Node.js runtime environment, WebStorm Help</ref><ref>[https://www.jetbrains.com/webstorm/help/running-and-debugging-node-js.html Running and Debugging Node.js], WebStorm Help</ref> [[माइक्रोसॉफ्ट विजुअल स्टूडियो]]<ref>{{cite web |title=विजुअल स्टूडियो के लिए Node.js टूल्स|url=https://www.visualstudio.com/en-us/features/node-js-vs.aspx |access-date=1 Feb 2016 |website=microsoft.com}}</ref> सम्मलित हैं।<ref>[https://github.com/soywiz/typescript-node-definitions soywiz/typescript-node-definitions TypeScript's typings for some popular node.js modules], GitHub</ref><ref>[https://github.com/DefinitelyTyped/DefinitelyTyped DefinitelyTyped], GitHub</ref><ref>{{Cite web|url=http://definitelytyped.org/|archiveurl=https://web.archive.org/web/20160203083254/http://definitelytyped.org/|url-status=dead|title=उच्च गुणवत्ता वाले टाइपस्क्रिप्ट प्रकार की परिभाषाओं के लिए भंडार|archivedate=3 February 2016|website=definitelytyped.org}}</ref><ref>[https://www.typescriptlang.org/Samples#ImageBoard ImageBoard, A Node.js + Express + MongoDB application built using TypeScript on the server], TypeScript Samples</ref>) [[Index.php?title=नेटबीन्स|नेटबीन्स]],<ref>{{cite web |last=Krill |first=Paul |date=2015-11-10 |title=Node.js takes center stage in NetBeans 8.1 |url=http://www.infoworld.com/article/3003414/java/nodejs-takes-center-stage-in-netbeans-81.html |access-date=2015-11-10 |website=infoworld.com |publisher=[[InfoWorld]]}}</ref> नोडेक्लिप्स एनाइड स्टूडियो<ref>[http://www.nodeclipse.org/ Nodeclipse, Enide -- Node.JS development in Eclipse], Nodeclipse Website</ref> ([[Index.php?title=एक्लिप्स|एक्लिप्स]]-आधारित), और [[विजुअल स्टूडियो कोड]]<ref>[https://channel9.msdn.com/Blogs/cloud-with-a-silver-lining/hello-visual-studio-code-nodejs Hello Visual Studio Code (with NodeJS)], Channel 9, Microsoft
आधुनिक डेस्कटॉप ITI विशेष रूप से  नोड.js अनुप्रयोगों के लिए संपादन और डिबगिंग सुविधाएँ प्रदान करते हैं। ऐसे ITI में एटम, ब्रैकेट्स, [[Index.php?title=जेटब्रेन्स MPS|जेटब्रेन्स MPS]] [[Index.php?title=वेबस्टॉर्म|वेबस्टॉर्म]],<ref>[https://www.jetbrains.com/webstorm/help/node-js.html Node.js], WebStorm supports integration with the Node.js runtime environment, WebStorm Help</ref><ref>[https://www.jetbrains.com/webstorm/help/running-and-debugging-node-js.html Running and Debugging Node.js], WebStorm Help</ref> [[माइक्रोसॉफ्ट विजुअल स्टूडियो]]<ref>{{cite web |title=विजुअल स्टूडियो के लिए Node.js टूल्स|url=https://www.visualstudio.com/en-us/features/node-js-vs.aspx |access-date=1 Feb 2016 |website=microsoft.com}}</ref> सम्मलित हैं।<ref>[https://github.com/soywiz/typescript-node-definitions soywiz/typescript-node-definitions TypeScript's typings for some popular node.js modules], GitHub</ref><ref>[https://github.com/DefinitelyTyped/DefinitelyTyped DefinitelyTyped], GitHub</ref><ref>{{Cite web|url=http://definitelytyped.org/|archiveurl=https://web.archive.org/web/20160203083254/http://definitelytyped.org/|url-status=dead|title=उच्च गुणवत्ता वाले टाइपस्क्रिप्ट प्रकार की परिभाषाओं के लिए भंडार|archivedate=3 February 2016|website=definitelytyped.org}}</ref><ref>[https://www.typescriptlang.org/Samples#ImageBoard ImageBoard, A Node.js + Express + MongoDB application built using TypeScript on the server], TypeScript Samples</ref>) [[Index.php?title=नेटबीन्स|नेटबीन्स]],<ref>{{cite web |last=Krill |first=Paul |date=2015-11-10 |title=Node.js takes center stage in NetBeans 8.1 |url=http://www.infoworld.com/article/3003414/java/nodejs-takes-center-stage-in-netbeans-81.html |access-date=2015-11-10 |website=infoworld.com |publisher=[[InfoWorld]]}}</ref> नोडेक्लिप्स एनाइड स्टूडियो<ref>[http://www.nodeclipse.org/ Nodeclipse, Enide -- Node.JS development in Eclipse], Nodeclipse Website</ref> ([[Index.php?title=एक्लिप्स|एक्लिप्स]]-आधारित), और [[विजुअल स्टूडियो कोड]]<ref>[https://channel9.msdn.com/Blogs/cloud-with-a-silver-lining/hello-visual-studio-code-nodejs Hello Visual Studio Code (with NodeJS)], Channel 9, Microsoft
Line 222: Line 222:
| colspan="5" | <small>{{Version |l |show=111101}}</small>
| colspan="5" | <small>{{Version |l |show=111101}}</small>
|}
|}
नोड.js की नई प्रमुख लोकार्पण हर छह महीने में [[Index.php?title=गिटहब|गिटहब]] मुख्य शाखा से अवरोध की जाती हैं। सम-संख्या वाले संस्करण अप्रैल में अवरोध कीये जाते हैं और विषम-संख्या वाले संस्करण अक्टूबर में अवरोध होते हैं। जब एक नया विषम संस्करण प्रचलित किया जाता है, तो पिछला सम संस्करण [[दीर्घकालिक समर्थन]] के संक्रमण से गुजरता है, जो उस संस्करण को LTS नामित होने की तारीख से 18 महीने का सक्रिय समर्थन देता है। इन 18 महीनों की समाप्ति के बाद, LTS रिलीज़ को 12 महीने की अतिरिक्त रखरखाव सहायता प्राप्त होता है। एक सक्रिय संस्करण को वर्तमान लोकार्पण में आने के कुछ सप्ताह बाद परिवर्तनों के नॉन-ब्रेकिंग बैकपोर्ट प्राप्त होते हैं। एक निर्वाह लोकार्पण को केवल महत्वपूर्ण सुधार और प्रलेखन अद्यतन प्राप्त होते हैं।<ref name="Release">{{Cite web|url=https://github.com/nodejs/Release|title=nodejs/Release|website=GitHub|language=en|access-date=2018-05-03}}</ref>  LTS वर्किंग ग्रुप नोड.js फाउंडेशन की तकनीकी संचालन समिति के सहयोग से रणनीति और नीति का प्रबंधन करता है।
नोड.js की नई प्रमुख लोकार्पण हर छह महीने में [[Index.php?title=गिटहब|गिटहब]] मुख्य शाखा से अवरोध की जाती हैं। सम-संख्या वाले संस्करण अप्रैल में अवरोध कीये जाते हैं और विषम-संख्या वाले संस्करण अक्टूबर में अवरोध होते हैं। जब एक नया विषम संस्करण प्रचलित किया जाता है, तो पिछला सम संस्करण [[दीर्घकालिक समर्थन]] के संक्रमण से गुजरता है, जो उस संस्करण को LTS नामित होने की डेट से 18 महीने का सक्रिय समर्थन देता है। इन 18 महीनों की समाप्ति के बाद, LTS लोकार्पण को 12 महीने की अतिरिक्त रखरखाव सहायता प्राप्त होता है। एक सक्रिय संस्करण को वर्तमान लोकार्पण में आने के कुछ सप्ताह बाद परिवर्तनों के ग़ैर-खंडन बैकपोर्ट प्राप्त होते हैं। एक निर्वाह लोकार्पण को केवल महत्वपूर्ण सुधार और प्रलेखन अद्यतन प्राप्त होते हैं।<ref name="Release">{{Cite web|url=https://github.com/nodejs/Release|title=nodejs/Release|website=GitHub|language=en|access-date=2018-05-03}}</ref>  LTS वर्किंग ग्रुप नोड.js फाउंडेशन की तकनीकी संचालन समिति के सहयोग से रणनीति और नीति का प्रबंधन करता है।


== पारिभाषिक विवरण ==
== पारिभाषिक विवरण ==
नोड.js एक जावास्क्रिप्ट रनटाइम क्लाइमेट है जो आने वाले अनुरोधों को एक लूप में संसाधित करता है, जिसे इवेंट लूप कहा जाता है।
नोड.js एक जावास्क्रिप्ट कार्यावधि परिवेश है जो आने वाले अनुरोधों को एक लूप में संसाधित करता है, जिसे इवेंट लूप कहा जाता है।


=== आंतरिक ===
=== आंतरिक ===
नोड.js अतुल्यकालिक घटनाओं को संभालने के लिए हुड के नीचे [[Index.php?title=लिबुव|लिबुव]] का उपयोग करता है। लिबव विंडोज और [[पॉज़िक्स]]-आधारित सिस्टम जैसे लिनक्स, मैकOS, OSS ऑन [[Index.php?title=नॉनस्टॉप|नॉनस्टॉप]] और यूनिक्स दोनों पर नेटवर्क और फ़ाइल सिस्टम कार्यक्षमता के लिए एक अमूर्त परत है। HTTP समर्थन के लिए नोड.js [https://www.nghttp2.org nghttp2] पर निर्भर करता है। संस्करण 20 के अनुसार, नोड.js [https://github.com/ada-url/ada ada लाइब्रेरी] का उपयोग करता है जो अप-टू-डेट [[Index.php?title=व्हाट WG|व्हाट WG]] [[URL]] अनुपालन प्रदान करता है। [https://nodejs.org/en/blog/release/v19.5.0 संस्करण 19.5 के अनुसार], तेजी से यूनिकोड सत्यापन और ट्रांसकोडिंग के लिए नोड.js [https://github.com/simdutf/simdutf/simdutf simdutf लाइब्रेरी] का उपयोग करता है .
नोड.js अतुल्यकालिक घटनाओं को संभालने के लिए हुड के नीचे [[Index.php?title=लिबुव|लिबुव]] का उपयोग करता है। लिबव विंडोज और [[पॉज़िक्स]]-आधारित सिस्टम जैसे लिनक्स, मैक OS, OSS ऑन [[Index.php?title=नॉनस्टॉप|नॉनस्टॉप]] और यूनिक्स दोनों पर नेटवर्क और फ़ाइल सिस्टम कार्यक्षमता के लिए एक अमूर्त परत है। HTTP समर्थन के लिए नोड.js [https://www.nghttp2.org nghttp2] पर निर्भर करता है। संस्करण 20 के अनुसार, नोड.js [https://github.com/ada-url/ada ada लाइब्रेरी] का उपयोग करता है जो अप-टू-डेट [[Index.php?title=व्हाट WG|व्हाट WG]] [[URL]] अनुपालन प्रदान करता है। [https://nodejs.org/en/blog/release/v19.5.0 संस्करण 19.5 के अनुसार], तेजी से यूनिकोड सत्यापन और ट्रांसकोडिंग के लिए नोड.js [https://github.com/simdutf/simdutf/simdutf simdutf लाइब्रेरी] का उपयोग करता है .


=== थ्रेडिंग ===
=== थ्रेडिंग ===
नोड.js नॉन-ब्लॉकिंग I/O कॉल का उपयोग करते हुए [[सिंगल थ्रेडिंग]] इवेंट लूप पर काम करता है, जो इसे थ्रेड [[Index.php?title=संदर्भ स्विचिंग|संदर्भ स्विचिंग]] की लागत के बिना हजारों समवर्ती कनेक्शनों का समर्थन करने की अनुमति देता है।<ref>{{cite web|url=http://blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections/|title=Node.js w/1M concurrent connections!|work=caustik's blog|date=19 August 2012}}</ref> [[Index.php?title=ऑब्जर्वर पैटर्न|ऑब्जर्वर पैटर्न]] का उपयोग करने वाले सभी अनुरोधों के बीच एक एकल थ्रेड डिज़ाइन अत्यधिक समवर्ती अनुप्रयोगों के निर्माण के लिए है, जहां I/O करने वाले किसी भी फ़ंक्शन को कॉलबैक का उपयोग करना होगा। सिंगल-थ्रेडेड इवेंट लूप को समायोजित करने के लिए, नोड.js लिब्यू लाइब्रेरी का उपयोग करता है - जो बदले में, एक निश्चित आकार के थ्रेड पूल का उपयोग करता है जो कुछ गैर-अवरुद्ध एसिंक्रोनस I/O संचालन को संभालता है।<ref name="readwrite" />
नोड.js ग़ैर -अवरोधन I/O कॉल का उपयोग करते हुए [[Index.php?title=एकल थ्रेडिंग|एकल थ्रेडिंग]] इवेंट लूप पर काम करता है, जो इसे थ्रेड [[Index.php?title=संदर्भ स्विचिंग|संदर्भ स्विचिंग]] की लागत के बिना हजारों समवर्ती कनेक्शनों का समर्थन करने की अनुमति देता है।<ref>{{cite web|url=http://blog.caustik.com/2012/08/19/node-js-w1m-concurrent-connections/|title=Node.js w/1M concurrent connections!|work=caustik's blog|date=19 August 2012}}</ref> [[Index.php?title=Index.php?title= पर्यवेक्षक पैटर्न|पर्यवेक्षक पैटर्न]] का उपयोग करने वाले सभी अनुरोधों के बीच एक एकल थ्रेड डिज़ाइन अत्यधिक समवर्ती अनुप्रयोगों के निर्माण के लिए है, जहां I/O करने वाले किसी भी फ़ंक्शन को पुन: साक्षात्कार का उपयोग करना होगा। एकल-थ्रेडेड इवेंट लूप को समायोजित करने के लिए, नोड.js लिब्यू लाइब्रेरी का उपयोग करता है - जो बदले में, एक निश्चित आकार के थ्रेड पूल का उपयोग करता है जो कुछ गैर-अवरुद्ध अतुल्यकालिक I/O संचालन को संभालता है।<ref name="readwrite" />


एक थ्रेड पूल नोड.js में समानांतर कार्यों के निष्पादन को संभालता है। मुख्य थ्रेड फ़ंक्शन कॉल कार्यों को साझा कार्य कतार में पोस्ट करता है, जिसे थ्रेड पूल में थ्रेड खींचता है और निष्पादित करता है। नेटवर्किंग जैसे स्वाभाविक रूप से गैर-अवरुद्ध सिस्टम फ़ंक्शंस कर्नेल-साइड नॉन-ब्लॉकिंग सॉकेट में अनुवादित होते हैं, जबकि अंतर्निहित रूप से ब्लॉकिंग सिस्टम फ़ंक्शंस जैसे फ़ाइल I/O अपने स्वयं के थ्रेड्स पर अवरुद्ध नियम से चलते हैं। जब थ्रेड पूल में कोई थ्रेड किसी कार्य को पूरा करता है, तो यह मुख्य थ्रेड को सूचित करता है, जो बदले में जागता है और पंजीकृत कॉलबैक निष्पादित करता है।
एक थ्रेड पूल नोड.js में समानांतर कार्यों के निष्पादन को संभालता है। मुख्य थ्रेड फ़ंक्शन निर्देश कार्यों को पोस्ट करता है, जिसे थ्रेड पूल में निष्पादित करता है। नेटवर्किंग जैसे स्वाभाविक रूप से गैर-अवरुद्ध सिस्टम फ़ंक्शंस मूल-पृष्ठ  ग़ैर-अवरोधन सॉकेट में अनुवादित होते हैं, जबकि अंतर्निहित रूप से अवरोधन सिस्टम फ़ंक्शंस जैसे फ़ाइल I/O अपने स्वयं के थ्रेड्स पर अवरुद्ध नियम से चलते हैं। जब थ्रेड पूल में कोई थ्रेड किसी कार्य को पूरा करता है, तो यह मुख्य थ्रेड को सूचित करता है, जो बदले में जागता है और पंजीकृत पुन: साक्षात्कार निष्पादित करता है।


इस एकल-थ्रेडेड दृष्टिकोण का नकारात्मक पहलू यह है कि नोड.js क्लस्टर जैसे अतिरिक्त मॉड्यूल का उपयोग किए बिना जिस मशीन पर यह चल रहा है उसके CPU कोर की संख्या में वृद्धि करके [[ऊर्ध्वाधर स्केलिंग]] की अनुमति नहीं देता है,<ref name="node_cluster_module_doc" />  स्ट्रॉन्गलूप प्रोसेस मैनेजर,<ref>{{Cite web|url=http://strong-pm.io/|title=स्ट्रांगलूप प्रोसेस मैनेजर|website=strong-pm.io}}</ref> या अपराह्न 2<ref>{{cite web|url=https://github.com/Unitech/pm2|title=GitHub - Unitech/pm2: Production process manager for Node.js applications with a built-in load balancer|work=GitHub|date=12 June 2021}}</ref> चूंकि, डेवलपर्स लिबव थ्रेड पूल में थ्रेड्स की डिफ़ॉल्ट संख्या बढ़ा सकते हैं। सर्वर [[ऑपरेटिंग सिस्टम]] (OS) द्वारा इन थ्रेड्स को कई कोर में वितरित करने की संभावना है।<ref>{{cite web|url=http://www.future-processing.pl/blog/on-problems-with-threads-in-node-js/|title=नोड.जेएस में थ्रेड्स के साथ समस्याओं पर - फ्यूचर प्रोसेसिंग|author=Aleksander Kasiuk|date=22 April 2015}}</ref> एक और समस्या यह है कि लंबे समय तक चलने वाली गणनाएं और अन्य CPU-बाध्य कार्य पूरा होने तक पूरे इवेंट-लूप को रोक देते हैं।{{citation needed|date=March 2017}}
इस एकल-थ्रेडेड दृष्टिकोण का नकारात्मक पहलू यह है कि नोड.js क्लस्टर जैसे अतिरिक्त मॉड्यूल का उपयोग किए बिना जिस मशीन पर यह चल रहा है उसके CPU कोर की संख्या में वृद्धि करके [[ऊर्ध्वाधर स्केलिंग]] की अनुमति नहीं देता है,<ref name="node_cluster_module_doc" />  स्ट्रॉन्गलूप प्रोसेस मैनेजर,<ref>{{Cite web|url=http://strong-pm.io/|title=स्ट्रांगलूप प्रोसेस मैनेजर|website=strong-pm.io}}</ref> <ref>{{cite web|url=https://github.com/Unitech/pm2|title=GitHub - Unitech/pm2: Production process manager for Node.js applications with a built-in load balancer|work=GitHub|date=12 June 2021}}</ref> चूंकि, डेवलपर्स लिबव थ्रेड पूल में थ्रेड्स की डिफ़ॉल्ट संख्या बढ़ा सकते हैं। सर्वर [[ऑपरेटिंग सिस्टम]] (OS) द्वारा इन थ्रेड्स को कई कोर में वितरित करने की संभावना है।<ref>{{cite web|url=http://www.future-processing.pl/blog/on-problems-with-threads-in-node-js/|title=नोड.जेएस में थ्रेड्स के साथ समस्याओं पर - फ्यूचर प्रोसेसिंग|author=Aleksander Kasiuk|date=22 April 2015}}</ref> एक और समस्या यह है कि लंबे समय तक चलने वाली गणनाएं और अन्य CPU-बाध्य कार्य पूरा होने तक पूरे इवेंट-लूप को रोक देते हैं।{{citation needed|date=March 2017}}


=== V8 ===
=== V8 ===
{{Main|V8 (जावास्क्रिप्ट इंजन)}}
{{Main|V8 (जावास्क्रिप्ट इंजन)}}


V8 जावास्क्रिप्ट निष्पादन इंजन है जिसे प्रारंभ में [[Index.php?title= गूगल क्रोम|गूगल क्रोम]] के लिए बनाया गया था। इसे 2008 में गूगल द्वारा ओपन-सोर्स किया गया था। [[C++]] में लिखा गया, V8 रनटाइम पर जावास्क्रिप्ट स्रोत कोड को मूल मशीन कोड में संकलित करता है।<ref name="readwrite" /><!--Node.js v10.x uses V8 v6.6--> 2016 तक, इसमें इग्निशन, एक [[Index.php?title=बायटेकोड इंटरप्रेटर|बायटेकोड इंटरप्रेटर]] भी सम्मलित है।
V8 जावास्क्रिप्ट निष्पादन इंजन है जिसे प्रारंभ में [[Index.php?title= गूगल क्रोम|गूगल क्रोम]] के लिए बनाया गया था। इसे 2008 में गूगल द्वारा ओपन-सोर्स किया गया था। [[C++]] में लिखा गया, V8 कार्यावधि पर जावास्क्रिप्ट स्रोत कोड को मूल मशीन कोड में संकलित करता है।<ref name="readwrite" /><!--Node.js v10.x uses V8 v6.6--> 2016 तक, इसमें इग्निशन, एक [[Index.php?title=बायटेकोड इंटरप्रेटर|बायटेकोड इंटरप्रेटर]] भी सम्मलित है।


=== पैकेज प्रबंधन ===
=== पैकेज प्रबंधन ===
Line 249: Line 249:


=== इवेंट लूप ===
=== इवेंट लूप ===
नोड.js ऑपरेटिंग सिस्टम के साथ पंजीकृत होता है इसलिए OS इसे कनेक्शन के बारे में सूचित करता है और कॉलबैक प्रचलित करता है। नोड.js रनटाइम के भीतर, प्रत्येक कनेक्शन एक छोटा [[Index.php?title=Index.php?title= संचय आवंटन|संचय आवंटन]] है। परंपरागत रूप से, अपेक्षाकृत हेवीवेट OS प्रक्रियाएं या थ्रेड प्रत्येक कनेक्शन को संभालते हैं। नोड.js प्रक्रियाओं या थ्रेड्स के अतिरिक्त स्केलेबिलिटी के लिए इवेंट लूप का उपयोग करता है।<ref>[https://nodejs.org/about/ About Node.js], Node.js Website</ref> अन्य इवेंट-संचालित सर्वरों के विपरीत, नोड.js के इवेंट लूप को स्पष्ट रूप से कॉल करने की आवश्यकता नहीं है। इसके अतिरिक्त, कॉलबैक परिभाषित किए जाते हैं, और सर्वर स्वचालित रूप से कॉलबैक परिभाषा के अंत में इवेंट लूप में प्रवेश करता है। जब कोई और कॉलबैक नहीं किया जाना हो तो नोड.js इवेंट लूप से बाहर निकल जाता है।
नोड.js ऑपरेटिंग सिस्टम के साथ पंजीकृत होता है इसलिए OS इसे कनेक्शन के बारे में सूचित करता है और पुन: साक्षात्कार प्रचलित करता है। नोड.js कार्यावधि के अन्दर, प्रत्येक कनेक्शन एक छोटा [[Index.php?title=Index.php?title= संचय आवंटन|संचय आवंटन]] है। परंपरागत रूप से, अपेक्षाकृत हेवीवेट OS प्रक्रियाएं या थ्रेड प्रत्येक कनेक्शन को संभालते हैं। नोड.js प्रक्रियाओं या थ्रेड्स के अतिरिक्त विस्‍तार क्षमता के लिए इवेंट लूप का उपयोग करता है।<ref>[https://nodejs.org/about/ About Node.js], Node.js Website</ref> अन्य इवेंट-संचालित सर्वरों के विपरीत, नोड.js के इवेंट लूप को स्पष्ट रूप से कॉल करने की आवश्यकता नहीं है। इसके अतिरिक्त, पुन: साक्षात्कार परिभाषित किए जाते हैं, और सर्वर स्वचालित रूप से पुन: साक्षात्कार परिभाषा के अंत में इवेंट लूप में प्रवेश करता है। जब कोई और पुन: साक्षात्कार नहीं किया जाना हो तो नोड.js इवेंट लूप से बाहर निकल जाता है।


=== वेबअसेंबली ===
=== वेबअसेंबली ===
Line 270: Line 270:
नोड.js फाउंडेशन तकनीकी संचालन समिति (TSC) नोड.js फाउंडेशन की तकनीकी शासी निकाय है। TSC कोर नोड.js रेपो के साथ-साथ आश्रित और आसन्न परियोजनाओं के लिए जिम्मेदार है। सामान्यतः TSC इन परियोजनाओं का प्रशासन कार्य समूहों या समितियों को सौंपती है।<ref>{{Cite web|url=https://github.com/nodejs/TSC|title=nodejs/TSC|website=GitHub|language=en|access-date=2017-03-08}}</ref> LTS समूह जो दीर्घकालिक समर्थित लोकार्पण का प्रबंधन करता है, ऐसा ही एक समूह है। अन्य सम्मलित समूहों में वेबसाइट, स्ट्रीम, बिल्ड, डायग्नोस्टिक्स, i18n, इवेंजेलिज्म, डॉकर, एडऑन API, बेंचमार्किंग, पोस्ट-मॉर्टम, अंतर्राष्ट्रीय, प्रलेखन और परीक्षण सम्मलित हैं।<ref>{{Cite web|url=https://nodejs.org/en/about/working-groups/|title=Working Groups {{!}} Node.js|last=Foundation|first=Node.js|website=nodejs.org|language=en|access-date=2017-03-08}}</ref>
नोड.js फाउंडेशन तकनीकी संचालन समिति (TSC) नोड.js फाउंडेशन की तकनीकी शासी निकाय है। TSC कोर नोड.js रेपो के साथ-साथ आश्रित और आसन्न परियोजनाओं के लिए जिम्मेदार है। सामान्यतः TSC इन परियोजनाओं का प्रशासन कार्य समूहों या समितियों को सौंपती है।<ref>{{Cite web|url=https://github.com/nodejs/TSC|title=nodejs/TSC|website=GitHub|language=en|access-date=2017-03-08}}</ref> LTS समूह जो दीर्घकालिक समर्थित लोकार्पण का प्रबंधन करता है, ऐसा ही एक समूह है। अन्य सम्मलित समूहों में वेबसाइट, स्ट्रीम, बिल्ड, डायग्नोस्टिक्स, i18n, इवेंजेलिज्म, डॉकर, एडऑन API, बेंचमार्किंग, पोस्ट-मॉर्टम, अंतर्राष्ट्रीय, प्रलेखन और परीक्षण सम्मलित हैं।<ref>{{Cite web|url=https://nodejs.org/en/about/working-groups/|title=Working Groups {{!}} Node.js|last=Foundation|first=Node.js|website=nodejs.org|language=en|access-date=2017-03-08}}</ref>


अगस्त 2017 में, TSC के एक तिहाई सदस्यों ने परियोजना की आचार संहिता से संबंधित विवाद के कारण इस्तीफा दे दिया था।<ref>Whittaker, Zack, ''[http://www.zdnet.com/article/after-governance-breakdown-node-js-leaders-fight-for-its-survival/?loc=newsletter_large_thumb_related&ftag=TREc64629f&bhid=24465828771686428160302951310435/ After governance breakdown, Node.js leaders fight for its survival]'', ZDNet, 25 August 2017</ref>
अगस्त 2017 में, TSC के एक तिहाई सदस्यों ने परियोजना की आचार संहिता से संबंधित विवाद के कारण त्यागपत्र दे दिया था।<ref>Whittaker, Zack, ''[http://www.zdnet.com/article/after-governance-breakdown-node-js-leaders-fight-for-its-survival/?loc=newsletter_large_thumb_related&ftag=TREc64629f&bhid=24465828771686428160302951310435/ After governance breakdown, Node.js leaders fight for its survival]'', ZDNet, 25 August 2017</ref>






== यह भी देखें ==
== यह भी देखें ==
* [[Index.php?title=डेनो|डेनो]]—जावास्क्रिप्ट और टाइपस्क्रिप्ट के लिए एक बैक-एंड रनटाइम वातावरण, जिसे रयान डाहल ने भी बनाया है।
* [[Index.php?title=डेनो|डेनो]]—जावास्क्रिप्ट और टाइपस्क्रिप्ट के लिए एक बैक-एंड कार्यावधि परिवेश, जिसे रयान डाहल ने भी बनाया है।


==संदर्भ==
==संदर्भ==
Line 291: Line 291:
== बाहरी संबंध ==
== बाहरी संबंध ==
{{Commons category}}
{{Commons category}}
* {{Official website}}
* [https://nodejs.org/en/ Official Website]
* {{github|nodejs/node}}
* {{github|nodejs/node}}


Line 298: Line 298:
{{Authority control}}
{{Authority control}}
{{Use dmy dates|date=November 2019}}
{{Use dmy dates|date=November 2019}}
[[Category: 2009 सॉफ्टवेयर]] [[Category: C++ में मुफ्त सॉफ्टवेयर प्रोग्राम किया गया]] [[Category: जावास्क्रिप्ट में प्रोग्राम किया गया मुफ्त सॉफ्टवेयर]] [[Category: जावास्क्रिप्ट पुस्तकालय]] [[Category: आनंद]] [[Category: लिनक्स फाउंडेशन प्रोजेक्ट्स]] [[Category: एमआईटी लाइसेंस का उपयोग करने वाला सॉफ्टवेयर]]


 
[[Category:2009 सॉफ्टवेयर]]
 
[[Category:All articles with unsourced statements]]
[[Category: Machine Translated Page]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:Articles with invalid date parameter in template]]
[[Category:Articles with unsourced statements from March 2017]]
[[Category:C++ में मुफ्त सॉफ्टवेयर प्रोग्राम किया गया]]
[[Category:CS1 English-language sources (en)]]
[[Category:Collapse templates]]
[[Category:Commons category link from Wikidata]]
[[Category:Commons category link is the pagename]]
[[Category:Created On 16/06/2023]]
[[Category:Created On 16/06/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Use dmy dates from November 2019]]
[[Category:Wikipedia metatemplates]]

Latest revision as of 14:05, 7 July 2023

नोड.js
Original author(s)रयान डाहल
Developer(s)ओपनJS फाउंडेशन
Initial releaseMay 27, 2009; 16 years ago (2009-05-27)[1]
Stable release
Script error: The module returned a nil value. It is supposed to return an export table. / Script error: The module returned a nil value. It is supposed to return an export table.; Error: first parameter cannot be parsed as a date or time. (Script error: The module returned a nil value. It is supposed to return an export table.)
Written inC, C++, जावास्क्रिप्ट
Operating systemz/OS, लिनक्स,, मैक OS, माइक्रोसॉफ्ट विंडोज, स्मार्ट OS, फ्री BSD, ओपन BSD, IBM AIX[2]
TypeRuntime environment
LicenseMIT License[3][4]

नोड.js एक क्रॉस-प्लेटफॉर्म, ओपन-सोर्स सर्वर है। जो माइक्रोसॉफ़्ट विंडोज़, लिनक्स, यूनिक्स, मैक OS, जो अन्य पर चल सकता है। नोड.js एक बैक-एंड जावास्क्रिप्ट कार्यावधि परिवेश है, जो V8 जावास्क्रिप्ट इंजन पर चलते है, और एक वेब ब्राउज़र के बाहर जावास्क्रिप्ट कोड निष्पादित करते है।

नोड.js डेवलपर्स को कमांड लाइन टूल लिखने और सर्वर-साइड स्क्रिप्टिंग के लिए जावास्क्रिप्ट का उपयोग करने देता है। सर्वर पर जावास्क्रिप्ट कोड चलाने की क्षमता अधिकांशतः उपयोगकर्ता के वेब ब्राउज़र पर पेज भेजे जाने से पहले गतिशील वेब पेज सामग्री उत्पन्न करने के लिए किया जाता है। फलस्वरूप, नोड.js एक जावास्क्रिप्ट प्रतिमान का प्रतिनिधित्व करते है,[5] सर्वर बनाम उपभोगता-ओर प्रोग्रामिंग के लिए विभिन्न भाषाओं का उपयोग करने के विपरीत, एक ही प्रोग्रामिंग भाषा के आसपास वेब-एप्लिकेशन विकास को एकीकृत करता है।

नोड.js में एक वृत्तांत-संचालित वास्तुकला है जो अतुल्यकालिक I/O में सक्षम है। इन डिज़ाइन विकल्पों का उद्देश्य कई इनपुट/आउटपुट संचालन के साथ-साथ वास्तविक समय वेब अनुप्रयोगों के साथ वेब अनुप्रयोगों में संदेश प्रवाह और विस्‍तार क्षमता को अनुकूलित करना है।[6]

नोड.js वितरित विकास परियोजना पहले नोड.js फाउंडेशन द्वारा शासित थी,[7] और अब ओपन JS फाउंडेशन बनाने के लिए JS फाउंडेशन के साथ विलय कर दिया गया है। ओपन JS फाउंडेशन को लिनक्स फाउंडेशन के सहयोगात्मक परियोजना कार्यक्रम द्वारा सुविधा प्रदान की जाती है।[8]

नोड.js सॉफ़्टवेयर के संगठित उपयोगकर्ताओं में गोडैडी,[9] ग्रूपन,[10] IBM,[11] लिंक्डइन,[12][13] माइक्रोसाफ्ट,[14][15] नेटफ्लिक्स,[16] पेपैल,[17][18] SAP[19] वॉल-मार्ट ,[20] याहू !,[21] और अमेज़ॅन वेब सर्विसेज सम्मलित हैं। [22]


इतिहास

File:Ryan Dahl.jpg
रयान डाहल, 2010 में नोड.js के निर्माता

नोड.js का आरंभ 2009 में रयान डाहल द्वारा लिखा गया था,[23] पहले सर्वर-साइड जावास्क्रिप्ट क्लाइमेट, नेटस्केप के लाइववायर प्रो वेब आरंभ के लिये लगभग 13 साल बाद विकसित किया था।[24] प्रारंभिक लोकार्पण केवल लिनक्स और मैक OS का समर्थन किया था।[25]

डाहल ने 2009 में सबसे लोकप्रिय वेब सर्वर,अपाचे HTTP सर्वर की सीमित संभावनाओं की आलोचना की, जिसमें बहुत सारे समवर्ती कनेक्शन और कोड बनाने का सबसे सामान्य (अनुक्रमिक प्रोग्रामिंग) को संभालने की क्षमता थी, जब कोड अवरुद्ध हो जाता था। तो एक साथ कनेक्शन की स्थिति में संपूर्ण प्रक्रिया या निहित एकाधिक निष्पादन स्तंभ हो जाती थी।[26]

डाहल ने 8 नवंबर 2009 को उद्घाटन यूरोपीय js कॉन्फ में इस परियोजना का प्रदर्शन किया था।[27][28][29] नोड.js ने गूगल के क्रोम V8 जावास्क्रिप्ट इंजन, एक इवेंट लूप और एक निम्न-स्तरीय I/O अप्लिकेशन प्रोग्रामिंग अंतरफलक को संयोजित किया था।[30]

जनवरी 2010 में, नोड.js क्लाइमेट के लिए npm नामक एक पैकेज प्रबंधक उपस्थित किया गया था।[31] पैकेज प्रबंधक प्रोग्रामर्स के लिए नोड.js पैकेजों के स्रोत कोड को प्रकाशित और समिति करना और आसान बनाना है और इसे पैकेजों की स्थापना, अद्यतन और संस्थापन को सरल बनाने के लिए डिज़ाइन किया गया है। [30]

जून 2011 में, माइक्रोसॉफ्ट और जॉयंट ने नोड.js का एक देशी विंडोज़ संस्करण लागू किया थ।[33] विंडोज़ को सपोर्ट करने वाला पहला नोड.js बिल्ड जुलाई 2011 में जारी किया गया था।

जनवरी 2012 में, डाहल ने परियोजना का प्रबंधन करने के लिए सहकर्मी और NPM निर्माता इसहाक श्लुएटर को बढ़ावा दिया था। [32] जनवरी 2014 में, श्लुएटर ने घोषणा की कि टिमोथी J. फॉन्टेन इस परियोजना का नेतृत्व करेंगे।[33]

दिसंबर 2014 में, फेडर इंडुटनी ने io.js प्रारंभ किया, जो नोड.js का एक हिस्सा है। जॉयंट के शासन पर आंतरिक संघर्ष के कारण, io.js को एक अलग तकनीकी समिति के साथ एक खुले शासन विकल्प के रूप में बनाया गया था।[34][35] नोड.js के विपरीत,[36] लेखकों ने io.js को गूगल V8 जावास्क्रिप्ट इंजन की नवीनतम लोकार्पण के साथ अद्यतन रखने की योजना बनाई है।[37]

फरवरी 2015 में, एक तटस्थ नोड.js फाउंडेशन बनाने के प्रयोजन की घोषणा की गई थी। जून 2015 तक, नोड.js और io.js समुदायों ने नोड.js फाउंडेशन के तहत एक साथ काम करने के लिए मतदान किया था।[38]

सितंबर 2015 में, नोड.JS V0.12 और IO.JS V3.3 को वापस नोड V4.0 में एक साथ मिला दिया गया था।[39] इस विलय से नोड.js में V8 ES6 सुविधाएँ और एक दीर्घकालिक समर्थन लोकार्पण चक्र लाया था।[40] 2016 तक, IO.JS वेबसाइट अनुशंसा करती है कि डेवलपर्स नोड.js पर वापस चले जाएं और मर्ज के कारण IO.JS की कोई और लोकार्पण की योजना नहीं बनाई गई थी।[41]

2019 में, JS फाउंडेशन और नोड.js फाउंडेशन का विलय होकर ओपन JS फाउंडेशन बना गया था।

15 मार्च 2023 को, नोड.js 19.8.1 प्रचलित किया गया था।[42]


अवलोकन

नोड.js जावास्क्रिप्ट और "मॉड्यूल" के संग्रह का उपयोग करके वेब सर्वर और नेटवर्किंग टूल के निर्माण की अनुमति देता है जो विभिन्न मुख्य कार्यात्मकताओं को संभालते हैं।[27][30][43][44][45] फाइल सिस्टम I/O, नेटवर्किंग (DNS, HTTP, TCP, TLS/SSL, या UDP), बाइनरी डेटा, क्रिप्टोग्राफी फ़ंक्शंस, डेटा स्ट्रीम और अन्य मुख्य फ़ंक्शंस के लिए मॉड्यूल प्रदान किए जाते हैं।[30][44][46] नोड.js के मॉड्यूल सर्वर अनुप्रयोगों को लिखने की जटिलता को कम करने के लिए डिज़ाइन किए गए API का उपयोग करते हैं।[30][44]

जावास्क्रिप्ट एकमात्र ऐसी भाषा है जिसका नोड.js मूल रूप से समर्थन करता है, परंतु कई कंपाइल-टू-JS भाषायें उपलब्ध हैं।[47] परिणामस्वरूप, नोड.js अनुप्रयोगों को कॉफीस्क्रिप्ट,[48] डार्ट, टाइपस्क्रिप्ट, क्लोजरस्क्रिप्ट और अन्य में लिखा जा सकता है।

नोड.js का उपयोग मुख्य रूप से वेब सर्वर जैसे नेटवर्क प्रोग्राम बनाने के लिए किया जाता है।[43] नोड.js और PHP के बीच सबसे महत्वपूर्ण अंतर यह है कि PHP में अधिकांश फ़ंक्शन में एक खण्ड समूह होता हैं, जबकि नोड.js फ़ंक्शन ग़ैर-अवरोधन होते हैं,[49][50] और पूर्णता या विफलता का संकेत देने के लिए पुन: साक्षात्कार का उपयोग करते है।[43]

नोड.js आधिकारिक तौर पर लिनक्स, मैक OS और माइक्रोसॉफ़्ट विंडोज़ 8.1 और सर्वर 2012 पर समर्थित है,[2]स्मार्ट OS और IBM AIX के लिए टियर 2 समर्थन और फ्री BSD के लिए प्रायोगिक समर्थन के साथ ओपन BSD भी काम करता है, और LTS संस्करण IBM i (AS/400) के लिए उपलब्ध है।[51] प्रदान किया गया स्रोत कोड आधिकारिक तौर पर समर्थित ऑपरेटिंग सिस्टम के समान ऑपरेटिंग सिस्टम पर भी बनाया जा सकता है या नॉनस्टॉप OS[52] और यूनिक्स सर्वर जैसे अन्य का समर्थन करने के लिए तीसरे पक्ष द्वारा संशोधित किया जा सकता है।

प्लेटफार्म आर्किटेक्चर

नोड.js वेब सर्वर पर वृत्तांत-संचालित प्रोग्रामिंग लाता है, जिससे जावास्क्रिप्ट में शीघ्र वेब सर्वर का विकास संभव हो पाता है।[30] डेवलपर्स वृत्तांत-संचालित प्रोग्रामिंग के एक सरलीकृत मॉडल का उपयोग करके थ्रेडिंग का उपयोग किए बिना स्केलेबल सर्वर बना सकते हैं जो किसी कार्य के पूरा होने का संकेत देने के लिए पुन: साक्षात्कार का उपयोग करता है।[30] नोड.js एक अंकन भाषा को यूनिक्स नेटवर्क प्रोग्रामिंग की ऊर्जा से जोड़ता है।[30]

नोड.js को गूगल के V8 जावास्क्रिप्ट इंजन के शीर्ष पर बनाया गया था चूंकि यह BSD लाइसेंस के तहत ओपन-सोर्स किया गया था। यह HTTP, DNS और TCP जैसे इंटरनेट बुनियादी सिद्धांतों में कुशल है।[27] जावास्क्रिप्ट भी एक प्रसिद्ध भाषा थी, जिसने नोड.js को वेब डेवलपर समुदाय के लिए सुलभ बना दिया था।[27]


उद्योग समर्थन

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

ओपन-सोर्स समुदाय ने अनुप्रयोगों के विकास में तेजी लाने के लिए वेब फ्रेमवर्क विकसित किया है। इस तरह के फ्रेमवर्क में कनेक्ट, एक्सप्रेस.JS, सॉकेट.IO, फेदर्स.JS, कोआ.JS, हापी.JS, सेल्स.JS, मेटियोर, डर्बी और कई अन्य सम्मलित हैं।[30][53] अन्य भाषायें या माइक्रोसॉफ्ट .NET जैसे कार्यावधि परिस्थति के साथ इंटरफेस करने के लिए विभिन्न पैकेज भी बनाए गए हैं।[54]

आधुनिक डेस्कटॉप ITI विशेष रूप से नोड.js अनुप्रयोगों के लिए संपादन और डिबगिंग सुविधाएँ प्रदान करते हैं। ऐसे ITI में एटम, ब्रैकेट्स, जेटब्रेन्स MPS वेबस्टॉर्म,[55][56] माइक्रोसॉफ्ट विजुअल स्टूडियो[57] सम्मलित हैं।[58][59][60][61]) नेटबीन्स,[62] नोडेक्लिप्स एनाइड स्टूडियो[63] (एक्लिप्स-आधारित), और विजुअल स्टूडियो कोड[64][65] कुछ ऑनलाइन वेब-आधारित IDE भी नोड.js का समर्थन करते हैं, जैसे कोडेनी वेयर, कोडेनवी, क्लाउड 9 IDE, कोडिंग, और नोड-रेड में विजुअल फ्लो एडिटर है।

नोड.js जेलास्टिक, गूगल क्लाउड प्लेटफ़ॉर्म, AWS इलास्टिक बीनस्टॉक, जॉयंट और अन्य जैसे कई क्लाउड-होस्टिंग प्लेटफ़ॉर्म पर समर्थित है।

लोकार्पण

रिलीस[66] स्टेटस कोड नेम रिलीज़ डेट मेंटेनेंस एन्ड
Old version, no longer maintained: 0.10.x Old version, no longer maintained: End-of-Life 2013-03-11 2016-10-31
Old version, no longer maintained: 0.12.x Old version, no longer maintained: End-of-Life 2015-02-06 2016-12-31
Old version, no longer maintained: 4.x Old version, no longer maintained: End-of-Life आर्गन[67] 2015-09-08 2018-04-30
Old version, no longer maintained: 5.x Old version, no longer maintained: End-of-Life 2015-10-29 2016-06-30
Old version, no longer maintained: 6.x Old version, no longer maintained: End-of-Life बोरोन[67] 2016-04-26 2019-04-30
Old version, no longer maintained: 7.x Old version, no longer maintained: End-of-Life 2016-10-25 2017-06-30
Old version, no longer maintained: 8.x Old version, no longer maintained: End-of-Life कार्बन[67] 2017-05-30 2019-12-31
Old version, no longer maintained: 9.x Old version, no longer maintained: End-of-Life 2017-10-01 2018-06-30
Old version, no longer maintained: 10.x Old version, no longer maintained: End-of-Life दुबनीम[67] 2018-04-24 2021-04-30
Old version, no longer maintained: 11.x Old version, no longer maintained: End-of-Life 2018-10-23 2019-06-01
Old version, no longer maintained: 12.x Old version, no longer maintained: End-of-Life अर्बियम[67] 2019-04-23 2022-04-30
Old version, no longer maintained: 13.x Old version, no longer maintained: End-of-Life 2019-10-22 2020-06-01
Older version, yet still maintained: 14.x Older version, yet still maintained: Maintenance LTS फेर्मियम[67] 2020-04-21 2023-04-30
Old version, no longer maintained: 15.x Old version, no longer maintained: End-of-Life 2020-10-20 2021-06-01
Older version, yet still maintained: 16.x Older version, yet still maintained: Maintenance LTS गैलियम[67] 2021-04-20 2023-09-11[68]
Old version, no longer maintained: 17.x Old version, no longer maintained: End-of-Life 2021-10-19 2022-06-01
Older version, yet still maintained: 18.x Older version, yet still maintained: Active LTS हाइड्रोजन[67] 2022-04-19 2025-04-30
Current stable version: 19.x Current stable version: Active 2022-10-18 2023-06-01
Future release: 20.x Future release: Current न्यू वर्शन[69] 2023-04-18 2026-04-30
Future release: 21.x Future release: Planned [67] 2023-10-17 2024-05-30
Future release: 22.x Future release: Planned [67] 2024-04-15 2027-04-28
Future release: 23.x Future release: Planned [67] 2024-10-14 2025-05-27
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release

नोड.js की नई प्रमुख लोकार्पण हर छह महीने में गिटहब मुख्य शाखा से अवरोध की जाती हैं। सम-संख्या वाले संस्करण अप्रैल में अवरोध कीये जाते हैं और विषम-संख्या वाले संस्करण अक्टूबर में अवरोध होते हैं। जब एक नया विषम संस्करण प्रचलित किया जाता है, तो पिछला सम संस्करण दीर्घकालिक समर्थन के संक्रमण से गुजरता है, जो उस संस्करण को LTS नामित होने की डेट से 18 महीने का सक्रिय समर्थन देता है। इन 18 महीनों की समाप्ति के बाद, LTS लोकार्पण को 12 महीने की अतिरिक्त रखरखाव सहायता प्राप्त होता है। एक सक्रिय संस्करण को वर्तमान लोकार्पण में आने के कुछ सप्ताह बाद परिवर्तनों के ग़ैर-खंडन बैकपोर्ट प्राप्त होते हैं। एक निर्वाह लोकार्पण को केवल महत्वपूर्ण सुधार और प्रलेखन अद्यतन प्राप्त होते हैं।[67] LTS वर्किंग ग्रुप नोड.js फाउंडेशन की तकनीकी संचालन समिति के सहयोग से रणनीति और नीति का प्रबंधन करता है।

पारिभाषिक विवरण

नोड.js एक जावास्क्रिप्ट कार्यावधि परिवेश है जो आने वाले अनुरोधों को एक लूप में संसाधित करता है, जिसे इवेंट लूप कहा जाता है।

आंतरिक

नोड.js अतुल्यकालिक घटनाओं को संभालने के लिए हुड के नीचे लिबुव का उपयोग करता है। लिबव विंडोज और पॉज़िक्स-आधारित सिस्टम जैसे लिनक्स, मैक OS, OSS ऑन नॉनस्टॉप और यूनिक्स दोनों पर नेटवर्क और फ़ाइल सिस्टम कार्यक्षमता के लिए एक अमूर्त परत है। HTTP समर्थन के लिए नोड.js nghttp2 पर निर्भर करता है। संस्करण 20 के अनुसार, नोड.js ada लाइब्रेरी का उपयोग करता है जो अप-टू-डेट व्हाट WG URL अनुपालन प्रदान करता है। संस्करण 19.5 के अनुसार, तेजी से यूनिकोड सत्यापन और ट्रांसकोडिंग के लिए नोड.js simdutf लाइब्रेरी का उपयोग करता है .

थ्रेडिंग

नोड.js ग़ैर -अवरोधन I/O कॉल का उपयोग करते हुए एकल थ्रेडिंग इवेंट लूप पर काम करता है, जो इसे थ्रेड संदर्भ स्विचिंग की लागत के बिना हजारों समवर्ती कनेक्शनों का समर्थन करने की अनुमति देता है।[70] पर्यवेक्षक पैटर्न का उपयोग करने वाले सभी अनुरोधों के बीच एक एकल थ्रेड डिज़ाइन अत्यधिक समवर्ती अनुप्रयोगों के निर्माण के लिए है, जहां I/O करने वाले किसी भी फ़ंक्शन को पुन: साक्षात्कार का उपयोग करना होगा। एकल-थ्रेडेड इवेंट लूप को समायोजित करने के लिए, नोड.js लिब्यू लाइब्रेरी का उपयोग करता है - जो बदले में, एक निश्चित आकार के थ्रेड पूल का उपयोग करता है जो कुछ गैर-अवरुद्ध अतुल्यकालिक I/O संचालन को संभालता है।[6]

एक थ्रेड पूल नोड.js में समानांतर कार्यों के निष्पादन को संभालता है। मुख्य थ्रेड फ़ंक्शन निर्देश कार्यों को पोस्ट करता है, जिसे थ्रेड पूल में निष्पादित करता है। नेटवर्किंग जैसे स्वाभाविक रूप से गैर-अवरुद्ध सिस्टम फ़ंक्शंस मूल-पृष्ठ ग़ैर-अवरोधन सॉकेट में अनुवादित होते हैं, जबकि अंतर्निहित रूप से अवरोधन सिस्टम फ़ंक्शंस जैसे फ़ाइल I/O अपने स्वयं के थ्रेड्स पर अवरुद्ध नियम से चलते हैं। जब थ्रेड पूल में कोई थ्रेड किसी कार्य को पूरा करता है, तो यह मुख्य थ्रेड को सूचित करता है, जो बदले में जागता है और पंजीकृत पुन: साक्षात्कार निष्पादित करता है।

इस एकल-थ्रेडेड दृष्टिकोण का नकारात्मक पहलू यह है कि नोड.js क्लस्टर जैसे अतिरिक्त मॉड्यूल का उपयोग किए बिना जिस मशीन पर यह चल रहा है उसके CPU कोर की संख्या में वृद्धि करके ऊर्ध्वाधर स्केलिंग की अनुमति नहीं देता है,[49] स्ट्रॉन्गलूप प्रोसेस मैनेजर,[71] [72] चूंकि, डेवलपर्स लिबव थ्रेड पूल में थ्रेड्स की डिफ़ॉल्ट संख्या बढ़ा सकते हैं। सर्वर ऑपरेटिंग सिस्टम (OS) द्वारा इन थ्रेड्स को कई कोर में वितरित करने की संभावना है।[73] एक और समस्या यह है कि लंबे समय तक चलने वाली गणनाएं और अन्य CPU-बाध्य कार्य पूरा होने तक पूरे इवेंट-लूप को रोक देते हैं।[citation needed]

V8

V8 जावास्क्रिप्ट निष्पादन इंजन है जिसे प्रारंभ में गूगल क्रोम के लिए बनाया गया था। इसे 2008 में गूगल द्वारा ओपन-सोर्स किया गया था। C++ में लिखा गया, V8 कार्यावधि पर जावास्क्रिप्ट स्रोत कोड को मूल मशीन कोड में संकलित करता है।[6] 2016 तक, इसमें इग्निशन, एक बायटेकोड इंटरप्रेटर भी सम्मलित है।

पैकेज प्रबंधन

npm नोड.js सर्वर प्लेटफ़ॉर्म के लिए पूर्व-स्थापित पैकेज प्रबंधक है। यह npm रजिस्ट्री से नोड.js प्रोग्राम स्थापित करता है, तृतीय-पक्ष नोड.js प्रोग्रामों की स्थापना और प्रबंधन को व्यवस्थित करता है। NPM रजिस्ट्री में पैकेज साधारण सहायक लाइब्रेरी जैसे लॉडैश से लेकर ग्रंट जैसे टास्क रनर तक हो सकते हैं।

एकीकृत API

नोड.js को एक ब्राउज़र के साथ एक साइट, एक डेटाबेस के साथ जोड़ा जा सकता है जो JSON डेटा (जैसे कि पोस्टग्रे SQL,[74] मोंगो DB, या काउच DB) और JSON को एकीकृत जावास्क्रिप्ट डेवलपमेंट स्टैक के लिए सपोर्ट करता है। MVC, MVP, MVVM इत्यादि जैसे अनिवार्य रूप से सर्वर-साइड विकास पैटर्न के अनुकूलन के साथ, नोड.js क्लाइंट साइड और सर्वर साइड के बीच समान मॉडल और सेवा इंटरफ़ेस के पुन: उपयोग की अनुमति देता है।

इवेंट लूप

नोड.js ऑपरेटिंग सिस्टम के साथ पंजीकृत होता है इसलिए OS इसे कनेक्शन के बारे में सूचित करता है और पुन: साक्षात्कार प्रचलित करता है। नोड.js कार्यावधि के अन्दर, प्रत्येक कनेक्शन एक छोटा संचय आवंटन है। परंपरागत रूप से, अपेक्षाकृत हेवीवेट OS प्रक्रियाएं या थ्रेड प्रत्येक कनेक्शन को संभालते हैं। नोड.js प्रक्रियाओं या थ्रेड्स के अतिरिक्त विस्‍तार क्षमता के लिए इवेंट लूप का उपयोग करता है।[75] अन्य इवेंट-संचालित सर्वरों के विपरीत, नोड.js के इवेंट लूप को स्पष्ट रूप से कॉल करने की आवश्यकता नहीं है। इसके अतिरिक्त, पुन: साक्षात्कार परिभाषित किए जाते हैं, और सर्वर स्वचालित रूप से पुन: साक्षात्कार परिभाषा के अंत में इवेंट लूप में प्रवेश करता है। जब कोई और पुन: साक्षात्कार नहीं किया जाना हो तो नोड.js इवेंट लूप से बाहर निकल जाता है।

वेबअसेंबली

नोड.js वेबअसेंबली को सपोर्ट करता है और नोड 14 के अनुसार इसमें WASI,वेबअसेंबली सिस्टम इंटरफ़ेस का प्रयोगात्मक सपोर्ट है।

मूल बंधन

नोड.js N-API नामक C-आधारित API के माध्यम से "ऐड-ऑन" बनाने का एक नियम प्रदान करता है, जिसका उपयोग .node C/C++ में लिखे स्रोत कोड से लोड करने योग्य नोड मॉड्यूल का उत्पादन करने के लिए किया जा सकता है।[76] मॉड्यूल को सीधे मेमोरी में लोड किया जा सकता है और JS क्लाइमेट के अन्दर से सरल कॉमन JS मॉड्यूल के रूप में निष्पादित किया जा सकता है। N-API का कार्यान्वयन आंतरिक C/C++ नोड.js और V8 ऑब्जेक्ट्स पर निर्भर करता है, जिसके लिए उपयोगकर्ताओं को अपने मूल स्रोत कोड में नोड.js विशिष्ट हेडर आयात (सम्मलित) करने की आवश्यकता होती है।[76]

चूँकि नोड.js API बाइनरी स्तर पर परिवर्तन के अधीन है, ठीक से काम करने के लिए मॉड्यूल को विशिष्ट नोड.js संस्करणों के विरुद्ध बनाया है। समस्या का समाधान करने के लिए, तीसरे पक्षों ने API के शीर्ष पर ओपन-सोर्स्ड С/С++ रैपर पेश किए हैं जो समस्या को आंशिक रूप से कम करते हैं। वे इंटरफ़ेस को सरल बनाते हैं, परंतु एक साइड इफेक्ट के रूप में वे जटिलता भी ला सकते हैं जिससे अनुरक्षकों को निपटना पड़ता है। भले ही नोड.js की मुख्य कार्यक्षमता जावास्क्रिप्ट अंतर्निहित लाइब्रेरी में रहती है, C++ में लिखे गए मॉड्यूल का उपयोग क्षमताओं को बढ़ाने और अनुप्रयोगों के प्रदर्शन को बेहतर बनाने के लिए किया जा सकता है।

ऐसे मॉड्यूल तैयार करने के लिए एक उपयुक्त C++ कंपाइलर और आवश्यक हेडर की आवश्यकता होती है, उदाहरण के लिए, gcc, clang या MSVC++ होते है |

N-APIजावा मूल इंटरफ़ेस के समान है।

प्रोजेक्ट गवर्नेंस

22015 में, बड़े नोड.js समुदाय की विभिन्न शाखाओं ने विक्रेता-तटस्थ नोड.js फाउंडेशन के तहत काम करना आरंभ किया है। संगठन का घोषित उद्देश्य "व्यापक रूप से अपनाने को सक्षम करना और एक खुले शासन मॉडल के माध्यम से नोड.js और अन्य संबंधित मॉड्यूल के विकास में तेजी लाने में मदद करना है जो भागीदारी, तकनीकी योगदान और नोड में निवेशित पारिस्थितिकी तंत्र द्वारा दीर्घकालिक प्रबंधन के लिए एक रूपरेखा को प्रोत्साहित करता है।[77]

नोड.js फाउंडेशन तकनीकी संचालन समिति (TSC) नोड.js फाउंडेशन की तकनीकी शासी निकाय है। TSC कोर नोड.js रेपो के साथ-साथ आश्रित और आसन्न परियोजनाओं के लिए जिम्मेदार है। सामान्यतः TSC इन परियोजनाओं का प्रशासन कार्य समूहों या समितियों को सौंपती है।[78] LTS समूह जो दीर्घकालिक समर्थित लोकार्पण का प्रबंधन करता है, ऐसा ही एक समूह है। अन्य सम्मलित समूहों में वेबसाइट, स्ट्रीम, बिल्ड, डायग्नोस्टिक्स, i18n, इवेंजेलिज्म, डॉकर, एडऑन API, बेंचमार्किंग, पोस्ट-मॉर्टम, अंतर्राष्ट्रीय, प्रलेखन और परीक्षण सम्मलित हैं।[79]

अगस्त 2017 में, TSC के एक तिहाई सदस्यों ने परियोजना की आचार संहिता से संबंधित विवाद के कारण त्यागपत्र दे दिया था।[80]


यह भी देखें

  • डेनो—जावास्क्रिप्ट और टाइपस्क्रिप्ट के लिए एक बैक-एंड कार्यावधि परिवेश, जिसे रयान डाहल ने भी बनाया है।

संदर्भ

  1. "node-v0.x-archive on GitHub". GitHub. Retrieved 2 August 2014.
  2. 2.0 2.1 "nodejs/node". GitHub. 13 April 2022.
  3. "node/LICENSE at master". GitHub. Node.js Foundation. 17 September 2018. Retrieved 17 September 2018.
  4. "The MIT License". Open Source Initiative. 17 September 2018. Retrieved 17 September 2018.
  5. gcuomo (24 October 2013). "जावास्क्रिप्ट हर जगह और तीन एमिगोस (जंगली नीले रंग में!)". www.ibm.com. Retrieved 24 October 2013.
  6. 6.0 6.1 6.2 Laurent Orsini (7 November 2013). "आपको नोड.जेएस के बारे में क्या जानने की आवश्यकता है". readwrite.com. Retrieved 6 February 2022.
  7. "नोड.जेएस फाउंडेशन - नोड.जेएस". nodejs.org. Retrieved 4 July 2015.
  8. "लिनक्स फाउंडेशन सहयोगी परियोजनाएं". linuxfoundation.org. 4 July 2015. Retrieved 4 July 2015.
  9. Why GoDaddy's Nodejitsu deal is great for Node.js, VentureBeat, 10 February 2015
  10. Geitgey, Adam (30 October 2013). "I-Tier: Dismantling the Monoliths". Groupon. Archived from the original on 10 September 2015. Retrieved 30 April 2014.
  11. "आईबीएम ब्लूमिक्स". IBM. Retrieved 4 July 2015.
  12. "आप कभी विश्वास नहीं करेंगे कि लिंक्डइन ने अपना नया iPad ऐप कैसे बनाया". VentureBeat. 2 May 2012. Retrieved 10 May 2012.
  13. "Blazing fast node.js: 10 performance tips from LinkedIn Mobile". Retrieved 7 April 2015.
  14. Baxter-Reynolds, Matthew (9 November 2011). "यही कारण है कि आपको खुश होना चाहिए कि Microsoft Node.js को अपना रहा है". The Guardian. London. Retrieved 10 May 2012.
  15. "WebMatrix - फ्रंट एंड वेब डेवलपर्स ध्यान दें (ASP.NET, PHP, node.js और अधिक)". Retrieved 2 August 2014.
  16. Node.js in Flames 19 November 2014
  17. "Clash of the Titans: Releasing the Kraken, NodeJS @paypal". fluentconf.com. 28 May 2013. Archived from the original on 15 December 2021. Retrieved 11 September 2013.
  18. "ऐसी सभी कंपनियाँ और उनके उत्पाद जिनमें Node.js का उपयोग किया जाता है". GitHub. Retrieved 2 August 2014.
  19. "एसएपी ऐपबिल्डर". SAP. 10 March 2014. Archived from the original on 12 February 2014. Retrieved 10 October 2018.
  20. "वॉलमार्ट Node.js का उपयोग क्यों कर रहा है". VentureBeat. 24 January 2012. Retrieved 10 May 2012.
  21. "आपको वास्तव में क्यों चाहिए (ए) नोड.जेएस विकास सेवाएं". codebrahma. 10 January 2018. Retrieved 10 January 2018.
  22. "Node.js वेब ऐप तैनात करें - AWS पर अत्यधिक उपलब्ध Node.js वेब एप्लिकेशन लॉन्च करें और चलाएं". amazon.com. Retrieved 3 October 2020.
  23. "About Node.js, and why you should add Node.js to your skill set?". Training.com. Training.com. 11 September 2016. Retrieved 23 October 2016.
  24. Staff, CNET News (15 October 1996). "नेटस्केप इंट्रानेट हमले को खोलता है". CNET (in English). Retrieved 20 April 2017.
  25. Ryan Dahl (9 November 2010). "जॉयंट और नोड". Google Groups. Retrieved 5 February 2015.
  26. Garbar, Dzmitry. "PHP 7 vs Node.js? They Can Be Partners, Not Competitors For a Developer!". belitsoft.com. Retrieved 21 December 2016.
  27. 27.0 27.1 27.2 27.3 Sams Teach Yourself Node.js in 24 Hours, Sams Publishing, 05-Sep-2012
  28. Ubl, Malte (9 September 2009). "JSConf.eu 2009, Berlin, Germany". www.jsconf.eu. Retrieved 9 September 2009.
  29. "Ryan Dahl: Original Node.js presentation". Archived from the original on 15 December 2021 – via www.youtube.com.
  30. 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 Professional Node.js: Building JavaScript Based Scalable Software, John Wiley & Sons, 01-Oct-2012
  31. "एनपीएम की सबसे पुरानी रिलीज". GitHub. Retrieved 27 July 2016.
  32. Dahl, Ryan. "नया द्वारपाल". Retrieved 26 October 2013.
  33. Schlueter, Isaac (15 January 2014). "Node.js का अगला चरण". Retrieved 21 January 2014.
  34. Krill, Paul (4 December 2014). "क्यों io.js ने फोर्क नोड.जेएस का फैसला किया". JavaWorld. Retrieved 15 December 2014.
  35. Q&A: Why io.js decided to fork Node.js, InfoWorld Tech Watch
  36. Ben Noordhuis (12 November 2014). "Issue 3692: function suddenly becomes undefined". V8 JavaScript Engine Issues. Retrieved 2 February 2015.
  37. Mikeal, Rogers (28 January 2015). "io.js की स्थिति". Retrieved 2 February 2015.
  38. "Node.js फाउंडेशन सामुदायिक सहयोग को आगे बढ़ाता है, नए सदस्यों की घोषणा करता है और तकनीकी प्रशासन की पुष्टि करता है". Archived from the original on 24 June 2015. Retrieved 4 July 2015.
  39. "Node.js Foundation नई रिलीज में Node.js और io.js को सिंगल कोडबेस में जोड़ता है". nodejs.org. 14 September 2015. Retrieved 28 January 2016.
  40. "io.js और Node.js विलय". medium.com. 19 May 2015. Retrieved 27 June 2015.
  41. Io.js, JavaScript I/O, "io.js has merged with the Node.js project again. There won't be any further io.js releases. All of the features in io.js are available in Node.js v4 and above."
  42. "पिछला विज्ञप्ति". Node.js.
  43. 43.0 43.1 43.2 Node.js for PHP Developers, O'Reilly Media, Inc., 2013
  44. 44.0 44.1 44.2 Node.js Essentials, Packt Publishing, 10-Nov-2015
  45. Smashing Node.js: JavaScript Everywhere, John Wiley & Sons, 14-Aug-2012
  46. Modules, Nodejs Website
  47. "जेएस को संकलित करने वाली भाषाओं की सूची". Github.
  48. Node.js पर CoffeeScript. O'Reilly Media, Inc. 15 April 2013. ISBN 9781449316846. Retrieved 17 May 2015.
  49. 49.0 49.1 "Node.js क्लस्टर मॉड्यूल". nodejs.org. Retrieved 19 October 2017.
  50. "Node.js's child_process module". nodejs.org. Retrieved 19 October 2017.
  51. Foundation, Node js. "पैकेज मैनेजर के माध्यम से Node.js इंस्टॉल करना". Node.js (in English). Retrieved 19 May 2019.
  52. "बॉमबोरा - नॉनस्टॉप के लिए Node.js". infrasoft.com.au. Infrasoft. Retrieved 14 August 2015.
  53. Express.js Guide: The Comprehensive Book on Express.js, Azat Mardan, 28-May-2014
  54. Edge.js bridges the gap between Node.js and .NET, TechRepublic, Tony Patton, 1 July 2014
  55. Node.js, WebStorm supports integration with the Node.js runtime environment, WebStorm Help
  56. Running and Debugging Node.js, WebStorm Help
  57. "विजुअल स्टूडियो के लिए Node.js टूल्स". microsoft.com. Retrieved 1 February 2016.
  58. soywiz/typescript-node-definitions TypeScript's typings for some popular node.js modules, GitHub
  59. DefinitelyTyped, GitHub
  60. "उच्च गुणवत्ता वाले टाइपस्क्रिप्ट प्रकार की परिभाषाओं के लिए भंडार". definitelytyped.org. Archived from the original on 3 February 2016.
  61. ImageBoard, A Node.js + Express + MongoDB application built using TypeScript on the server, TypeScript Samples
  62. Krill, Paul (10 November 2015). "Node.js takes center stage in NetBeans 8.1". infoworld.com. InfoWorld. Retrieved 10 November 2015.
  63. Nodeclipse, Enide -- Node.JS development in Eclipse, Nodeclipse Website
  64. Hello Visual Studio Code (with NodeJS), Channel 9, Microsoft
  65. Node.js Applications with VS Code, Visual Studio Code
  66. "Releases". Node.js.
  67. 67.00 67.01 67.02 67.03 67.04 67.05 67.06 67.07 67.08 67.09 67.10 67.11 "nodejs/Release". GitHub (in English). Retrieved 3 May 2018.
  68. Bringing forward the End-of-Life Date for Node.js 16, Node.js Website
  69. "Node.js 20: Latest Features and Enhancements". Radixweb (in English). Retrieved 20 April 2023.
  70. "Node.js w/1M concurrent connections!". caustik's blog. 19 August 2012.
  71. "स्ट्रांगलूप प्रोसेस मैनेजर". strong-pm.io.
  72. "GitHub - Unitech/pm2: Production process manager for Node.js applications with a built-in load balancer". GitHub. 12 June 2021.
  73. Aleksander Kasiuk (22 April 2015). "नोड.जेएस में थ्रेड्स के साथ समस्याओं पर - फ्यूचर प्रोसेसिंग".
  74. "PostgreSQL: Documentation: 9.4: JSON Types". www.postgresql.org. Retrieved 20 October 2016.
  75. About Node.js, Node.js Website
  76. 76.0 76.1 "C++ addons | Node.js v14.12.0 Documentation". nodejs.org. Retrieved 26 September 2020.
  77. Foundation, Node.js. "Node.js Foundation | Node.js". nodejs.org (in English). Retrieved 8 March 2017.
  78. "nodejs/TSC". GitHub (in English). Retrieved 8 March 2017.
  79. Foundation, Node.js. "Working Groups | Node.js". nodejs.org (in English). Retrieved 8 March 2017.
  80. Whittaker, Zack, After governance breakdown, Node.js leaders fight for its survival, ZDNet, 25 August 2017


अग्रिम पठन


बाहरी संबंध