2011-05-03 15 views
6

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

यह तय करने के लिए आप किन कारणों का उपयोग करते हैं कि कहां उपयोग करना है?

एएसपी.NET वेब प्रपत्रों का उपयोग करते समय आपका तर्क कैसे बदलता है?

उत्तर

3

एक कारण यह है कि लोग ऐसा करते हैं क्योंकि वे चाहते हैं कि उनकी साइट सर्च इंजन द्वारा अनुक्रमित हो, लेकिन सर्वश्रेष्ठ उपयोगकर्ता अनुभव भी प्राप्त करना चाहें, इसलिए इसके लिए क्लाइंट कोड लिख रहे हैं। आपको यह तय करना होगा कि आपके पास क्या बाधाएं और लक्ष्य हैं। दुर्भाग्यवश, जो सबसे अधिक व्यावसायिक समझ को तकनीकी परिप्रेक्ष्य से सबसे अधिक समझ में नहीं आता है।

1

सर्वर-साइड प्रतिपादन का एक लाभ यह है कि आपके पृष्ठों को आपके पृष्ठों को कार्यात्मक बनाने के लिए जावास्क्रिप्ट का उपयोग करने की आवश्यकता नहीं है। यदि आप JQuery टेम्पलेट्स पर भरोसा कर रहे हैं, तो आपको यह मानना ​​होगा कि जावास्क्रिप्ट के बिना प्रस्तुत किए जाने पर आपके पृष्ठ में कोई सामग्री नहीं होगी। कुछ लोगों के लिए यह महत्वपूर्ण है।

जैसा कि आप कहते हैं, मैं एक ही प्रतिपादन तर्क का दो बार उपयोग नहीं करना चाहूंगा, क्योंकि आप इसे सिंक से बाहर निकलने का जोखिम चलाते हैं।

मैं आम तौर पर अधिकांश सामग्री सर्वर-पक्ष उत्पन्न करने के लिए आंशिक दृश्यों का लाभ उठाना पसंद करता हूं। सीधे एचटीएमएल वाले पेज उन पृष्ठों की तुलना में थोड़ा तेज प्रस्तुत करते हैं जिन्हें लोड होने के बाद "निर्मित" होना होता है, प्रारंभिक लोड को थोड़ा तेज़ बनाते हैं।

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

दूसरी ओर, सर्वर को इस तरह नियंत्रण में डालने का अर्थ है कि क्लाइंट-साइड से पहले अनुरोध करना है कि क्या करना है। यदि आपका व्यू प्रतिपादन काफी हद तक क्लाइंट-आधारित था, तो आप यूआई में कुछ "घटित" कर सकते हैं (जैसे नई टिप्पणी डालने पर) तुरंत, जिससे आपकी साइट की "कथित गति" में सुधार होता है। साथ ही, इंटरनेट कनेक्शन आमतौर पर अधिकांश वेबसाइटों की वास्तविक गति बाधा है, इसलिए तार पर भेजने के लिए केवल कम डेटा (JSON) होने से चीजें अधिक तेज़ी से हो सकती हैं। इसलिए उन तत्वों के लिए जिन्हें मैं उपयोगकर्ता इंटरैक्शन के लिए बहुत आसानी से प्रतिक्रिया देना चाहता हूं, मैं अक्सर क्लाइंट-साइड प्रतिपादन का उपयोग करता हूं।

अतीत में, खोज इंजन अनुकूलन भी एक बड़ा मुद्दा था, जैसा कि जैरेट Widman कहते हैं। लेकिन मेरी समझ यह है कि अधिकांश आधुनिक खोज इंजन उनके द्वारा देखे जाने वाले पृष्ठों के प्रारंभिक जावास्क्रिप्ट का मूल्यांकन करने के लिए पर्याप्त स्मार्ट होते हैं, और यह पता लगाते हैं कि पृष्ठ लोड होने के बाद वास्तव में कैसा दिखता है। Google आपके यूआरएल में the use of the "shebang" की भी सिफारिश करता है ताकि उन्हें पता चल सके कि AJAX द्वारा गतिशील रूप से लोड किए गए पृष्ठों को कैसे अनुक्रमणित किया जाए।

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