पोस्ट
एक सिंगल पेज एप्लिकेशन में, क्या मुझे क्लाइंट पर या सर्वर पर प्रोसेसिंग करनी चाहिए?
27 दिसंबर 2015 • 2 मिनट पढ़ना

सिंगल पेज एप्लिकेशन (SPA) के मुख्य विक्रय बिंदुओं में से एक था पारंपरिक रूप से सर्वर पर किए जाने वाले काम को क्लाइंट पर स्थानांतरित करना। मुझे लगता है कि SPA ने इस वादे को पूरा किया है।
हालांकि, यह सब कुछ आसान नहीं है। अत्यधिक उत्साहित होकर क्लाइंट पर बहुत अधिक काम डालना आसान है। हम अक्सर भूल जाते हैं कि हम क्लाइंट के वातावरण को नियंत्रित नहीं कर सकते — क्लाइंट दस साल पुरानी मशीन से लेकर विभिन्न इंटरनेट गति के साथ नवीनतम स्मार्टफोन तक कुछ भी हो सकता है। एकमात्र चीज़ जिस पर हम भरोसा कर सकते हैं वह यह है कि उपयोगकर्ता हमारी साइट को ब्राउज़र में देख रहा है।
प्रोसेसिंग
मेरे अनुभव में, गहन प्रोसेसिंग और डेटा जिसे सर्वर और क्लाइंट के बीच स्थिरता की आवश्यकता होती है, जैसे कि दिनांक रूपांतरण या सटीक गणना की आवश्यकता वाले डेटा, जैसे कि पैसा, सर्वर-साइड रेंडरिंग के लिए प्रमुख उम्मीदवार हैं।
पेजिंग
क्लाइंट पर किया जाने वाला एक सामान्य कार्य पेजिंग है। छोटे डेटासेट के साथ यह बहुत अच्छा काम करता है; हालांकि, छोटे डेटासेट कभी छोटे नहीं रहते। जैसे-जैसे डेटा बढ़ता है, एप्लिकेशन धीमा हो जाता है और अंततः अनुत्तरदायी हो जाता है। दुर्भाग्य से, आपको पता नहीं चलता कि यह हो रहा है क्योंकि यह क्लाइंट पर है और इससे भी बुरी बात यह है कि यह सभी क्लाइंट पर नहीं होता जिससे समस्या निवारण करना कठिन हो जाता है।
पेजिंग को क्लाइंट से सर्वर पर स्थानांतरित करना क्लाइंट पर पेजिंग संबंधी प्रदर्शन समस्याओं को कम करेगा। आप सोच रहे होंगे, “लेकिन अब मैं बहुत सारे API कॉल कर रहा हूं। इतने सारे API कॉल करना इष्टतम नहीं लगता।” सच है, ऐसा लगता है, लेकिन आप आश्चर्यचकित होंगे कि आपका डेटा सर्वर से कितनी तेज़ी से वापस आता है। और सबसे अच्छी बात? आप सर्वर को नियंत्रित करते हैं और आवश्यकतानुसार क्षमता बढ़ा सकते हैं।
दिन के अंत में, आप उपयोगकर्ता को एक समृद्ध उत्तरदायी अनुभव प्रदान करना चाहते हैं और कभी-कभी इसका मतलब सर्वर को भारी काम करने देना है।
सारांश
सारांश में, जब संभव हो तो हम काम को क्लाइंट पर स्थानांतरित करना चाहते हैं, लेकिन ऐसा करने से हम जल्दी ही क्लाइंट पर अधिक बोझ डाल सकते हैं। पेजिंग और गहन प्रोसेसिंग जैसे कठिन कार्यों को सर्वर पर रखना हमें क्लाइंट को अभिभूत करने से बचा सकता है।
लेखक: चक कॉनवे सॉफ्टवेयर इंजीनियरिंग और जेनेरेटिव AI में विशेषज्ञता रखते हैं। उनसे सोशल मीडिया पर जुड़ें: X (@chuckconway) या उन्हें YouTube पर देखें।