अब मैं नोड पर देख रहा हूं। जेएस और यह प्रदर्शन के निहितार्थ हैं (मैं गति का आदी हूं), लेकिन मैंने इसमें बहुत कुछ नहीं किया है।
प्रोफ़ाइल, प्रोफ़ाइल, प्रोफ़ाइल। यह जानने का एकमात्र तरीका है कि आपके स्पीडअप का उचित प्रभाव हो रहा है। आप अनुमान लगा सकते हैं कि यह काफी तेज है। लेकिन ज्यादातर लोग समय से पहले अनुकूलन करना पसंद करते हैं। डेट के दौरान खुद के साथ खेलने से भी बदतर है।
मैं सोच रहा था कि अगर नोड.जेएस सी # और एएसपी.नेट एमवीसी में मेरे विशिष्ट वेब विकास को पूरी तरह से बदल सकते हैं, अगर यह सी # और एएसपी.नेट एमवीसी के पूरक के रूप में बेहतर है, या यदि कुछ चीजें हैं जो बस "अच्छी तरह से अकेले छोड़ दें" "।
क्या C # और node.js के लिए / उपयोग के मामले हैं?
ज़रूर, यदि आप एक दुकान में हैं जो नियमित रूप से C # में कोड लिखते हैं, तो आपको MVC का उपयोग करना चाहिए (यह WebForms की तुलना में बहुत बेहतर है, और इसे वेबपेज कहा जाता है)। आप टूलींग प्रशिक्षण के लिए बहुत समय नहीं गंवाने जा रहे हैं, और यह कुछ ऐसा है जिसे आपके वर्कफ़्लोज़ को पहले से ही संभालना चाहिए।
जो आप ऊपर इंगित नहीं करते हैं वह प्रत्येक को चुनने का कारण है। आपने दो वर्तमान बाजार विकल्प दिए हैं, एक अभी भी अल्फा चरणों में है, दूसरा इसके प्लेटफॉर्म रिलीज के पूरे तीसरे वर्ष पर है। मैं वर्तमान परीक्षण मॉडल इलेक्ट्रिक कारों की तुलना होंडा संकर के साथ नहीं करना चाहता हूं जो पहले से ही बाजार में हैं। वे दो अलग-अलग लीगों में हैं।
अब, यहाँ आपके लिए नोड से दूर रहने का एक कारण है। यदि आप नाममात्र C # दुकान हैं।
आप वर्तमान में अतुल्यकालिक ईवेंट i / o में काम नहीं करते हैं, आप वर्तमान में एक प्रक्रियात्मक प्रारूप में काम करते हैं।
यह आपके लिए क्या करने जा रहा है, इसके लिए एंटीथिसिस है।
हालाँकि, यदि आप अक्सर C # में async कोड लिख रहे हैं, और आप इसे एक ईवेंटेड शैली में बहुत अधिक उपयोग करते हैं, तो हाँ, नोड.जेएस आपके लिए दृढ़ता से विचार करने के लिए है।
यहाँ आप क्या देंगे:
IIS - यह वास्तव में बहुत से लोगों के लिए महत्वपूर्ण है। देशी ए / डी एकीकरण जैसी चीजें पहले से ही की जाती हैं, और सुंदर बग-मुक्त हैं। वास्तव में नोड.जेएस अब आईआईएस के साथ अच्छी तरह से एकीकृत है।
- रेजर टेंपलेटिंग - यदि आपने कोई गंभीर सी # एमवीसी किया है, तो आप रेजर का उपयोग और प्यार कर रहे हैं और आप कितनी जल्दी चीजों को काट सकते हैं। नोड में समान टेम्प्लेट हैं, और मैं निश्चित रूप से नोड नॉक नहीं कर रहा हूं, लेकिन संपूर्ण टूलकिन पहले से ही सी # में मौजूद है, और बहुत सारे वर्तमान में नोड दुनिया में बनाया जा रहा है। ध्यान दें: इस टूलींग का एक बहुत अब नहीं बल्कि परिपक्व है _
- dlls का संकलन-समय निर्माण - node.js आमतौर पर मक्खी पर संकलित किया जाता है, यह कहना है, स्टार्टअप पर सभी रास्तों की जांच नहीं की जाती है। नोड में वास्तव में बुरा कोड होना पूरी तरह से संभव है जो किसी के खिलाफ कभी भी छूता नहीं है, चेक करता है, या परीक्षण करता है।
- वर्तमान में सभी उपकरण जो वीएस में निर्मित हैं, जिनका आप दैनिक उपयोग करते हैं - जावास्क्रिप्ट के लिए बस इतना वीएस समर्थन नहीं है। आंशिक रूप से क्योंकि जावास्क्रिप्ट में सब कुछ इतना गतिशील है। NB: Microsoft स्पष्ट रूप से जावास्क्रिप्ट _ के लिए टूलिंग समर्थन पर काम कर रहा है
यहाँ आप क्या हासिल करेंगे:
- आपके द्वारा विकसित की जाने वाली हर चीज एक ही भाषा में होगी, मान लें कि आप क्लाइंट साइड स्क्रिप्टिंग के साथ-साथ सर्वरसाइड भी करते हैं। (या आप सर्वर पर जावास्क्रिप्ट पर भी विचार क्यों करेंगे)
इसलिए, जब से मैं पूरी तरह से यहां नोड को कोसने लगा हूं, मुझे यह बताना चाहिए कि नोड घर पर मेरी खेल भाषा है, मुझे यह पसंद है, और मैं कभी-कभी स्टैकओवरफ्लो चैट सर्वर (कमरा 642) पर लोगों को इसे डिबग करने में मदद करता हूं। मैं देख रहा हूं कि भविष्य में इसकी बड़ी और शानदार क्षमता है।
मैं सिर्फ यह कह रहा हूं कि बच्चे को बाहर मत फेंको और आश्चर्य करो कि स्नान का पानी गंदा क्यों है।
आपने एक कारण नहीं दिया है कि आपको अपने वर्षों के अनुभव को क्यों छोड़ना चाहिए और कुछ नया शुरू करना चाहिए। या तो खराब उपकरण हैं? हर्गिज नहीं। दोनों महान हैं और विकास को एक हवा देते हैं।
क्या नोड C # की जगह ले सकता है? हाँ, बिलकुल। तो PHP या जावा या रूबी कर सकते हैं। आप उन लोगों के बारे में नहीं पूछ रहे हैं।
यहां बताया गया है कि जब आप C # के बजाय नोड.जेएस प्रोग्राम करने के लिए तैयार होते हैं, तो आप कैसे जानते हैं:
- आप अन्य लोगों की मदद करने के लिए एक पुस्तक लिखने पर विचार कर रहे हैं जो C # और आदि से पहले लिखे गए उबाऊ पुराने कार्यक्रमों के बजाय "जावास्क्रिप्ट प्राप्त करें"।
- आपको समकालिक (अवरुद्ध) I / O से अपने ऐप्स को वास्तविक कार्य करने से रोकने में समस्याएँ आई हैं।
- आप डिफ़ॉल्ट MVC के अलावा C # में किसी भी लाइब्रेरी का उपयोग नहीं कर रहे हैं और वह केवल रूटिंग के लिए है, और आपको पूरा यकीन है कि आप एक बेहतर रूटिंग इंजन कर सकते हैं, और आप धातु के करीब सब कुछ कोड कर रहे हैं जितना आप कर सकते हैं।
- आपके द्वारा डिज़ाइन की जाने वाली प्रत्येक डेटा ऑब्जेक्ट को एक जोरदार टाइप की गई वस्तु के बजाय हैश के रूप में देखते हैं।