2008-11-14 11 views
27

मुझे Asp.Net के साथ एप्लिकेशन बनाने पर कुछ अनुभव हैं, लेकिन अब एमवीसी फ्रेमवर्क अधिक लोकप्रिय हो गए हैं। मैं Asp.Net MVC या Castle MonoRail के साथ नए बहुभाषी वेब एप्लिकेशन का निर्माण करने का प्रयास करना चाहता हूं लेकिन मुझे नहीं पता कि मेरे लिए कौन सा अच्छा है। मुझे वेब फॉर्म व्यू इंजन पसंद नहीं है, लेकिन मुझे Asp.Net MVC में रूटिंग सुविधा पसंद है।Asp.Net एमवीसी बनाम कैसल मोनोरेल

  • क्या कोई भी उन लोगों के बीच पेशेवरों और विपक्ष के बारे में बता सकता है?
  • कौन सा व्यूइंजिन मास्टर टेम्पलेट को ओवरराइड करने के लिए बेहतर है?
+1

कोई "सर्वश्रेष्ठ" नहीं है, यह एक व्यक्तिपरक और तर्कसंगत सवाल है, मेरा सुझाव है कि आप "एक्स बनाम वाई के पेशेवरों और विपक्ष" को दोबारा शुरू करें और सबसे अच्छा चुनें। –

उत्तर

27

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

आप तकनीकी फायदे और नुकसान में बात करना चाहते हैं:

  • ASP.NET AJAX एक मेस (यह बचने के लिए) है, लेकिन वे अब jQuery मिल गया है। वास्तव में, jQuery समर्थन किसी भी अन्य पर्यावरण से बेहतर है। बेशक, आप केवल मानक दृश्य इंजन के साथ आईडीई एकीकरण के साथ पूरी तरह से प्राप्त करते हैं।
  • कुछ सौंदर्य सुधार हैं (उदाहरण के लिए, जिस तरह से मॉडल की जानकारी पास की जाती है वह बहुत साफ और मोनोरेल से अधिक स्पष्ट है)।

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

ऐसी चीजें हैं जो केवल सादे बदसूरत * पैरामीटर के लिए ऑब्जेक्ट लेने वाली विधियों की संख्या हैं। शुभकामनाएँ कि वे वास्तव में क्या उम्मीद करते हैं, दस्तावेज ढूंढ रहे हैं। * माइक्रोसॉफ्ट के इंटरफेस पर अमूर्त कक्षाओं के लिए प्यार। उनके पास कारण हैं, लेकिन मैं अभी भी इसे नापसंद करता हूं।

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

कुल मिलाकर, मुझे लगता है कि एएसपी.नेट एमवीसी एक विजेता है।

+3

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

+0

सामान्य रूप से एमवीसी 5 और एएसपी.नेट के बारे में आप क्या सोचते हैं [विजुअल स्टूडियो 2013] (http://weblogs.asp.net/scottgu/archive/2013/10/17/announcing-the-release-of- विजुअल-स्टूडियो-2013-और-महान-सुधार-से-एएसपी-नेट-एंड-इकाई-फ्रेमवर्क.एएसपीएक्स) में RTM'd है? –

+0

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

10

मोनोरेल और एएसपी.नेट एमवीसी मौलिक रूप से बहुत समान हैं, तो आप इनमें से किसी एक का उपयोग करके अच्छी तरह से बंद होना चाहिए। मोनोरेल काफी लंबा रहा है और इसलिए उच्च स्तर की विशेषताएं हैं।

एएसपी.नेट एमवीसी की मुख्य ताकत यह रूटिंग इंजन है, उचित होने के लिए मोनोरेल में काफी समकक्ष रूटिंग इंजन है, और कुछ संशोधन के साथ आप मोनोरेल के साथ एएसपी.नेट एमवीसी रूटिंग इंजन का उपयोग कर सकते हैं क्योंकि रूटिंग इंजन है वास्तव में एएसपी.नेट एमवीसी में नहीं बल्कि सिस्टम.Web.Routing में (.NET 3.5 SP1 में जारी)। एएसपी.नेट एमवीसी और विजुअल स्टूडियो के साथ एकीकरण भी एक प्लस है, और संभवतः हम बेहतर होंगे क्योंकि हम v1 के आरटीएम से संपर्क करते हैं।

एमवीसीकंट्रिब प्रोजेक्ट में स्पार्क, एनएचएएमएल और ब्राइल जैसे कुछ शानदार दृश्य इंजन शामिल हैं। किसी को भी "बेस्ट" नहीं माना जा सकता है, एक निजी पसंदीदा स्पार्क है। स्पार्क पर अधिक जानकारी के लिए: http://dev.dejardin.org/documentation/syntax

वेबफॉर्म इंजन में इंटेलिजेंस है जो मेरे ज्ञान के लिए सभी वैकल्पिक दृश्य इंजनों की कमी का एक बड़ा फायदा है।

+0

एनवेलोजिटी व्यू इंजन के लिए कुछ बुनियादी इंटेलिजेंस भी उपलब्ध है (सीवीएसआई प्रोजेक्ट - http://www.jonorossi.com/projects/cvsi/) के माध्यम से - यह 'काफी प्राथमिक है, लेकिन आम तौर पर आपको अपने विचारों की आवश्यकता होती है । – Bittercoder

+2

हम स्टैक ओवरफ्लो पर यहां उपयोग के लिए स्पार्क देख रहे हैं - यह अब तक एक शानदार दृश्य इंजन की तरह दिख रहा है! –

1
  1. मुझे लगता है कि एमवीसी हाथ से जीतता है। इसका फीचर सेट बहुत समान है, लेकिन दोनों के "लोकप्रिय" होने जा रहा है (और इस प्रकार आमतौर पर अधिक व्यापक रूप से समर्थित, दस्तावेज और विकास समुदाय में विस्तारित)। इसके अलावा, मेरे विचार में नया व्यूइंजिन (रेजर) .. और आईडीई सुधार कारक, और मेरी राय में, मोनोरेल पर एमवीसी चुनने के मूल्य को बढ़ावा देता है।

  2. मैंने बहुत सारे सामान्य व्यूइंजिन का उपयोग किया है, लेकिन भयानक स्ट्रिंग टेम्पलेट टेम्पलेट इंजन का उपयोग करके अपने स्वयं के (created an OpenSource Project) रोलिंग को घायल कर दिया है। एसटी चिंताओं, आईएमओ का एक वास्तविक अलगाव है। मैं अपने आप को बहुत कम टैग सूप के साथ परिणामस्वरूप बेहतर ऐप्स लिख रहा हूं। यदि आप इंजन पर टायर को चुनना चुनते हैं तो मैंने quick intro and reference guide भी फेंक दिया। मैंने परियोजनाओं पर बहुत बढ़िया भाग्य हासिल किया है जिसे मैंने अब तक इस्तेमाल किया है। ऐसा कहा जा रहा है, रेजर (एमवीसी 3) बहुत प्रभावशाली दिखता है।

+1

जैमिसन, क्या आप # 1 पर विस्तार कर सकते हैं? मुझे लगता है कि आपके उत्तर का अंत प्रारंभिक प्रश्न से विचलित हो रहा है (कोई अपराध नहीं, मुझे एएसपीनेट एमएसएमवीसी के लिए एक स्ट्रिंग टेम्पलेट व्यूइंगइन देखने में खुशी है) – smoothdeveloper

+0

-1 औचित्य की कमी के लिए –

+0

-1 विज्ञापन की तरह लगता है। –

7

अलावा Microsoft से कथित लोकप्रियता और समर्थन से, ASP.NET MVC अभी भी कुछ मूलभूत सुविधाओं कि मोनोरेल नियंत्रक संगठन (क्षेत्र) की तरह एक लंबे समय के लिए किया गया है, देशी ViewComponents और फिल्टर है कि नाम करने के लिए आईओसी उपयोग कर सकते हैं का अभाव सबसे महत्वपूर्ण हैं।

मेरे पास कुछ बड़े अनुप्रयोग हैं जो इन सभी सुविधाओं का उपयोग करते हैं और मुझे एएसपी.नेट एमवीसी को पोर्ट करने में कठिन समय पड़ा है।

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

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

इस बीच में मैं धीरे-धीरे एमआरसी को अपने एमआर ऐप्स को पोर्टिंग कर रहा हूं, बस मामले में।

संबंधित मुद्दे