क्लाइंट-साइड बनाम सर्वर-साइड टेम्पलेटिंग के बारे में सबसे बड़ी बात माना जाना चाहिए कि क्लाइंट-साइड टेम्पलेटिंग काम नहीं करेगी अगर जावास्क्रिप्ट अक्षम है किसी भी कारण से ग्राहक।
अन्यथा यह इस तरह के एक बड़ा अंतर नहीं है। यह ज्यादातर इस बात पर निर्भर करता है कि आप सर्वर पर या क्लाइंट पर अपना मार्कअप जेनरेट करना चाहते हैं या नहीं।
क्लाइंट साइड टेम्पलेट का उपयोग करने के लिए एक विशिष्ट कारण यदि आप किसी एप्लिकेशन जो ajax का उपयोग कर, WebSockets या इस तरह के सर्वर से अधिक डेटा लोड है। ऐसे मामले में आप नए लोड किए गए डेटा को प्रस्तुत करने के लिए क्लाइंट-साइड टेम्पलेट रखना चाहेंगे।
उदाहरण के लिए:
एक आवेदन मैंने लिखा में, मैं सर्वर पर EJS टेम्प्लेट का उपयोग कर बुनियादी मार्कअप उत्पन्न करने के लिए: सिर, शरीर, पाद लेख, आदि - सामग्री है जो नहीं बदलता है।
आवेदन socket.io, जो क्लाइंट सर्वर से कुछ घटनाओं और डेटा भेजता उपयोग करता है। इस डेटा को प्रदर्शित करने के लिए, मैंने नॉकआउटज के क्लाइंट-साइड टेम्पलेटिंग का उपयोग किया।
तो मेरे मामले में यह एक संकर दृष्टिकोण की तरह है। कारण मैंने ऐसा इसलिए किया क्योंकि सर्वर पर उत्पन्न मार्कअप तुरंत पृष्ठ लोड होने के तुरंत बाद दिखाएगा। Socket.io से आता है जो डेटा सर्वर पर एचटीएमएल में भी प्रस्तुत किया जा सकता था, लेकिन इसे सरल JSON ऑब्जेक्ट्स भेजने या भेजने के बजाय भेजने के लिए अधिक बैंडविड्थ की आवश्यकता होगी, इसलिए मैंने उन्हें क्लाइंट पर प्रस्तुत करने का विकल्प चुना।
स्पष्ट रूप से मैं पूरी साइट के लिए क्लाइंट-साइड टेम्पलेट का उपयोग कर सकता था, लेकिन मुझे क्लाइंट पर स्थिर भागों को प्रस्तुत करने में कोई फायदा नहीं हुआ। यह सिर्फ मेरे आवेदन के क्लाइंट-साइड कोड को और अधिक जटिल बना देगा।
स्रोत
2012-01-16 06:23:25