পোস্ট
একটি সিঙ্গেল পেজ অ্যাপ্লিকেশনে, আমার কি ক্লায়েন্ট নাকি সার্ভারে প্রসেসিং করা উচিত?
২৭ ডিসেম্বর, ২০১৫ • 2 মিনিট পড়া

সিঙ্গেল পেজ অ্যাপ্লিকেশন (SPA) এর একটি বিক্রয়ের পয়েন্ট ছিল ঐতিহ্যগতভাবে সার্ভারে সম্পাদিত কাজগুলো ক্লায়েন্টে স্থানান্তর করা। আমি মনে করি SPA এই প্রতিশ্রুতি পূরণ করেছে।
তবে, সবকিছু গোলাপের মতো নয়। অতিরিক্ত উৎসাহী হয়ে ক্লায়েন্টে খুব বেশি কাজ চাপিয়ে দেওয়া সহজ। আমরা প্রায়ই ভুলে যাই যে আমরা ক্লায়েন্টের পরিবেশ নিয়ন্ত্রণ করতে পারি না — ক্লায়েন্ট দশ বছরের পুরানো মেশিন থেকে শুরু করে সর্বশেষ এবং সেরা স্মার্টফোন পর্যন্ত যেকোনো কিছু হতে পারে, বিভিন্ন ইন্টারনেট গতির অ্যাক্সেস সহ। আমরা শুধুমাত্র এটার উপর নির্ভর করতে পারি যে ব্যবহারকারী আমাদের সাইট একটি ব্রাউজারে দেখছেন।
প্রসেসিং
আমার অভিজ্ঞতায়, নিবিড় প্রসেসিং এবং সার্ভার ও ক্লায়েন্টের মধ্যে সামঞ্জস্যের প্রয়োজন এমন ডেটা, যেমন তারিখ রূপান্তর বা নির্ভুল গণনার প্রয়োজন এমন ডেটা, যেমন অর্থ, সার্ভার-সাইড রেন্ডারিংয়ের জন্য প্রধান প্রার্থী।
পেজিং
ক্লায়েন্টে সম্পাদিত একটি সাধারণ কাজ হল পেজিং। ছোট ডেটাসেটের সাথে এটি দুর্দান্ত কাজ করে; তবে, ছোট ডেটাসেট কখনো ছোট থাকে না। ডেটা বৃদ্ধির সাথে সাথে অ্যাপ্লিকেশন ধীর হয়ে যায় এবং শেষ পর্যন্ত অপ্রতিক্রিয়াশীল হয়ে পড়ে। দুর্ভাগ্যবশত, আপনি জানেন না যে এটি ঘটছে কারণ এটি ক্লায়েন্টে রয়েছে এবং আরও খারাপ বিষয় হল এটি সব ক্লায়েন্টে ঘটে না যা সমস্যা সমাধানকে কঠিন করে তোলে।
ক্লায়েন্ট থেকে সার্ভারে পেজিং স্থানান্তর করলে ক্লায়েন্টে পেজিং সম্পর্কিত পারফরম্যান্স সমস্যা দূর হবে। আপনি হয়তো ভাবছেন, “কিন্তু এখন আমি অনেক API কল করছি। এত বেশি API কল করা সর্বোত্তম মনে হচ্ছে না।” সত্য, এটি সেভাবে মনে হয়, কিন্তু আপনি অবাক হবেন যে আপনার ডেটা সার্ভার থেকে কত দ্রুত ফিরে আসে। এবং সবচেয়ে ভাল দিক? আপনি সার্ভার নিয়ন্ত্রণ করেন এবং প্রয়োজন অনুযায়ী ক্ষমতা বৃদ্ধি করতে পারেন।
দিনের শেষে, আপনি ব্যবহারকারীকে একটি সমৃদ্ধ প্রতিক্রিয়াশীল অভিজ্ঞতা প্রদান করতে চান এবং কখনো কখনো তা হল সার্ভারকে ভারী কাজ করতে দেওয়া।
সারসংক্ষেপ
সংক্ষেপে, যখন সম্ভব আমরা ক্লায়েন্টে কাজ স্থানান্তর করতে চাই, কিন্তু তা করার মাধ্যমে আমরা দ্রুত ক্লায়েন্টকে অতিরিক্ত চাপে ফেলতে পারি। পেজিং এবং নিবিড় প্রসেসিংয়ের মতো কঠিন কাজগুলো সার্ভারে রাখা আমাদের ক্লায়েন্টকে অভিভূত করা থেকে রক্ষা করতে পারে।
লেখক: চাক কনওয়ে সফটওয়্যার ইঞ্জিনিয়ারিং এবং জেনারেটিভ এআই-তে বিশেষজ্ঞ। তার সাথে সোশ্যাল মিডিয়ায় যোগাযোগ করুন: X (@chuckconway) অথবা তাকে YouTube-এ দেখুন।