2008-11-30 7 views
17

कर तो मैं के बारे में सदस्य पंजीकरण के लिए मेरी खेल क्लब के लिए एक छोटी परियोजना के शुरू करने के लिए कर रहा हूँ और मैं WebForms या MVC के बीच तय करने की कोशिश कर रहा हूँ।कैसे तय करने के लिए जो सही है, WebForms या MVC जब ASP.NET

एलीट एक उपयोगकर्ता लॉगिन और डेटा कैप्चर फॉर्म (या डेटा पुनर्प्राप्ति) होगा, इसलिए मैं अंततः एफबीए के साथ वेबफॉर्म सोच रहा था लेकिन मैं थोड़ी देर के लिए एमवीसी के साथ एक खेल खेलना चाहता था और मैं सोच रहा था कि यह एक विकल्प बहुत बुरा नहीं होगा।

लेकिन वास्तव में MVC के ज्ञान का एक बहुत मैं अगर यह एक गलत फिट होगा पता नहीं है नहीं।

तो यह तय करने का एक अच्छा तरीका क्या है कि वेबफॉर्म या एमवीसी सही विकल्प है या नहीं?

+0

[पारंपरिक एएसपी नेट वेब फार्म बनाम MVC] (http://stackoverflow.com/questions/41712/traditional-asp-net-web-forms-vs-mvc) – nawfal

उत्तर

12

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

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

+0

यह सिर्फ एक कागज प्रणाली पलायन है के संभावित डुप्लिकेट एक ई-सिस्टम के लिए। तो मुझे तब तक मिल गया है जब तक मैं चाहता हूं और यह केवल एक छोटे से खेल क्लब के लिए है। –

1

आईएमओ, एमवीसी आगे बढ़ने का तरीका है। यदि आपके पास एमवीसी प्रोग्रामिंग तरीका सीखने का समय है (क्योंकि आपने संकेत दिया है कि आप एमवीसी के साथ खेलना चाहते हैं .. मतलब है, आपने अभी तक इसका उपयोग नहीं किया है), तो यह उत्पाद में खोदने का एक शानदार अवसर होगा। यदि आप पिछले WebForms अनुभव (जो मैं तुम क्या अनुमान लगा रहा हूँ) है

सीखने की अवस्था उच्च नहीं है।

आप एक साइट बहुत जल्दी करने की जरूरत है, तो परवाह नहीं है के बारे में यह क्या है और साइट पर छोटा होगा, तो WebForms जाना। यह त्वरित और बुरा समाधान है (केवल मेरी राय के लिए)। WebForms पूरी तरह से 100% अच्छी तरह से काम करते हैं। मेरी सभी साइटें वेबफॉर्म हैं और वे ठीक हैं।

सारांश:

  • गॉट समय और सबसे अच्छा तरीका है साइटों बनाने के लिए सीखना चाहते हैं: MVC
  • कोई समय या परवाह नहीं है: WebForms।

जीएल और hth।

0

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

+0

यह देखते हुए कि एमएस ने उत्पादन अनुप्रयोगों के लिए एमवीसी बीटा का उपयोग करने के लिए स्पष्ट रूप से अनुमति दी है, यह एक सुरक्षित शर्त है कि यह उस बिंदु पर नहीं बदलेगा जहां वे v1.0 जारी करते समय एप्लिकेशन टूट जाएंगे। – Chris

1

हमें एक ही अवसर के साथ प्रस्तुत किया गया था।कुछ सप्ताह के लिए MVC के साथ चारों ओर खेलने के बाद, हम पता चला वहाँ बातें हम पूरी तरह से समझ में नहीं आया है, साथ ही, चीजें हैं जो कुछ परिवर्तन को शामिल करने के लिए जा रहे थे थे:

  • एक भंडार डिजाइन पैटर्न
  • को लागू करने
  • मानक वेब फ़ॉर्म नियंत्रण, पुनरावर्तक और GridView की तरह बनाम एचटीएमएल सहायकों
  • कैशिंग
  • ढांचे हम वर्तमान में उपयोग, CSLA उपयोग करें, या आंशिक वर्गों के साथ सिर्फ LINQ करने के लिए-SQL करने के लिए ले जाने की कोशिश करना है या नहीं व्यापार तर्क धारण करने के लिए
  • जटिल कक्षाएं nd उपयोगकर्ता इंटरफेस जिसमें मास्टर-विस्तार कक्षाएं शामिल हैं

हमने इसके साथ खेलना जारी रखने का फैसला किया और इसे आधिकारिक रूप से रिलीज़ होने तक प्रतीक्षा करें और फिर एक आंतरिक एप्लिकेशन लिखें और देखें कि यह हमें कहां ले जाता है।

5

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

आप सभी में से WatiN का उपयोग कर सकते हैं जो आपके ऐप को बनाता है परंपरागत यूनिट परीक्षण से कहीं अधिक बेहतर तरीके से परीक्षण योग्य। (ध्यान दें कि मेरा मतलब यह नहीं है कि इसे यूनिट परीक्षण को प्रतिस्थापित करना चाहिए, लेकिन यूनिट परीक्षण के अलावा यह आपको पहले से असंभव सुरक्षा के स्तर पर ले जाता है)

तीसरा, वेब स्टेटलेस है। यह उस HTTP के कारण एक पूरी तरह से स्टेटलेस प्रोटोकॉल है। यह वही है जो वेब को सुंदर बनाता है, लेकिन साथ ही अनुप्रयोगों को विकसित करना बहुत मुश्किल है। WebControls पद्धति ज्यादातर व्यूस्टेट जैसी अवधारणाओं के द्वारा इसे पूरी तरह से ठीक करती है। यह एप्लिकेशन विकास करते समय परेशानी के लॉट लेता है। किसी अन्य प्रतिमान तो WebControls में कोड का एक ही (छोटे) राशि के साथ प्राप्त करने के लिए इस Ajax Calendar sample जो ज्यादातर असंभव है पर एक नज़र डालें (त्याग, मैं रा-अजाक्स अपने आप के साथ काम)

अब Stacked पर एक नजर है (अस्वीकरण; ... जिसे मैं बीटीडब्लू के साथ भी काम करता हूं) तब महसूस करें कि मैंने अब तक जो कुछ भी देख रहे हैं उसे विकसित करने में 3 दिन कम खर्च किए हैं। हो सकता है कि कोई एमवीसी के साथ उस उपलब्धि को चोटी दे, लेकिन मुझे शक है ...

मुझे लगता है कि वेबकंट्रोल प्रतिमान बहुत सुंदर है। निश्चित रूप से इसमें कुछ बिंदुओं की कमी है, लेकिन अनुमान लगाएं, सब कुछ है। कलात्मक रूप में प्रोग्रामिंग में मौजूद एकमात्र "सिल्वर बुलेट" यह है कि कोई भी रजत बुलेट मौजूद नहीं है।

जब ऐसा कहा जाता है, मुझे पता है कि Grurrahअलावा एक Webcontrol आधारित अजाक्स पुस्तकालय करने के लिए महल परियोजना की MVC परत का उपयोग कर रहा है। तो WebControls मिश्रण और MVC मुश्किल है, लेकिन निश्चित रूप से असंभव नहीं हो सकता है ...

मुझे लगता है कि MVC का एक बहुत हो गया है प्रचार "हकदार", लेकिन दुर्भाग्य से यह भी कहा कि इस प्रक्रिया में भी नाहक प्रचार का एक बहुत ...!:(

अपने स्वयं के दिमाग को तैयार करें, एमवीसी प्रचारकों को यह समझाने की कोशिश न करें कि उन्हें वेब के लिए प्रोग्रामिंग के लिए "सिल्वर बुलेट" मिला है। और अधिक है, मुझे विश्वास नहीं है! मैं भी एक एजेंडा (रा-अजाक्स को गोद लेने मिलता है) है

अपने खुद मन। मैं सेब या संतरे खाने चाहिए पूछ कोई अगर आप MVC करना चाहिए पूछने की तरह है ... केवल अच्छा जवाब बना लो आप कभी प्राप्त करेंगे; "यह निर्भर करता है" ...

+0

मैं वेबफॉर्म के साथ बहुत कुशल हूं इसलिए यह उनके खिलाफ व्यक्तिगत नहीं है, मैं और पूछ रहा था कि मैं जो हासिल करना चाहता हूं वह एमवीसी में कुछ हासिल करने योग्य है। –

+0

@ स्लेस, एमवीसी वेबफॉर्म का उपयोग दृश्य के रूप में कर सकता है। यह एक तकनीक से अधिक एक वास्तुकला (और पैटर्न) है। –

+0

मैं प्रतीक्षा करता हूं और प्रतीक्षा करता हूं प्रतीक्षा करें, स्वच्छ परियोजना! – BobbyShaftoe

1

वेबफॉर्म उन लोगों के लिए वेब का एक अमूर्त है जो गुई दुनिया से आते हैं। मुझे लगता है कि इसमें बहुत सारे फायदे हैं, es मूल रूप से आरएडी भावना में, लेकिन बड़े गोमांस ऐप्स लिखते समय आप अक्सर अपने आप को कोने में चित्रित करते हैं (यानी: सब कुछ देखने के लिए करना मुश्किल है।)

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

इसके विपरीत, एमवीसी के साथ आप सर्वोत्तम प्रथाओं में गिरावट का प्रकार बनाते हैं। यह अधिक प्रदर्शनकारी है (संपूर्ण पृष्ठ जीवन चक्र/व्यूस्टेट चीज दोनों क्लाइंट और सर्वर पर chews perf), और एक आर्किटेक्चर बिंदु से दूर क्लीनर।

नकारात्मकता यह है कि आप आरएडी को अलविदा कह सकते हैं, और आपको वास्तव में अच्छे दिखने वाले पृष्ठों को बनाने के लिए सीएसएस/जावास्क्रिप्ट का सभ्य ज्ञान होना चाहिए।

यह वास्तव में नौकरी के लिए सबसे अच्छा उपकरण और आपके/आपकी टीम के अनुभव/ज्ञान के प्रकार के नीचे आता है।

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