.NET दुनिया के पास रेल / कब्र / django / roo जैसी कोई चीज़ क्यों नहीं है? [बन्द है]


10

यह मुझे लगता है कि तेजी से विकास वेब प्लेटफॉर्म वेब अनुप्रयोगों की दुनिया को मौलिक रूप से बदलने जा रहे हैं।

रूबी के लिए रेल 1.0 जारी होने के पांच साल हो गए हैं, और उस समय से हमने ग्रूवी को ग्रूवी, पाइथन के लिए Django और जावा के लिए रूओ देखा है।

लेकिन मेरे ज्ञान में (जो कि शायद सीमित है, जावा / ग्रूवी प्रोग्मर होने के नाते) C # के लिए समान रूपरेखा नहीं है।

क्या ऐसी किसी वस्तु का अस्तित्व है? यदि नहीं, तो क्यों नहीं?

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

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

जवाबों:


5

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

बुनियादी जरूरतों से मेरा मतलब है कि एक पर्सिस्टेंस प्रोवाइडर, एक डिपेंडेंसी इंफीनेशन कंटेनर, एक लॉगिंग टूल, एक एमवीसी प्लेटफॉर्म, एक HTML टेम्पलेट इंजन, सीएसएस प्रीसेट के साथ एक वेब साइट टेम्पलेट स्टार्टर किट, एक सुरक्षा ढांचा और AJAX सुविधाओं के लिए कुछ जावास्क्रिप्ट लाइब्रेरी का कार्यान्वयन। और अन्य शांत सामान। रीलों जैसी संरचनाएं डोमेन मॉडल (अपनी विशेषताओं के साथ आपके सिस्टम की इकाइयां) के आधार पर इन सभी रूपरेखाओं और उपकरणों को ऑर्केस्ट्रेट करती हैं।

कन्वेंशन-ओवर-कॉन्फ़िगरेशन सिद्धांत के लिए धन्यवाद, ये फ्रेमवर्क आमतौर पर वे ऑर्केस्ट्रेट (जैसे स्प्रिंग, स्प्रिंग एमवीसी, हाइबरनेट, लॉग 4 जे, आदि) द्वारा आवश्यक कॉन्फ़िगरेशन फ़ाइलों को परिभाषित करने की आवश्यकता से बचते हैं, नामकरण के आधार पर डिफ़ॉल्ट रूप से कॉन्फ़िगरेशन मानते हैं। , संरचना और मेटाडेटा समान वर्गों की परिभाषाओं में शामिल हैं।

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

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

पिछले सभी परिभाषाओं का पालन करते हुए .NET दुनिया में अभी तक कुछ भी विकसित नहीं हुआ है। लेकिन कुछ भी नहीं है कि जल्द ही होने से रोकता है। .NET दुनिया में पहले से ही उपलब्ध महान रूपरेखाएँ, उपकरण और पुस्तकालय हैं जो सीएलआर के लिए बनाए गए नए रीलों-जैसे ढांचे द्वारा ऑर्केस्ट्रेट किए जा सकते हैं। निर्भरता की जरूरत के लिए दूसरों के बीच एकता, स्प्रिंग.नेट और कैसल विंडसर हैं। इकाई फ्रेमवर्क 4, NHibernate और iBatis.NET बहुत अच्छे हैं। .NET दृढ़ता प्रदाता। ASP.NET MVC पारंपरिक ASP.NET के अलावा विभिन्न टेम्पलेट इंजनों के समर्थन के साथ दृढ़ता से आया है।

यहां तक ​​कि अगर कोई भी इस तरह के ढांचे का निर्माण करने के लिए DLR भाषा का उपयोग करने के लिए प्राप्त नहीं करता है, तो पर्याप्त इच्छाशक्ति वाला कोई भी व्यक्ति स्प्रिंगस्टोर्स पथ का अनुसरण कर सकता है और कुछ स्थिर भाषा जैसे F #, C # या VB.NET के साथ RIDS जैसी रूपरेखा लागू कर सकता है, जिससे एक पहलू का उपयोग होता है। -आयात कंटेनर (जैसे AspectSharp या Gripper-LOOM.NET) गतिशील व्यवहार प्राप्त करने के लिए।

मैं .NET में इस तरह के ढांचे को विकसित करने की कोशिश कर रहे लोगों के किसी भी समूह के बारे में जानना पसंद करूंगा।


4

मुझे नहीं पता कि आप "तीव्र विकास वेब प्लेटफॉर्म" से क्या मतलब है। "तेजी से विकास" की परिभाषा जिससे मैं परिचित हूं उसका भाषाओं, प्रतिमानों या रूपरेखाओं से कोई लेना-देना नहीं है, बल्कि एक प्रणाली का निर्माण करने के लिए तेजी से प्रोटोटाइप और पुनरावृत्ति विकास का उपयोग करना है। किसी भी भाषा या ढांचे का समान रूप से उपयोग किया जा सकता है।

मैंने पहले कभी भी ग्रिल्स या रूओ का उपयोग नहीं किया है, लेकिन Django और रेल्स दोनों MVC फ्रेमवर्क हैं, इसलिए .NET में उनके समकक्ष ASP.NET MVC होंगे


1
खैर, मैं ASP.NET MVC को स्प्रिंग MVC के समकक्ष के रूप में देखूंगा। और यह कहना कि रेल एक एमवीसी ढांचा है, यह कहना है कि स्टैकओवरफ्लो एक क्यूए साइट है, जैसे विशेषज्ञ-एक्सचेंज। यह एक सच्चा कथन है, लेकिन यह सबसे महत्वपूर्ण विशेषता और इसके जंगली सक्सेज का कारण याद करता है।
एरिक विल्सन

1
कृपया "सबसे महत्वपूर्ण विशेषता" की व्याख्या करें। रूबी भाषा के लिए रेल MVC फ्रेमवर्क से ज्यादा कुछ नहीं है। जो इसके बारे में सब कुछ कैप्चर करता है।
थॉमस ओवेन्स

2
ठीक है, वसंत जावा के लिए एक एमवीसी ढांचा है, लेकिन यह बहुत कुछ नहीं करता है जो रेल और ग्रेल्स को महान बनाते हैं। उदाहरण के लिए, अनाज के साथ, एक डोमेन ऑब्जेक्ट बनाने के बाद, मैं टाइप कर सकता हूं grails generate-allऔर अनाज नियंत्रक, विचार पैदा करता है, और दृढ़ता का प्रबंधन करेगा।
एरिक विल्सन

3

आप विज़ुअल स्टूडियो में जा सकते हैं और वेब पेज पर नियंत्रणों को खींच सकते हैं और उन्हें हटा सकते हैं और उन्हें बिना किसी कोड के डेटाबेस में जोड़ सकते हैं। परीक्षण / देखने के लिए एक क्लिक करें। और एक वेबसाइट पर अपलोड करने के लिए एक क्लिक करें (ठीक है, क्रेडेंशियल दर्ज करें)।

ऐसा नहीं है कि यह सबसे अधिक उपयोग किया जाता है या इसे करने का अनुशंसित तरीका भी है, लेकिन यह वास्तव में इससे बहुत आसान नहीं है।


0

क्योंकि .NET वेब एप्लिकेशन में एक बिल्ड चक्र होता है।

रूबी / पायथन बहुत ही चुस्त / फुर्तीली और गतिशील भाषाएं होती हैं।

जहां मैं काम करता हूं, हमारे पास एक विशाल .NET वेब एप्लिकेशन है, और संकलन समय एक सामान्य मध्यम से बड़े C ++ प्रोग्राम के लिए तुलनीय है।

अपने अतिरिक्त में मैं अजगर में वेब एप्लिकेशन विकसित करता हूं, और संकलन समय 0. है। बस कोई संकलन कदम नहीं है। जैसे ही आप उन्हें सहेजते हैं, रनिंग दुभाषिया .py फाइलें पुनः लोड करता है।


1
ठीक है, जावा अनुप्रयोगों में एक निर्माण चक्र होता है, लेकिन स्प्रिंग रो अभी भी जावा / स्प्रिंग अनुप्रयोगों के लिए अद्भुत काम करता है। इसलिए मुझे लगता है कि यहां अन्य मुद्दे हैं।
एरिक विल्सन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.