"यदि आपके पास पहले से नहीं है, तो आपको node.js इंस्टॉल करने की आवश्यकता होगी ..." आप इस तरह के संदेश पढ़ते हैं और आप बंद कर दिए जाते हैं। क्यूं कर?
नोडजेएस Google का वी 8 "अपने आप पर चल रहा है"। यह एक अतिरिक्त जेएस इंजन है जिसमें अतिरिक्त निम्न-स्तरीय एपीआई (नेटवर्क, आई/ओ, आदि) है। नोडजेएस जेएस डेवलपर्स के लिए "लापता प्लेटफ़ॉर्म" प्रदान करता है, जो ब्राउज़र पर काम करने के लिए सीमित थे।
यह नोड.जेएस और एनपीएम पर निर्भरता क्यों है?
नोड.जेएस, इसे ऐप (सर्वर, प्रॉक्सी, बॉट इत्यादि) के रूप में उपयोग करने के अलावा, इसे टूल बिल्ड और सहायता विकास के रूप में भी उपयोग किया जा सकता है। उदाहरण के लिए लें ग्रंट जो एक स्क्रिप्ट योग्य स्वचालन उपकरण है जो मेक के समान है। केवल सादा जेएस में स्क्रिप्टिंग, आपको स्वचालन करने के लिए एक और टूल या भाषा नहीं सीखनी चाहिए। एक और उपकरण बोवर है, जो एक फ्रंट एंड पैकेज प्रबंधन उपकरण है। आपको केवल bower install jquery
करना है और यह उस एकल कमांड के साथ jquery इंस्टॉल करता है। मैन्युअल डाउनलोड, कॉपी और पेस्ट करने की कोई ज़रूरत नहीं है।
दूसरी ओर, एनडीएम, नोड.जेएस पैकेज प्रबंधक है। यह एक ऐसा प्रोग्राम है जो आपके द्वारा उपयोग किए जाने वाले मॉड्यूल का प्रबंधन करता है। अपने मॉड्यूल को मैन्युअल रूप से सूचीबद्ध करने की आवश्यकता नहीं है, और जब आप कहीं और विकसित करते हैं तो उन्हें याद रखने की आवश्यकता नहीं है। जब तक आपके पास पैकेज सूची एनपीएम आपके लिए बनाई गई हो, तब तक पुनर्स्थापित करना npm install
का मामला है।
हम चीजों को जटिल क्यों बना रहे हैं?
हम नहीं हैं। वास्तव में, हम उन्हें डेवलपर्स के लिए आसान बना रहे हैं। अपने वर्कफ़्लो पर चिंता करने, अपने पुस्तकालयों को प्रबंधित करने या मैन्युअल रूप से सामान करने के बजाय, आप इन कार्यों को एनपीएम पर मौजूद कुछ मॉड्यूल में बंद कर सकते हैं। फिर आप केवल उस पर ध्यान केंद्रित कर सकते हैं जो आप वास्तव में कर रहे हैं।
इस पर हम इन libs/ढांचे का उपयोग करने के लिए Node.js का उपयोग कर रहे हैं ... इन पुस्तकालयों के नए जेएस डेवलपर्स के लिए यह कैसे उपयोग करेगा? जेएस आसान था!
जैसा ऊपर बताया गया है, नोडजेएस एक बहुमुखी मंच है। इसका उपयोग एक सर्वर (कनेक्ट, एक्सप्रेस), एक स्वचालन उपकरण (ग्रंट), एक पैकेज प्रबंधन प्रणाली (एनपीएम, बोवर इत्यादि का उपयोग करके), एक परीक्षण प्लेटफॉर्म (क्विनीट, मोचा), प्रॉक्सी, गेम सर्वर, चैट बॉट के रूप में किया जा सकता है ।
और यह विशेष रूप से जेएस डेवलपर के लिए फायदेमंद है, क्योंकि ये जेएस में संभव नहीं थे।
वहां पहले से ही जे एस में बहुत की एक समस्या है - अभी तक भी कई सक्रिय जे एस libs/चौखटे से चुनने के लिए - जे एस libs के रिकॉर्ड को देखते हुए सबसे जल्द ही निष्क्रिय हो जाएगा। वहाँ अभी भी कई चीजें हैं जो देखने के लिए अक्सर एक एप्लिकेशन में एकाधिक चौखटे में परिणाम कर रहे हैं - निर्भरता प्रबंधन, राउटर, MVC, templating, आदि
खैर, यह चौखटे के एक प्रचुर मात्रा में सेट है करने के लिए अच्छा है। उनमें से कुछ सीखने के बाद आपका काम आधे में कट जाएगा। कोडिंग की विभिन्न शैलियों और कार्यान्वयन के विभिन्न दृष्टिकोणों को संबोधित करने के लिए कार्यान्वयन विविधता भी अच्छी है। कुछ पुस्तकालय अलग-अलग दृष्टिकोण से बढ़ते हैं, जबकि अन्य असंगतताओं और/या दूसरों की अपूर्णता से उभरते हैं।
डेवलपर्स जेएस क्विर्क को सामान्यीकृत करके अन्य डेवलपर्स के लिए जीवन को आसान बनाने के लिए काम पर कड़ी मेहनत कर रहे हैं (क्योंकि ब्राउज़र विक्रेता सिर्फ मानक मानकों की सही चीज़ नहीं कर सकते हैं) और उनमें से अधिकतर स्वेच्छा से मुफ्त बियर की तरह किए जाते हैं - आपको इसके लिए खुश होना चाहिए। इसके अलावा, कोई भी आपको किसी भी तरह का उपयोग करने के लिए मजबूर नहीं कर रहा है।
क्या "चरम उपायों"? –
मैं अपने जावास्क्रिप्ट पुस्तकालयों के साथ नोड.जेएस और एनपीएम का उपयोग नहीं कर रहा हूं। इसलिए मैं दावा करता हूं कि आपका ∀ दावा गलत है। – Pointy
मुझे * संकलन * भाग नहीं मिलता है, क्या आपका मतलब कॉफ़ीस्क्रिप्ट है और इसके समान है? क्या आप उस अर्थ में संकलन का मतलब था? – Joseph