एक अनुवादक से: मैं अभी Node.js पर करीब से नज़र डालना शुरू कर रहा हूं, और जब मुझे यह मैनुअल मिला, तो मुझे पछतावा हुआ कि इसने पहले मेरी आंख नहीं पकड़ी थी। मुझे उम्मीद है कि इस अनुवाद से कई लोगों को यह समझने में मदद मिलेगी कि नोड क्या है और इसके साथ क्या खाया जाता है।क्या आपके पास पहले से ही खुजली वाले हाथ हैं जो Node.js की कोशिश कर रहे हैं और क्या बॉस को संसाधित करने का समय है? अपना समय ले लो! कुछ कंपनियों के लिए जो मैंने
सलाह दी थी कि क्या Node.js उनके लिए सही है, सही जवाब था "नहीं!"
यह गाइड उन लोगों के लिए मेरे व्यक्तिगत अनुभव के आधार पर युक्तियों का एक सेट है, जो यह पता लगाना चाहते हैं कि क्या यह उनकी कंपनी में नोड का उपयोग करने के लिए समझ में आता है, और यदि ऐसा है, तो अधिकारियों को कैसे मनाएं।
खराब विकल्प
भारी कंप्यूटिंग
हालाँकि मुझे Node.js से प्यार है, फिर भी कई मामले हैं जहाँ इसका उपयोग निरर्थक है। इनमें से सबसे स्पष्ट लंबा जटिल गणना और I / O संचालन की एक छोटी संख्या के साथ अनुप्रयोग हैं। इसलिए यदि आप एक वीडियो ट्रांसकोडर, आर्टिफिशियल इंटेलिजेंस या किसी अन्य प्रकार की डिजिटल ग्राइंडर लिखने जा रहे हैं, तो कृपया N.N.s. का उपयोग न करें। यह सिद्धांत रूप में संभव है, लेकिन सी / सी ++ में लिखना बेहतर है।
दूसरी ओर, नोड.जेएस सी ++ में ऐड-ऑन लिखना आसान बनाता है, इसलिए आप निश्चित रूप से इसे अपने शीर्ष-गुप्त एल्गोरिदम के शीर्ष पर स्क्रिप्ट इंजन के रूप में उपयोग कर सकते हैं।
सरल CRUD / HTML अनुप्रयोग
हालांकि Node.js अंततः किसी भी प्रकार के वेब एप्लिकेशन के लिए एक अच्छा उपकरण बन सकता है, लेकिन आपको यह उम्मीद नहीं करनी चाहिए कि यह आपको PHP, Ruby या Python से अधिक लाभ देगा। हां, आपका आवेदन थोड़ा बेहतर हो सकता है, लेकिन यह तथ्य कि यह यातायात के एक बड़े प्रवाह को संभाल सकता है, इसका मतलब यह नहीं है कि यह प्रवाह केवल इस तथ्य से बढ़ेगा कि आपने नोड का उपयोग किया था।
इस तथ्य के बावजूद कि नोड के लिए अच्छे ढांचे पहले से ही दिखाई दे रहे हैं, अभी भी रेल, केकपीएचपी या Django के करीब कुछ भी नहीं है। यदि आपका एप्लिकेशन मुख्य रूप से डेटाबेस से डेटा के साथ HTML टेम्पलेट्स को भरने में लगा हुआ है, तो Node.js आपको कोई मूर्त लाभ नहीं देगा।
NoSQL + Node.js + कोई भी फैशनेबल कचरा
यदि आपके भविष्य के अनुप्रयोग का आर्किटेक्चर NoSQL Cuisines श्रृंखला से एक नुस्खा संग्रह जैसा दिखता है, तो साँस छोड़ते, रोकें, और अगला पैराग्राफ पढ़ें।
हाँ, Redis, CouchDB, Cassandra, MongoDB, Riak और इतने पर बहुत स्वादिष्ट लग रही हो। सेब के बारे में जिसे ईव ने बहकाया था। आप पहले से ही Node.js का उपयोग करके जोखिम उठाते हैं, और आपको इस जोखिम को एक और नई तकनीक के साथ नहीं बढ़ाना चाहिए, जिसकी आपको सबसे अधिक संभावना है कि वह अंत तक पता नहीं लगा पाए।
बेशक, आप दस्तावेज़-उन्मुख डेटाबेस के पक्ष में बहुत सारे तर्क पा सकते हैं, लेकिन यदि आपका आवेदन लाभदायक होना चाहिए, तो सिद्ध तकनीकों (Postgres या MySQL) का उपयोग करने की विश्वसनीयता आपके लिए आपके geek-जैसी FAQ को बढ़ाने और अपने दोस्तों को दिखाने की क्षमता से अधिक महत्वपूर्ण होनी चाहिए।
अच्छा विकल्प
JSON एपीआई
Node.js शानदार रीस्ट / JSON इंटरफेस बनाने के साथ शानदार ढंग से मुकाबला करता है।
गैर-अवरोधक I / O और जावास्क्रिप्ट नोड को डेटाबेस या वेब सेवा के चारों ओर एक आवरण लिखने के लिए एक बढ़िया विकल्प बनाते हैं जो JSON प्रारूप में क्लाइंट के साथ संचार करता है।
एकल पृष्ठ अनुप्रयोग
यदि आप जीमेल जैसे जटिल AJAX एप्लिकेशन लिख रहे हैं, तो नोड भी बहुत अच्छा है। ब्राउज़र में अधिकांश काम करने वाले आधुनिक वेब अनुप्रयोगों के लिए, एक सर्वर जो एक ही समय में हजारों अनुरोधों को संसाधित कर सकता है और कम प्रतिक्रिया समय महान है। सर्वर और क्लाइंट पर समान कोड को पुन: उपयोग करने की क्षमता भी एक प्लस है।
कमांड लाइन टूल का उपयोग करना
जबकि Node.js अभी भी बहुत युवा है, विशेष रूप से उसके लिए हर वह चीज़ लिखने का प्रलोभन है जिसकी आवश्यकता हो सकती है। लेकिन मौजूदा कमांड लाइन टूल के विशाल चयन का उपयोग करना अधिक लाभदायक हो सकता है। नोड हजारों बाल प्रक्रियाओं को स्पॉन कर सकता है और उनके आउटपुट डेटा स्ट्रीम के साथ काम कर सकता है, जो उन लोगों को गंभीर लाभ दे सकता है जो पहिया को सुदृढ़ नहीं करना चाहते हैं।
स्ट्रीम डाटा प्रोसेसिंग
पारंपरिक वेब एप्लिकेशन स्टैक आमतौर पर HTTP अनुरोधों और प्रतिक्रियाओं को परमाणु घटनाओं के रूप में मानते हैं। लेकिन ये वास्तव में धागे हैं, और Node.js अनुप्रयोग इस तथ्य का लाभ उठा सकते हैं।
सर्वर पर अपलोड करते समय या विभिन्न परतों के बीच डेटा स्थानांतरित
करते समय महान उदाहरण
फाइलें संसाधित कर रहे हैं।
सॉफ्ट रियल टाइम सिस्टम
Node.js की एक और बड़ी विशेषता यह है कि आप आसानी से सॉफ्ट-टाइम सिस्टम बना सकते हैं। मेरा मतलब ट्विटर, चैट, खेल की घटनाओं पर दांव को स्वीकार करने या आईएम प्रोटोकॉल के इंटरफेस से है।
जरा संभल कर! यह जावास्क्रिप्ट है, और प्रतिक्रिया समय बहुत भिन्न हो सकता है यदि कचरा कलेक्टर wedges (जो, अफसोस, जावास्क्रिप्ट के निष्पादन धागे को अवरुद्ध करता है)। तो गारंटी प्रतिक्रिया समय के साथ नोड पर एक कठिन वास्तविक समय प्रणाली बनाने की कोशिश न करें। इसके लिए एर्लांग काफी बेहतर है।
अधिकारियों को कैसे मनाएं?
अब जब आप सुनिश्चित हैं कि Node.js आपके लिए सही है, तो यह कोशिश करने के लिए अपने वरिष्ठों को समझाने का समय है।
एक प्रोटोटाइप बनाएं
एक आक्रामक को लॉन्च करने का सबसे अच्छा तरीका है कि एक हफ्ते में एक सिस्टम या उसके कुछ हिस्सों के प्रोटोटाइप का प्रस्ताव करना। आमतौर पर बॉस आसानी से सहमत हो जाता है, क्योंकि यह उसे किसी चीज के लिए बाध्य नहीं करता है।
और जब आपके पास काम करने का प्रोटोटाइप और हाथ पर परीक्षण के परिणाम हैं - ये पहले से ही नोड्स के पक्ष में बहुत अधिक ठोस तर्क हैं।
डेवलपर्स कहां से लाएं?
जो भी आप जावास्क्रिप्ट के बारे में सोचते हैं, वह एक सार्वभौमिक, एकल उपयोग वाली वेब प्रोग्रामिंग भाषा बन जाती है। एक या अधिक जावास्क्रिप्ट दुभाषिया लगभग हर कंप्यूटर पर ब्राउज़रों के हिस्से के रूप में उपलब्ध हैं, और कोई भी वेब डेवलपर लगभग निश्चित रूप से थोड़ा जावास्क्रिप्ट जानता होगा।
इसका मतलब है कि श्रम बाजार में हर स्वाद और रंग के लिए प्रोग्रामर का एक विशाल चयन, और आपकी कंपनी में संभवतः पहले से ही सही कर्मी हैं। इसलिए यदि आप एक बढ़ती हुई कंपनी में काम करते हैं जो सक्रिय रूप से भर्ती है, तो यह Node.js. के पक्ष में एक और तर्क है।
सक्रिय समुदाय
Node.js समुदाय अब ब्रेकनेक गति से बढ़ रहा है, जो उद्योग में सर्वश्रेष्ठ डेवलपर्स को आकर्षित करता है। इसका मतलब है कि नोड पारिस्थितिकी तंत्र बढ़ रहा है, मुफ्त या व्यावसायिक आधार पर समर्थन प्राप्त करना आसान हो रहा है।
उत्पादकता
यह तर्क बल देने के लिए बेहतर नहीं है, लेकिन यदि प्रदर्शन आपके आवेदन के लिए महत्वपूर्ण है, तो Node.js के पास प्रस्ताव देने के लिए कुछ है। Google का अंतर्निहित नोड V8 इंजन पहले से ही बहुत तेज़ है और हर दिन बेहतर हो रहा है, क्योंकि अब ब्राउज़र मार्केट (मोज़िला, Google, Apple, Microsoft और ओपेरा) के सभी पांच प्रमुख खिलाड़ी अपने प्रतिद्वंद्वियों से बेहतर जावास्क्रिप्ट इंजन बनाने के लिए प्रयास कर रहे हैं।
यदि आप गैर-अवरुद्ध नोड I / O मॉडल को भी ध्यान में रखते हैं, तो आपको एक धीमी एप्लीकेशन लिखने की कोशिश करनी होगी। अधिकांश नोड एप्लिकेशन पूरी तरह से सामान्य हार्डवेयर पर हजारों युगपत कनेक्शनों को आसानी से संभाल सकते हैं।
बड़े निगमों के लिए समर्थन
युवा ओपन सोर्स प्रोजेक्ट का उपयोग करते समय जोखिमों में से एक लेखकों से दीर्घकालिक गारंटी की कमी है। लेकिन यह Node.js. के लिए कोई समस्या नहीं है
जॉयंट ने रेयान डाहल और कई अन्य प्रमुख नोड डेवलपर्स
को काम पर रखा है और इस परियोजना को प्रायोजित कर रहे हैं, इसलिए Node.js के भविष्य की गारंटी गंभीर आर्थिक ताकत से है।
शायद ही इस वजह से याहू जैसी कंपनियाँ! और एचपी ने पहले ही अपने नए उत्पादों में नोड का उपयोग करने का फैसला किया है, इसलिए आप अपने बॉस को एक उदाहरण के रूप में उद्धृत करके अतिरिक्त आत्मविश्वास दे सकते हैं।
कैसे एक ग्राहक को समझाने के लिए?
यदि आप एक फ्रीलांसर हैं या एक छोटी सी कंपनी में काम करते हैं, जो वेबसाइटों को ऑर्डर करने के लिए बनाती है, तो आपको ग्राहकों को समझाने, अलग तरीके से, अलग तरीके से काम करने की जरूरत है। आखिरकार, वे आपके निर्णयों पर बहुत अधिक निर्भर हैं और आशा करते हैं कि आप लिखे गए आवेदन का समर्थन करेंगे।
मेरी सलाह अधिक रूढ़िवादी, बेहतर दोहरी जांच होने की है यदि नोड वास्तव में उनके अनुरूप है। यदि हां, तो सुनिश्चित करें कि आपके पास समर्थन करने के लिए पर्याप्त समय और संसाधन हैं। नोड के नए संस्करण अक्सर सामने आते हैं, और यह प्रत्येक 3-6 महीनों में अपडेट करने की आवश्यकता पर विचार करने योग्य है।
ट्विटर और ऑटो ब्लॉग ।