asp.net-mvc
MVC बनाम वेब फ़ॉर्म
खोज…
परिचय
इससे पहले कि आप एएसपी में कूदें। NET MVC आपके वेब एप्लिकेशन को विकसित करने के लिए आपको फ्रेमवर्क के फायदे और नुकसान पर विचार करना चाहिए और आपको पता होना चाहिए कि Microsoft द्वारा बनाई गई और बनाए रखी गई एक और वेब फ्रेमवर्क है जो ASP .NET वेब फॉर्म है।
आपको किसे चुनना चाहिए यह दोनों टेक्नोलोजी के ज्ञान का विषय है।
वाक्य - विन्यास
ASPX व्यू इंजन सर्वर-साइड सामग्री को रेंडर करने के लिए "<% =%>" या "<%:%>" का उपयोग करता है।
रेज़र व्यू इंजन सर्वर-साइड सामग्री को रेंडर करने के लिए @ का उपयोग करता है।
टिप्पणियों
ASP .NET वेब फॉर्म के लाभ
ग्रिड, इनपुट्स, ग्राफ, पेड़, वगैरह को संभालने के लिए प्री बिल्ड कंट्रोल।
यह एक इवेंट मॉडल का समर्थन करता है जो HTTP पर राज्य को संरक्षित करता है, जो लाइन ऑफ-बिज़नेस वेब एप्लिकेशन डेवलपमेंट को लाभ देता है। वेब फॉर्म-आधारित एप्लिकेशन दर्जनों घटनाएं प्रदान करता है जो सैकड़ों सर्वर नियंत्रणों में समर्थित हैं।
यह एक पृष्ठ नियंत्रक पैटर्न का उपयोग करता है जो व्यक्तिगत पृष्ठों में कार्यक्षमता जोड़ता है। अधिक जानकारी के लिए, MSDN वेब साइट पर पृष्ठ नियंत्रक देखें।
यह दृश्य स्थिति या सर्वर-आधारित रूपों का उपयोग करता है, जिससे राज्य की जानकारी को प्रबंधित करना आसान हो सकता है।
यह वेब डेवलपर्स और डिजाइनरों की छोटी टीमों के लिए अच्छी तरह से काम करता है जो बड़ी संख्या में तेजी से अनुप्रयोग विकास के लिए उपलब्ध घटकों का लाभ उठाना चाहते हैं।
सामान्य तौर पर, यह अनुप्रयोग विकास के लिए कम जटिल होता है, क्योंकि घटक (पृष्ठ वर्ग, नियंत्रण और इसी तरह) कसकर एकीकृत होते हैं और आमतौर पर एमवीसी मॉडल की तुलना में कम कोड की आवश्यकता होती है।
उन विकासकर्ताओं के लिए आसान विकास मॉडल जो WindowsForm विकास से आते हैं।
MVC- आधारित वेब अनुप्रयोग के लाभ
यह एक आवेदन को मॉडल, दृश्य और नियंत्रक (चिंताओं का पृथक्करण) में विभाजित करके जटिलता का प्रबंधन करना आसान बनाता है।
यह दृश्य स्थिति या सर्वर-आधारित रूपों का उपयोग नहीं करता है। यह उन डेवलपर्स के लिए MVC फ्रेमवर्क को आदर्श बनाता है जो किसी एप्लिकेशन के व्यवहार पर पूर्ण नियंत्रण चाहते हैं।
यह एक फ्रंट कंट्रोलर पैटर्न का उपयोग करता है जो एक एकल नियंत्रक के माध्यम से वेब एप्लिकेशन अनुरोधों को संसाधित करता है। यह आपको एक एप्लिकेशन डिजाइन करने में सक्षम बनाता है जो एक समृद्ध रूटिंग इन्फ्रास्ट्रक्चर का समर्थन करता है। अधिक जानकारी के लिए, MSDN वेब साइट पर फ्रंट कंट्रोलर देखें।
यह परीक्षण संचालित विकास (टीडीडी) के लिए बेहतर समर्थन प्रदान करता है।
यह वेब अनुप्रयोगों के लिए अच्छी तरह से काम करता है जो डेवलपर्स और वेब डिजाइनरों की बड़ी टीमों द्वारा समर्थित होते हैं जिन्हें एप्लिकेशन व्यवहार पर नियंत्रण के उच्च स्तर की आवश्यकता होती है।
नुकसान
वेब फ़ॉर्म:
- जटिल पृष्ठ जीवन चक्र, जब भी सर्वर से अनुरोध किया जाता है, तो ईवेंट हैंडलर के पिछले निष्पादन के लिए कम से कम 5 तरीके होते हैं।
- JQuery या कोणीय जैसे क्लाइंट-साइड चौखटे के साथ काम करने के लिए Dificult।
- Asyncronous Javascript और XML (AJAX) के साथ काम करना मुश्किल
- देखने का काम
- पृष्ठ का क्लाइंट-साइड और पीछे का कोड कसकर युग्मित है।
MVC:
- वेब फॉर्म के साथ तुलना में विकसित होने में अधिक समय लगता है।
- सर्वर को स्पष्ट पाठ प्रारूप में डेटा भेजा जाता है जबकि वेब प्रपत्रों में राज्य डेटा डिफ़ॉल्ट रूप से एन्क्रिप्ट किया जाता है।
रेजर व्यू इंजन वीएस एएसपीएक्स व्यू इंजन
रेजर (MVC) | ASPX (वेब फॉर्म) |
---|---|
रेजर व्यू इंजन द्वारा प्रयुक्त नामस्थान System.Web.Razor है | ASPX व्यू इंजन द्वारा उपयोग किए जाने वाले नामस्थान System.Web.Mvc.WebFormViewEngine है |
रेज़र व्यू इंजन द्वारा उपयोग की जाने वाली फ़ाइल एक्सटेंशन वेब फॉर्म व्यू इंजन से अलग हैं। यह व्यू, आंशिक दृश्य, टेम्प्लेट और लेआउट पृष्ठों के लिए v # के साथ cshtml का उपयोग करता है। | वेब फ़ॉर्म व्यू इंजन द्वारा उपयोग किए जाने वाले फ़ाइल एक्सटेंशन ASP.Net वेब फ़ॉर्म की तरह हैं। यह आंशिक विचार या उपयोगकर्ता नियंत्रण या टेम्पलेट के लिए aspc एक्सटेंशन और लेआउट / मास्टर पृष्ठों के लिए मास्टर एक्सटेंशन देखने के लिए ASPX एक्सटेंशन का उपयोग करता है। |
रेजर इंजन टेस्ट ड्रिवेन डेवलपमेंट (TDD) को सपोर्ट करता है। | वेब फॉर्म व्यू इंजन टेस्ट ड्रिवेन डेवलपमेंट (TDD) का समर्थन नहीं करता है क्योंकि यह परीक्षण को जटिल बनाने के लिए System.Web.UI.Page क्लास पर निर्भर करता है। |
ASPX व्यू इंजन VS रेजर व्यू इंजन