2010-02-10 18 views
10

जानें यह एक डुप्ली हो सकता है लेकिन मुझे सीधा जवाब नहीं मिल रहा है। यदि कोई व्यक्ति वेब विकास सीखने के बारे में है। नेट फ्रेमवर्क, वह किस तकनीक के लिए जाना चाहिए?Asp.Net WebForms या Asp.Net MVC

  • Asp.Net WebForms
  • Asp.Net MVC

ध्यान में रखते हुए इन तीन पहलुओं

  • भविष्य गुंजाइश
  • जटिलता
  • सुविधाओं

नोट: कुछ का उपयोग कर सी #

धन्यवाद

उत्तर

5

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

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

मेरी व्यक्तिगत सिफारिश एमवीसी (और यह पैटर्न) सीखना है क्योंकि इसमें कोई बड़ा निर्भरता स्वामित्व माइक्रोसॉफ्ट घटक नहीं है और आपको फ्रंट पर अपने आवेदन के बारे में सोचता है और यह पीछे की ओर से बातचीत करता है।

यदि आप एक बड़ी एमवीसी साइट का अच्छा उदाहरण चाहते हैं ... आप इस पर हैं .. एएसपी.नेट एमवीसी पर स्टैक ओवरफ्लो चलाएं।

उम्मीद है कि यह मदद करता है, यह एक बहुत ही सामान्य राय है और दोनों तर्कों के लिए बहुत कुछ है।हालांकि व्यक्तिगत अनुभव से मुझे लगता है कि एमवीसी आपको लंबे समय तक बहुत अधिक पुन: प्रयोज्य मानक वेब प्रौद्योगिकियों को सिखाएगी।

Ciao

जॉन

1

इस सवाल का एक निश्चित जवाब संभव नहीं है, लेकिन मैं कुछ तथ्य और कुंजी अंक के साथ आप पर प्रकाश डाल कर आप एक निर्णय लेने में मदद कर सकते हैं प्रोग्रामिंग WinForms किया है दोनों प्रौद्योगिकियों का।

वेब फॉर्म लंबे समय से वहां रहे हैं इसलिए जब वे समय पर काम करने की बात आते हैं तो वे एमवीसी की तुलना में अधिक परिपक्व और भरोसेमंद होते हैं! एमवीसी की तुलना में वेब पर भी ज्ञान आधार वेब-फॉर्म के लिए बहुत बड़ा है।

वेब फॉर्म अधिक कार्यात्मक रूप से समृद्ध हैं और आप जो चाहते हैं उस पर अधिक नियंत्रण देता है, आप कैसे करना चाहते हैं। जहां एमवीसी की हल्की वजन अनुप्रयोग विकास मंच होने की अपनी सुंदरता है।

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

stackoverflow.com एएसपीएनटी एमवीसी मंच का उपयोग करके बनाया गया है।

+1

मैं आपसे अधिक असहमत नहीं हो सका। एमवीसी वेब ढांचे के लिए एक सिद्ध पैटर्न है (अधिकांश एमवीसी हैं)। सामान्य रूप से पैटर्न और एएसपी.नेट एमवीसी ढांचे पर विशेष रूप से वहां एक हास्यास्पद जानकारी है। अब मेरा विवादास्पद कथन है: सबसे अच्छे .NET डेवलपर्स पहले से ही एक एमवीसी फ्रेमवर्क (आवश्यक रूप से एएसपी.नेट एमवीसी) में नहीं गए हैं क्योंकि उन्हें एहसास है कि यह एक बेहतर पैटर्न है। –

+0

"वेब फॉर्म अधिक कार्यात्मक रूप से समृद्ध हैं और आप जो चाहते हैं उस पर आपको अधिक नियंत्रण देता है" मुझे यह नहीं मिल रहा है। अधिकांश ट्यूटोरियल/किताबें बताती हैं कि एमवीसी वेबफॉर्म की तुलना में एप्लिकेशन को और कैसे करना चाहिए इसके बारे में अधिक लचीलापन और नियंत्रण प्रदान करता है !!! –

5

यह हो सकता है fairly controversial :)

मेरे व्यक्तिगत राय है, वेबफॉर्म में निवेश करना बंद करें (यह वेब के लिए एक टूटा हुआ मॉडल है) और Asp.Net MVC सीखें ताकि न केवल आप अच्छी तरह से डिज़ाइन वेब अनुप्रयोगों का उत्पादन कर सकें लेकिन आप वेब पर कहीं और अपने ज्ञान का उपयोग कर सकते हैं। एमवीसी आपको HTTP, एचटीएमएल और अन्य अंतर्निहित 'वेब इंफ्रास्ट्रक्चर' से अवगत कराती है जिससे आपको सफल परिणामों के लिए बेहतर मौका मिलता है।

तो जब तक आप पैसा बनाना नहीं चाहते हैं (फिर भी पूरी तरह से व्यक्तिगत राय, इसे नमक की चुटकी से लें) वेबफॉर्म की पुरानी स्थापनाओं का समर्थन करना (कोबोल की तरह थोड़ा - आपको घोड़ों को वेबफॉर्म प्रशंसकों को पकड़ें :)) मैं निश्चित रूप से दृढ़ता से सुझाव दूंगा Asp.Net एमवीसी;)। दी .. मैं, webforms पर हाल के घटनाक्रमों (especially 4.0 ones) पता नहीं है तो आप को उन के लिए इंतजार करना चाहते हो सकता है

संपादित करें: आपको लगता है अतीत WinForms अनुभव एक फायदा या एक तर्क होने जा रहा है, तो वेबफॉर्म का उपयोग करने के लिए (जो माइक्रोसॉफ्ट डेवलपर्स के लिए मुख्य बिक्री बिंदु है, मुझे लगता है), आप लगभग एक सप्ताह के लिए सही होंगे और शेष समय के लिए गलत होंगे। दोनों वेबफॉर्म और Winforms में आपके नियंत्रण हैं। समानता वहां समाप्त होती है। इवेंट मॉडल पूरी तरह से अलग है, थ्रेडिंग पूरी तरह से अलग है, आप प्रतिपादन की तुलना करना शुरू भी नहीं कर सकते हैं और इसी तरह। यह वास्तव में वेबफॉर्म के साथ मुख्य मुद्दा है; पूरी तरह से अलग वास्तुकला पर Winforms की तरह दिखने की कोशिश कर रहा है।

+0

उल्लेख नहीं है कि अधिकांश अन्य वेब ढांचे एमवीसी हैं इसलिए एएसपी.नेट एमवीसी का आपका ज्ञान उन लोगों को भी स्थानांतरित करने में सक्षम होगा। –

3

वेबफॉर्म करने के लिए नौकरी ढूंढना बहुत आसान है, और एमवीसी अभी उत्पादन वातावरण में अपना रास्ता नहीं लग रहा है। अधिक जटिल अनुप्रयोग आज एमवीसी का उपयोग करने के लिए बाध्य हैं, छोटे से अधिकतर वेबफॉर्म पसंद करेंगे, लेकिन याद रखें कि छोटे अनुप्रयोग नौकरी बाजार के बहुमत का प्रतिनिधित्व करते हैं।

किसी भी तरह से यह दोनों सीखने के लिए चोट नहीं पहुंचाएगा, या कम से कम वेबफॉर्म को समझने और एमवीसी में अधिक निवेश करने के लिए चोट नहीं पहुंचाएगा (क्योंकि यह अंततः आपको अन्य तकनीकों को सीखने के लिए मजबूर करेगा: nHibernate/Entity, DDD, TDD और शीघ्र)। इसके अलावा, आप एमवीसी में बहुत से नियंत्रण का उपयोग कर सकते हैं, बिना किसी ट्विकिंग के, हालांकि मानसिकता बहुत अलग है।