क्या मुझे फ्रंट या बैकएंड में JSON प्रोसेस करना चाहिए, जो तेज है? [बन्द है]


11

मुझे एपीआई से json प्रतिक्रिया के रूप में प्रतिक्रिया मिल रही है। मैं बैकएंड के लिए अजगर में कोडिंग कर रहा हूं।

फ्रंट टीम को यूआई को पॉपुलेट करने के लिए रॉ जसन की प्रतिक्रिया की जानकारी की आवश्यकता होती है, इसलिए हमें जॉन्स को ऑर्डर करना होगा और उनके लिए जानकारी प्राप्त करना और अधिक आसान बनाना होगा।

अब मैं एक विशेष प्रारूप में जोंस को ऑर्डर कर सकता हूं और फ्रंटेंड टीम को धक्का दे सकता हूं या मैं फ्रंट टीम को कच्चे जसन की प्रतिक्रिया * पास कर सकता हूं और उन्हें जोन को ऑर्डर करने और अपने यूआई के लिए आगे उपयोग करने की अनुमति देता हूं।

याद रखें मेरे json फ़ाइल का आकार 15MB है

कौन सा तेज है और एक बेहतर डिजाइन सिद्धांत है?

बैकएंड में प्रक्रिया फिर फ्रंटएंड पर पुश करें या फ्रंटएंड में प्रक्रिया करें?


मेरी राय में, सर्वर पर प्रोसेसिंग आकार और डेटा की कमी के कारण आपके मामले में बेहतर है, क्योंकि आमतौर पर सर्वर पीसी में ब्राउज़रों की तुलना में बहुत बेहतर प्रदर्शन देते हैं।
उमैर खान

1
आदर्श रूप से, फ्रंट एंड बस एपीआई प्रतिक्रियाओं का उपभोग करता है। यह देखते हुए कि यूआई अन्य लोगों के कंप्यूटर (जो कमजोर और धीमी गति से हो सकता है) पर चल रहा है, आप क्लाइंट साइड कॉंग में डेटा को लोड नहीं करना चाहते हैं क्योंकि यह आपके वेबएप में धीमा और अप्रिय अनुभव हो सकता है। बैकएंड से प्रतिक्रिया सामने के छोर के लिए आवश्यक प्रारूप में कम या ज्यादा होनी चाहिए। आदर्श रूप में, फ्रंट एंड को अधिक (यदि कोई हो) वास्तविक डेटा प्रोसेसिंग नहीं किया जाना चाहिए, जो कि सर्वर साइड से किया जाना चाहिए
Jayce444

2
15MB एक तरह का है, मैं इसे बैकएंड पर करूंगा।
बोरिस

जवाबों:


7

आदर्श रूप से यदि फ़ाइल का आकार 15 mb है तो इसे ब्राउज़र मेमोरी में लोड किया जाएगा जो इसे धीमा कर देगा, मैं केवल बैकएंड में ऑपरेशन करने का सुझाव दूंगा।

आप संदर्भ के लिए इस लिंक पर भी जा सकते हैं। अजगर और जावास्क्रिप्ट के बीच अंतर और क्या उपयोग करना है

  1. एक महत्वपूर्ण पहलू यह है कि जावास्क्रिप्ट डीबग करना मुश्किल है। आप देख सकते हैं कि आपका कोड त्रुटि-रहित होने के बावजूद, प्रोग्राम काम नहीं करेगा (चुपचाप विफल)।


2

मैं बैकएंड पर यह प्रदर्शन करने का सुझाव दूंगा, कुछ प्रमुख कारण जो मैं यह सुझाऊंगा:

  • मोबाइल उपकरणों पर प्रोसेसिंग से बड़े पैमाने पर बैटरी ड्रेन होती है
  • यदि आपकी सीमा वेब है, तो प्रसंस्करण अवरुद्ध होने पर जावास्क्रिप्ट ब्लॉक हो जाएगा (जो खराब अनुभवों को जन्म दे सकता है)
  • प्रतिक्रिया समय को कम करने और डुप्लिकेट प्रसंस्करण को कम करने के लिए सर्वर प्रतिक्रिया को कैश किया जा सकता है
  • आपकी बैकएंड भाषा कार्य को और अधिक बेहतर तरीके से करने में सक्षम हो सकती है, फिर फ्रंटएंड डिवाइस कर सकता है

0

जैसा कि अन्य ने उल्लेख किया है, बैक एंड पर प्रोसेसिंग को प्राथमिकता देने के कुछ अच्छे कारण हैं:

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.