2010-08-06 8 views
73

नए सीएसएचटीएम पेज फीचर का उपयोग करके वहां कोई भी व्यक्ति और यह पता लगा रहा है कि वे मौजूदा एएसपी.नेट एमवीसी डिफॉल्ट व्यू इंजन या वेब फॉर्मों पर इस नए व्यू इंजन सिंटैक्स को पसंद करते हैं, और यदि ऐसा है, तो क्यों? सीएसएचटीएमएल के बारे में क्या आपको एमवीसी या वेब फॉर्म, या इसके विपरीत लाभ प्रदान करता है?रेजर/सीएसएचटीएमएल - हमारे पास क्या लाभ है?

लोगों को इस पर लेने के लिए उत्सुकता है।

+1

मुझे लगता है कि वास्तविक (उद्देश्य) या कथित (व्यक्तिपरक) लाभों का नामकरण करने के लिए इस प्रश्न का उद्देश्य उत्तर देना संभव है, लेकिन आपको इन्हें प्राप्त करने के लिए अपने प्रश्न को फिर से लिखना चाहिए। वर्तमान स्वरूप में यह बहुत ही व्यक्तिपरक और तर्कवादी है। – dtb

+2

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

+0

क्या फ्रंटर डेवलपर्स के लिए रेजर का उपयोग करने के लिए कुछ चीटशीट/गाइड है? मैं वर्तमान में एक रेजर प्रोजेक्ट पर काम कर रहा हूं, फाउंडेशन के साथ आवेदन को स्किन कर रहा हूं, और मैं रेजर पर कुछ और जानना चाहता हूं जो मेरी मदद कर सकता है। –

उत्तर

42

लाभों में से एक यह है कि रेजर विचार यूनिट परीक्षणों के अंदर प्रस्तुत किए जा सकते हैं, यह ऐसा कुछ है जो पिछले एएसपी.Net रेंडरर के साथ आसानी से संभव नहीं था। , नया दृश्य इंजन कार्यान्वयन (एक नियंत्रक या वेब सर्वर की आवश्यकता के बिना इकाई परीक्षण विचारों करने की क्षमता का समर्थन करेंगे:

यूनिट Testable:

ScottGu's announcement से इस डिजाइन लक्ष्यों में से एक के रूप में सूचीबद्ध किया गया है और किसी यूनिट टेस्ट प्रोजेक्ट में होस्ट किया जा सकता है - कोई विशेष ऐप-डोमेन आवश्यक नहीं है)।

+0

उदाहरण? या लिंक? – rball

+0

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

+2

हमने रेजर विचारों का परीक्षण करने पर कोई मार्गदर्शन नहीं दिया है, लेकिन मैंने एएसपी.Net के बाहर रेजर इंजन को होस्ट करने के बारे में ब्लॉग किया है: http://blog.andrewnurse.net/2010/07/22/UsingTheRazorParserOutsideOfASPNet.aspx –

3

सबसे बड़ा लाभ यह है कि कोड अधिक संक्षिप्त है। वीएस संपादक में इंटेलिसेन्स का समर्थन भी होगा कि कुछ अन्य व्यू इंजनों में नहीं है।

घोषणात्मक एचटीएमएल हेल्पर्स भी बहुत अच्छे लगते हैं क्योंकि सी # कोड के भीतर एचटीएमएल हेल्पर्स करने से मुझे एएसपी.नेट में कस्टम नियंत्रण की याद दिलाती है। मुझे लगता है कि उन्होंने आंशिक से एक पृष्ठ लिया लेकिन इनलाइन कोड के साथ।

तो एएसपीनेट व्यू इंजन पर कुछ निश्चित लाभ।

हालांकि चिंगारी की तरह एक दृश्य के इंजन के विपरीत के साथ

:

स्पार्क अभी भी और अधिक संक्षिप्त है, तो आप अगर के रखने के लिए और एक HTML टैग के भीतर ही लूप कर सकते हैं। मार्कअप अभी भी मेरे लिए अधिक प्राकृतिक लगता है।

आप आंशिक रूप से आंशिक रूप से कोड कर सकते हैं कि आप एक घोषणात्मक सहायक कैसे करेंगे, आप केवल आंशिक रूप से चर के साथ पास करेंगे और आपके पास एक ही चीज़ होगी। यह थोड़ी देर के लिए स्पार्क के साथ चारों ओर रहा है।

7
  1. सबकुछ डिफ़ॉल्ट रूप से एन्कोड किया गया है !!! यह बहुत बड़ा है।

  2. घोषणात्मक मददगार संकलित किए जा सकते हैं ताकि आपको उन्हें साझा करने के लिए कुछ भी करने की आवश्यकता न हो। मुझे लगता है कि वे कुछ हद तक .ascx नियंत्रणों को प्रतिस्थापित करेंगे। किसी अन्य प्रोजेक्ट में .ascx नियंत्रण का उपयोग करने के लिए आपको कुछ हुप्स से कूदना होगा।

  3. आप एक ऐसा अनुभाग बना सकते हैं जो अच्छा है।

43

पूर्व Microsoft डेवलपर की राय

मैं MSDN वेबसाइट के लिए एक कोर टीम पर काम किया। अब, मैं अपनी प्रोग्रामिंग टीम के साथ ईकॉमर्स साइटों के लिए सी # रेजर का उपयोग करता हूं और हम बैक एंड सी # रेजर पेज और LINQ-Entity मेमोरी डेटाबेस के साथ jQuery फ्रंट एंड पर भारी ध्यान केंद्रित करते हैं ताकि पेज 1-2 मिलीसेकंद प्रतिक्रिया समय हो, यहां तक ​​कि प्रश्नों के साथ लूप के लिए घोंसला पर भी और कोई पेज कैशिंग नहीं। हम एमवीसी का उपयोग नहीं करते हैं, केवल आईएसआई 7, कोई एएसपीएक्स पेज या व्यूस्टेट या सर्वर-साइड इवेंट प्रोग्रामिंग के लिए यूआरएल रिवाइट मॉड्यूल के साथ मैप किए जा रहे रेज़र पेजों के साथ सादा एएसपी.नेट का उपयोग नहीं करते हैं। इसमें अतिरिक्त (अनावश्यक) परतें नहीं हैं एमवीसी ने रेगेक्स को चुनौती देने के लिए कोड संरचनाओं में रखा है। हमारे लिए कम है। यह सब दुबला और मतलब है लेकिन मैं अपनी टेस्टेबिलिटी के लिए एमवीसी को प्रोप देता हूं लेकिन यह सब कुछ है।

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

रेजर और एमवीसी की कमी में से कोई भी व्यूस्टेट-जैसी दृढ़ता नहीं है। इसके लिए मुझे एक समाधान लागू करने की आवश्यकता थी, इसलिए मैंने यहां एक jQuery प्लगइन लिखना समाप्त कर दिया ->http://www.jasonsebring.com/dumbFormState जो फॉर्म 5 के लिए एक HTML 5 ऑफ़लाइन स्टोरेज समर्थित प्लगइन है जो अब सभी प्रमुख ब्राउज़रों में काम कर रहा है। यह सिर्फ वर्तमान में फॉर्म स्टेट के लिए है, लेकिन आप window.sessionStorage या window.localStorage का उपयोग किसी भी प्रकार के राज्य को पोस्टबैक या यहां तक ​​कि पेज अनुरोधों को स्टोर करने के लिए कर सकते हैं, मैंने इसे ऑटोसवे बनाने और यूआरएल और फॉर्म इंडेक्स के आधार पर नामस्थान बनाने के लिए परेशान किया है। आपको इसके बारे में सोचना नहीं है।

+1

सबसे प्रभावशाली प्रदर्शन संख्या - मैं वेब प्रोग्रामिंग जैसे वीबी 6 बनाने के अपने बहादुर प्रयास के लिए एएसपी.NET को नापसंद करता हूं। टेस्टेबिलिटी एक कुतिया बनाओ। इसी कारण से मुझे एमवीसी भी पसंद है। क्या आपके पास एक उदाहरण है जिसका आप उपयोग कर रहे आर्किटेक्चर का हिस्सा साझा कर सकते हैं। – mozillanerd

+0

आर्किटेक्चर के मामले में, "mozillanerd" करने के लिए, यदि आप जो वर्णन करते हैं उसका परीक्षण करना चाहते हैं, तो सचमुच एक अज्ञात सी # ऑब्जेक्ट करें जैसे var myobj = new {/ * स्थान डेटा संरचना जैसे json * /} के पास जो स्मृति में कैश किया गया है और देखें कि LINQ इसके खिलाफ कितनी तेज़ी से है। कल्पना करें कि यह उत्पादों की सूची है और इसके खिलाफ LINQ आज़माएं। इसका सुपर फास्ट है लेकिन इसकी जगह एक बॉक्स पर सबसे अच्छी तरह से फिट के रूप में है, जब तक कि आपके पास एज़ूर कैशिंग चालू न हो और आप इसे विंडोज़ एज़ूर पर चला रहे हों। –

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