javascript Node.js का उपयोग कब करें, यह कैसे तय करें?




web-applications (12)

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

पिछले कुछ दिनों में मैं सभी होमवर्क से कर रहा हूं, मैंने निम्नलिखित जानकारी प्राप्त की है। Node.js

  • एक कमांड लाइन उपकरण है जिसे नियमित वेब सर्वर के रूप में चलाया जा सकता है और एक को जावास्क्रिप्ट प्रोग्राम चलाने देता है
  • महान वी 8 जावास्क्रिप्ट इंजन का उपयोग करता है
  • बहुत अच्छा है जब आपको एक ही समय में कई चीजें करने की ज़रूरत होती है
  • घटना-आधारित है इसलिए सभी अद्भुत Ajax -जैसी चीजें सर्वर की ओर से की जा सकती हैं
  • आइए ब्राउज़र और बैकएंड के बीच कोड साझा करें
  • आइए हम MySQL से बात करते हैं

मेरे द्वारा सामने आए कुछ स्रोत हैं:

यह ध्यान में रखते हुए कि Node.js को अमेज़ॅन के ईसी 2 उदाहरणों पर लगभग आउट ऑफ़ द बॉक्स चलाया जा सकता है, मैं यह समझने की कोशिश कर रहा हूं कि किस प्रकार की समस्याओं को नोड.जेएस की आवश्यकता होती है, जैसे PHP , Python और Ruby जैसे शक्तिशाली राजाओं के विपरीत । मैं समझता हूं कि यह वास्तव में किसी भाषा पर विशेषज्ञता पर निर्भर करता है, लेकिन मेरा प्रश्न सामान्य श्रेणी में अधिक होता है: किसी विशेष ढांचे का उपयोग कब करें और यह किस प्रकार की समस्याएं विशेष रूप से उपयुक्त है?

https://code.i-harness.com


  1. नोड त्वरित प्रोटोटाइप के लिए बहुत अच्छा है लेकिन मैं इसे किसी भी जटिल के लिए कभी भी उपयोग नहीं करता। मैंने एक कंपाइलर के साथ संबंध विकसित करने में 20 साल बिताए और मुझे यकीन है कि इसे याद आती है।

  2. नोड विशेष रूप से कोड को बनाए रखने के लिए दर्दनाक है जिसे आपने थोड़ी देर के लिए नहीं देखा है। जानकारी टाइप करें और संकलन समय त्रुटि पहचान अच्छी चीजें हैं। यह सब क्यों फेंक दो? किस लिए? और डांग, जब कुछ दक्षिण में जाता है तो ढेर का निशान अक्सर पूरी तरह से बेकार होता है।


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

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

यह उल्लेखनीय है कि रूबी और पायथन दोनों में इस तरह की चीज ( eventmachine और twisted क्रमशः) करने के लिए उपकरण हैं, लेकिन यह नोड.जेएस असाधारण रूप से अच्छी तरह से और जमीन से ऊपर है। जावास्क्रिप्ट असाधारण रूप से कॉलबैक-आधारित समवर्ती मॉडल पर स्थित है, और यह यहां उत्कृष्टता प्राप्त करता है। साथ ही, क्लाइंट और सर्वर दोनों के लिए जेएसओएन देशी के साथ क्रमबद्ध और deserialize करने में सक्षम होने के नाते काफी निफ्टी है।

मैं यहां अन्य उत्तरों को पढ़ने की आशा करता हूं, यह एक शानदार सवाल है।

यह इंगित करने लायक है कि Node.js उन परिस्थितियों के लिए भी बहुत अच्छा है जिसमें आप क्लाइंट / सर्वर अंतराल में बहुत सारे कोड का पुन: उपयोग करेंगे। उल्का ढांचा यह वास्तव में आसान बनाता है, और बहुत से लोग सुझाव दे रहे हैं कि यह वेब विकास का भविष्य हो सकता है। मैं अनुभव से कह सकता हूं कि मेटीर में कोड लिखने के लिए यह बहुत मजेदार है, और इसका एक बड़ा हिस्सा इस बारे में सोचने में कम समय लगा रहा है कि आप अपने डेटा को पुन: स्थापित करने के लिए कैसे जा रहे हैं, इसलिए ब्राउजर में चलने वाला कोड आसानी से इसे कुशल बनाओ और इसे वापस पास करें।

यहां पिरामिड और लंबी-मतदान पर एक लेख दिया गया है, जो गीवेंट से थोड़ी मदद के साथ स्थापित करना बहुत आसान हो जाता है: टिकाटैक और पिरामिड के साथ लांग पोलिंग


इसे छोटा करने के लिए:

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

नोड.जेएस में इवेंट लूप के बारे में एक अच्छा लेख मिक्सू का तकनीकी ब्लॉग है: node.js इवेंट लूप को समझना


एक और चीज नोड प्रदान करता है जो नोड की बाल प्रक्रिया ( childProcess.fork() प्रत्येक को डॉक्स के अनुसार 10 childProcess.fork() मेमोरी की आवश्यकता होती है childProcess.fork() का उपयोग करके नोड के एकाधिक v8 instanes बनाने की क्षमता है, इस प्रकार सर्वर चलाने वाली मुख्य प्रक्रिया को प्रभावित नहीं करता है। तो एक पृष्ठभूमि नौकरी को ऑफ़लोड करना जिसके लिए बड़ी सर्वर लोड की आवश्यकता होती है, वह बच्चे के खेल बन जाती है और जब भी आवश्यक हो हम उन्हें आसानी से मार सकते हैं।

मैं नोड का बहुत उपयोग कर रहा हूं और हमारे द्वारा बनाए गए अधिकांश ऐप्स में, एक ही समय में सर्वर कनेक्शन की आवश्यकता होती है, इस प्रकार एक भारी नेटवर्क यातायात। Express.js और नए Koajs (जो कॉलबैक नरक को हटा दिया गया) जैसे फ्रेमवर्क ने नोड पर और भी आसान काम किया है।


एक नई परियोजना के लिए Node.js चुनने का मेरा एक और कारण है:

शुद्ध क्लाउड आधारित विकास करने में सक्षम हो

मैंने थोड़ी देर के लिए क्लाउड 9 आईडीई का उपयोग किया है और अब मैं इसके बिना कल्पना नहीं कर सकता, इसमें सभी विकास जीवन चक्र शामिल हैं। आपको बस एक ब्राउज़र चाहिए और आप किसी भी डिवाइस पर कहीं भी कोड कर सकते हैं। आपको एक कंप्यूटर (जैसे घर पर) में कोड की जांच करने की आवश्यकता नहीं है, फिर किसी अन्य कंप्यूटर में चेकआउट (जैसे कार्यस्थल पर)।

बेशक, शायद अन्य भाषाओं या प्लेटफार्मों के लिए क्लाउड आधारित आईडीई (क्लाउड 9 आईडीई अन्य भाषाओं के लिए भी समर्थन जोड़ रहा है), लेकिन क्लाउड 9 का उपयोग नोड.जेएस विकास करने के लिए वास्तव में मेरे लिए एक शानदार अनुभव है।


नोड का उपयोग करके अपनी अगली परियोजना शुरू करने के सबसे महत्वपूर्ण कारण ...

  • सभी सबसे अच्छे दोस्त इसमें हैं ... इसलिए यह मजेदार होना चाहिए।
  • आप कूलर पर hangout कर सकते हैं और इसके बारे में उत्साहित होने के लिए बहुत सारे नोड रोमांच हैं।
  • जब क्लाउड होस्टिंग लागत की बात आती है तो आप एक पैसा पिनचर होते हैं।
  • रेल के साथ ऐसा किया गया था
  • आप आईआईएस तैनाती से नफरत करते हैं
  • आपका पुराना आईटी जॉब बदतर हो रहा है और आप चाहते हैं कि आप एक चमकदार नए स्टार्ट अप में हों।

क्या उम्मीद ...

  • आप बिना सर्वर की सभी आवश्यक ब्लूटवेयर के एक्सप्रेस के साथ सुरक्षित और सुरक्षित महसूस करेंगे।
  • एक रॉकेट और तराजू की तरह चलता है।
  • आप इसे सपना देखते हैं। आपने इसे स्थापित किया नोड पैकेज repo packages दुनिया में ओपन सोर्स लाइब्रेरी का सबसे बड़ा पारिस्थितिकी तंत्र है।
  • आपके मस्तिष्क को नेस्टेड कॉलबैक की भूमि में समय लगेगा ...
  • ... जब तक आप अपने Promises को नहीं रखना सीखते।
  • Sequelize और Passport आपके नए एपीआई दोस्तों हैं।
  • ज्यादातर async कोड डीबगिंग umm ... दिलचस्प हो जाएगा।
  • टाइपस्क्रिप्ट मास्टर करने के लिए सभी नोडर्स के लिए समय।

इसका उपयोग कौन करता है?

  • पेपैल, नेटफ्लिक्स, वॉलमार्ट, लिंक्डइन, ग्रुपन, उबर, गोडाडी, डॉव जोन्स
  • यहां उन्होंने नोड पर स्विच क्यों किया।

मेरा टुकड़ा: nodejs एनालिटिक्स, चैट-ऐप, एपीआईएस, विज्ञापन सर्वर इत्यादि जैसे वास्तविक समय सिस्टम बनाने के लिए बहुत बढ़िया है। नर्क, मैंने 2 घंटे के भीतर नोडजे और सॉकेट.ओओ का उपयोग करके अपना पहला चैट ऐप बनाया और वह भी परीक्षा सप्ताह के दौरान!

संपादित करें

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

कब इस्तेमाल करें

सिस्टम बनाते समय जो समेकन और गति पर जोर देते हैं।

  • सॉकेट केवल चैट ऐप्स, आईआरसी ऐप्स इत्यादि जैसे सर्वर।
  • सामाजिक नेटवर्क जो रीयलटाइम संसाधनों जैसे भौगोलिक स्थान, वीडियो स्ट्रीम, ऑडियो स्ट्रीम इत्यादि पर जोर देते हैं।
  • आंकड़ों के छोटे हिस्सों को वास्तव में एक एनालिटिक्स वेबपैप की तरह तेज़ी से संभालना।
  • एक आरईएसटी केवल एपीआई उजागर के रूप में।

उपयोग नहीं करते समय

यह एक बहुत ही बहुमुखी वेबसर्वर है ताकि आप जहां भी चाहें इसका उपयोग कर सकें लेकिन शायद इन स्थानों पर नहीं।

  • सरल ब्लॉग और स्थिर साइटें।
  • एक स्थिर फ़ाइल सर्वर के रूप में।

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


मेरा मानना ​​है कि नोड.जेएस रीयल-टाइम अनुप्रयोगों के लिए सबसे उपयुक्त है: ऑनलाइन गेम, सहयोग उपकरण, चैट रूम, या कुछ भी जहां उपयोगकर्ता के साथ एक उपयोगकर्ता (या रोबोट? या सेंसर?) करता है, तुरंत अन्य उपयोगकर्ताओं द्वारा देखा जाना चाहिए, एक पृष्ठ ताज़ा किए बिना।

मुझे यह भी जिक्र करना चाहिए कि सॉकेट.आईओ नोड.जेएस के साथ संयोजन में आपके वास्तविक समय विलंबता को कम मतदान के साथ जितना संभव हो उससे भी कम कर देगा। सॉकेट.आईओ सबसे खराब केस परिदृश्य के रूप में लंबे मतदान में वापस आ जाएगा, और यदि वे उपलब्ध हैं तो वेब सॉकेट या यहां तक ​​कि फ्लैश का उपयोग करें।

लेकिन मुझे यह भी जिक्र करना चाहिए कि किसी भी परिस्थिति के बारे में जहां थ्रेड के कारण कोड अवरुद्ध हो सकता है, उसे Node.js. के साथ बेहतर ढंग से संबोधित किया जा सकता है। या ऐसी स्थिति जहां आपको घटना-संचालित होने के लिए आवेदन की आवश्यकता होती है।

इसके अलावा, रयान डाहल ने एक बात में कहा कि मैंने एक बार भाग लिया था कि नोड.जेएस नियमित रूप से पुरानी HTTP अनुरोधों के लिए निकटता वाले निगेंक्स को दर्शाता है। इसलिए यदि हम नोड.जेएस के साथ निर्माण करते हैं, तो हम अपने सामान्य संसाधनों को काफी प्रभावी ढंग से सेवा दे सकते हैं, और जब हमें ईवेंट संचालित सामग्री की आवश्यकता होती है, तो यह इसे संभालने के लिए तैयार है।

इसके अलावा यह हर समय जावास्क्रिप्ट है। पूरे ढेर पर लिंगुआ फ्रैंका।


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

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

  1. यदि आपके सर्वर साइड कोड को बहुत कम सीपीयू चक्र की आवश्यकता है। दूसरी दुनिया में आप गैर अवरोधन ऑपरेशन कर रहे हैं और इसमें भारी एल्गोरिदम / नौकरी नहीं है जो बहुत सी CPU चक्रों का उपभोग करती है।
  2. यदि आप जावास्क्रिप्ट बैक ग्राउंड से हैं और क्लाइंट साइड जेएस की तरह एकल थ्रेडेड कोड लिखने में सहज हैं।

जब नोड.जेएस का उपयोग न करें

  1. आपका सर्वर अनुरोध भारी CPU उपभोग करने वाले एल्गोरिदम / नौकरी पर निर्भर है।

नोड.जेएस के साथ स्केलेबिलिटी कंसिडरेशन

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

नोड.जेएस विकल्प

नोड.जेएस के स्थान पर उपयोग करने के लिए अन्य विकल्प हैं हालांकि Vert.x बहुत ही आशाजनक प्रतीत होता है और इसमें पॉलीगॉग और बेहतर स्केलेबिलिटी विचारों जैसी कई अतिरिक्त सुविधाएं हैं।


समवर्ती अनुरोध हैंडलिंग के लिए सबसे अच्छा नोड -

तो, चलो एक कहानी के साथ शुरू करते हैं। पिछले 2 वर्षों से मैं जावास्क्रिप्ट पर काम कर रहा हूं और वेब फ्रंट एंड विकसित कर रहा हूं और मैं इसका आनंद ले रहा हूं। बैक एंड लोग हमें जावा में लिखे कुछ एपीआई प्रदान करते हैं, पायथन (हमें परवाह नहीं है) और हम बस एक एजेक्स कॉल लिखते हैं, अपना डेटा प्राप्त करते हैं और अनुमान लगाते हैं! हमारा हो गया। लेकिन वास्तव में यह इतना आसान नहीं है, अगर हमें जो डेटा मिल रहा है वह सही नहीं है या कुछ सर्वर त्रुटि है तो हम अटक गए हैं और हमें मेल या चैट (कभी-कभी व्हाट्सएप पर भी) पर हमारे बैक एंड दोस्तों से संपर्क करना होगा।) अच्छा नहीं है क्या होगा अगर हमने जावास्क्रिप्ट में हमारी एपीआई लिखी है और उन एपीआई को हमारे फ्रंट एंड से कॉल करें? हां यह बहुत अच्छा है क्योंकि अगर हमें एपीआई में कोई समस्या आती है तो हम इसमें देख सकते हैं। अंदाज़ा लगाओ ! अब आप यह कर सकते हैं, कैसे? - नोड आपके लिए है।

ठीक है सहमत है कि आप जावास्क्रिप्ट में अपना एपीआई लिख सकते हैं लेकिन अगर मैं उपरोक्त समस्या के साथ ठीक हूं तो क्या होगा। क्या आपके पास बाकी एपीआई के लिए नोड का उपयोग करने का कोई अन्य कारण है?

तो यहां जादू शुरू होता है। हां मेरे पास हमारे एपीआई के लिए नोड का उपयोग करने के अन्य कारण हैं।

आइए हमारे पारंपरिक आराम एपीआई सिस्टम पर वापस जाएं जो या तो ब्लॉकिंग ऑपरेशन या थ्रेडिंग पर आधारित है। मान लीजिए कि दो समवर्ती अनुरोध होते हैं (आर 1 और आर 2), उनमें से प्रत्येक को डेटाबेस ऑपरेशन की आवश्यकता होती है। तो पारंपरिक प्रणाली में क्या होगा:

1. प्रतीक्षा रास्ता: हमारा सर्वर r1 अनुरोध की सेवा शुरू करता है और क्वेरी प्रतिक्रिया के लिए इंतजार कर रहा है। r1 पूरा होने के बाद, सर्वर r1 सेवा शुरू करता है और यह वैसे ही करता है। तो इंतजार करना एक अच्छा विचार नहीं है क्योंकि हमारे पास इतना समय नहीं है।

2. थ्रेडिंग वे: हमारा सर्वर दो अनुरोधों को r1 और r1 लिए दो धागे बनाएगा और डाटाबेस से पूछताछ के बाद अपने उद्देश्य को पूरा करेगा ताकि यह तेजी से ठंडा हो। लेकिन यह स्मृति उपभोग कर रहा है क्योंकि आप देख सकते हैं कि हमने दो थ्रेड भी शुरू किए हैं जब दोनों अनुरोध पूछताछ हो रही है वही डेटा तो आपको डेडलॉक प्रकार के मुद्दों से निपटना होगा। तो इंतजार करने से बेहतर यह है लेकिन अभी भी मुद्दे हैं।

अब यह है कि कैसे नोड यह करेगा:

3. नोडवे: जब एक ही समवर्ती अनुरोध नोड में आता है तो यह एक कॉलबैक के साथ एक ईवेंट पंजीकृत करेगा और आगे बढ़ेगा, यह किसी विशेष अनुरोध के लिए क्वेरी प्रतिक्रिया की प्रतीक्षा नहीं करेगा। इसलिए जब r1 अनुरोध आता है तो नोड का ईवेंट लूप (हाँ एक घटना है नोड में लूप जो इस उद्देश्य को पूरा करता है।) अपने कॉलबैक फ़ंक्शन के साथ एक ईवेंट पंजीकृत करें और r2 अनुरोध की सेवा के लिए आगे बढ़ें और इसी तरह अपनी घटना को कॉलबैक के साथ पंजीकृत करें। जब भी कोई प्रश्न समाप्त होता है तो यह इसके संबंधित ईवेंट को ट्रिगर करता है और बिना किसी बाधा के पूरा होने पर कॉलबैक निष्पादित करता है।

तो कोई इंतजार नहीं, कोई थ्रेडिंग नहीं, कोई स्मृति खपत नहीं - हाँ यह बाकी एपीआई की सेवा के लिए नोडवे है।


मैं कुछ बिंदुओं को साझा कर सकता हूं जहां नोड जेएस का उपयोग करना है।

  1. रीयलटाइम अनुप्रयोगों जैसे चैट, सहयोगी संपादन बेहतर के लिए हम नोडजेस के साथ जाते हैं क्योंकि यह घटना आधार है जहां सर्वर से सर्वर पर आग ईवेंट और डेटा होता है।
  2. सरल और समझने में आसान क्योंकि यह जावास्क्रिप्ट आधार है जहां अधिकांश लोगों के पास विचार है।
  3. वर्तमान वेब अनुप्रयोग कोणीय जेएस और रीढ़ की हड्डी की तरफ जा रहे हैं, नोड के साथ क्लाइंट साइड कोड के साथ बातचीत करना आसान है क्योंकि दोनों जेसन डेटा का उपयोग करेंगे।
  4. बहुत सारे प्लगइन्स उपलब्ध हैं।

कमियां: -

  1. नोड अधिकांश डेटाबेस का समर्थन करेगा लेकिन सबसे अच्छा मोंगोडब है जो जटिल जुड़ाव और दूसरों का समर्थन नहीं करेगा।
  2. संकलन त्रुटियां ... डेवलपर को प्रत्येक अपवाद को अन्य बुद्धिमानों को संभालना चाहिए यदि कोई त्रुटि समझौता अनुप्रयोग काम करना बंद कर देगा, जहां हमें फिर से जाना होगा और इसे मैन्युअल रूप से शुरू करना होगा या किसी भी स्वचालन उपकरण का उपयोग करना होगा।

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


यदि आपका आवेदन मुख्य रूप से वेब एपिस, या अन्य आईओओ चैनलों को टेटर्स करता है, तो उपयोगकर्ता इंटरफ़ेस दें या ले लें, node.js आपके लिए एक उचित चयन हो सकता है, खासकर यदि आप सबसे अधिक स्केलेबिलिटी को निचोड़ना चाहते हैं, या यदि आपकी मुख्य भाषा जीवन में है जावास्क्रिप्ट (या प्रकार के जावास्क्रिप्ट ट्रांसपेलर) है। यदि आप माइक्रोस्कोर्सेस बनाते हैं, तो node.js भी ठीक है। Node.js किसी भी परियोजना के लिए भी उपयुक्त है जो छोटा या सरल है।

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

हालांकि, एक निश्चित बिंदु से परे, आप मॉड्यूलरिटी, पठनीयता और प्रवाह नियंत्रण को मजबूर करने के लिए भयानक हैक्स के बिना अपना कोड स्केल नहीं कर सकते हैं। कुछ लोग हैंक की तरह कुछ लोग, विशेष रूप से एक घटना संचालित जावास्क्रिप्ट पृष्ठभूमि से आते हैं, वे परिचित या क्षमा करने योग्य लगते हैं।

विशेष रूप से, जब आपके एप्लिकेशन को सिंक्रोनस प्रवाह करने की आवश्यकता होती है, तो आप आधा बेक्ड समाधानों पर खून बहना शुरू करते हैं जो आपकी विकास प्रक्रिया के संदर्भ में काफी धीमा हो जाते हैं। यदि आपके आवेदन में गहन भागों की गणना है, तो सावधानी पिकिंग (केवल) node.js. के साथ चलें हो सकता है कि Koajs या अन्य novelties मूल रूप से thodey पहलुओं को कम करते हैं, जब मैं मूल रूप से node.js का इस्तेमाल किया या यह लिखा था।







web-applications