[अस्वीकरण: मैं MVC और रेजर पर Microsoft डेवलपर्स में से एक हूं, इसलिए मैं थोड़ा पक्षपाती हो सकता हूं :)]
हमने रेज़र को एक संक्षिप्त टेम्प्लेटिंग भाषा के रूप में डिज़ाइन किया है जो केवल न्यूनतम आवश्यक मात्रा में नियंत्रण वर्णों का उपयोग करता है। मैं कहूंगा कि "पारंपरिक" WebForms सिंटैक्स का उपयोग करके आपके विचारों के बड़े हिस्से को उसी कोड से कम वर्णों के साथ व्यक्त किया जा सकता है।
उदाहरण के लिए ASPX सिंटैक्स में निम्न कोड स्निपेट:
<% if(someCondition) { %>
<ol>
<% foreach(var item in Model) { %>
<li><%: item.ToString() %></li>
<% } %>
</ol>
<% } %>
रेजर में निम्नानुसार व्यक्त किया जा सकता है:
@if(someCondition) {
<ol>
@foreach(var item in Model) {
<li>@item.ToString()</li>
}
</ol>
}
जबकि ASPX संस्करण में 21 संक्रमण वर्ण ( <%
और %>
) हैं, रेजर संस्करण में केवल तीन ( @
) हैं
मैं कहूंगा कि रेजर के फायदे इस प्रकार हैं:
- कंसीज़ सिंटैक्स, जो आपके द्वारा नियमित C # कोड लिखने के तरीके के समान है (फिल हालैक द्वारा निम्नलिखित हालिया ब्लॉग पोस्ट की जाँच करें रेजर सिंटैक्स के साथ Asxp की तुलना करें: http://haacked.com/archive/2011/01/06/razor- सिंटैक्स-क्विक-रेफरेंस.स्पेक्स )
- आउटपुट का स्वचालित HTML एन्कोडिंग (जो आपको HTML इंजेक्शन के हमलों से बचाने में मदद करता है)
- आपके मार्कअप का सत्यापन (हालांकि 100% नहीं) बनाया गया है जो आपको असंतुलित टैग से बचने में मदद करता है
पृष्ठ से संबंधित अवधारणाएँ ASPX में आपके पास मौजूद मानचित्र से आसानी से मिलती हैं
- जैसा कि आप देख सकते हैं इनलाइन कोड अभी भी अनुमत है
- अनुभाग (जो वैकल्पिक हो सकते हैं) सामग्री प्लेसहोल्डर के बराबर हैं
- मास्टर पृष्ठों के बजाय लेआउट पृष्ठ
- पूर्ण और आंशिक विचारों की अवधारणाएं समान हैं
@functions { ... }
के बजाय ब्लॉक <script runat="server"> ... </script>
इसके अलावा रेजर में कई उपयोगी अवधारणाएं हैं जो मैं कहूंगा कि एएसपीएक्स में जो उपलब्ध है उससे बेहतर है:
@helper
मार्कअप का कार्य करने वाले कार्यों का वास्तव में आसान निर्माण के लिए कार्य
@model
<%@ Page ...
पूर्ण वर्ग नाम के साथ एक निर्देश लिखने के लिए बिना अपने दृश्य के मॉडल प्रकार को निर्दिष्ट करने के लिए कीवर्ड
मैं यह सोचना चाहता हूं कि हमने एक वास्तविक समस्या से निबटा है, जो आपको अधिक आसानी से संक्षिप्त और मानकों के अनुरूप विचार लिखने की अनुमति देता है, जबकि एक ही समय में आपको आम कोड को रिफलेक्टर करने के तरीके प्रदान करता है।
बेशक, हर कोई सिंटैक्स पसंद नहीं करेगा, यही वजह है कि हम ASPX व्यू इंजन का भी पूरा समर्थन कर रहे हैं। इसके अलावा आप स्पार्क और एनएचएएमएल की जांच कर सकते हैं, जो दो 3-पार्टी व्यू इंजन हैं जो महत्वपूर्ण समुदाय का आनंद लेते हैं। निम्नलिखित ब्लॉग पोस्ट में विभिन्न प्रसादों की अच्छी तुलना है: http://blogs.msdn.com/b/coding4fun/archive/2010/10/04/10070953.aspx