ক্লায়েন্ট সাইট বনাম সার্ভার সাইট

server side vs client side

আমরা মুলত কি শিখব আর কি শিখব নাহ সেই কনফিউশনে থাকি কারন আমরা আসলে একটা অ্যাপ্লিকেশন এর মুল থিউরি অথবা মুল পার্ট গুলো জানি নাহ ।আজকে সেগুলি নিয়ে আলোচনা থাকবে ।

একটি অ্যাপ্লিকেশন অথবা সফটওয়্যার,আইওটি যেটাই বলি না কেন তাদের দুটো অংশ থাকে একটি ক্লায়েন্ট সাইট আরেকটি সার্ভার সাইট । এই দুইটির কম্বিনেশন এর মাধ্যমে আমরা যেকোন অ্যাপ্লিকেশন ডেভলপমেন্ট করে থাকি ।

ক্লায়েন্ট সাইট

প্রথমে আসি আমারা ক্লায়েন্ট সাইট বলতে কি বুঝি ধরুন আপনি একটা ওয়েবসাইট ব্রাউজ করছেন। যেমন এখন ফেসবুক ব্রাউজ করছেন।এখন আপনার ব্রাউজারে যে কাজগুলো হচ্ছে তা ক্লায়েন্ট সাইট।এবার একটু ডিটেলস বলি আপনি ধরেন এখন ফেসবুক এ যত বাটন আর যত কম্পোনেন্ট দেখবেন যেমন নোটিফিকেশন থেকে শুরু করে আগা থেকে মাথা সব ক্লায়েন্ট সাইট ।

ক্লায়েন্ট সাইট টেকনোলজি সমূহ

প্রথমে আসি আমারা ক্লায়েন্ট সাইট বলতে কি বুঝি ধরুন আপনি একটা ওয়েবসাইট ব্রাউজ করছেন। যেমন এখন ফেসবুক ব্রাউজ করছেন।এখন আপনার ব্রাউজারে যে কাজগুলো হচ্ছে তা ক্লায়েন্ট সাইট।এবার একটু ডিটেলস বলি আপনি ধরেন এখন ফেসবুক এ যত বাটন আর যত কম্পোনেন্ট দেখবেন যেমন নোটিফিকেশন থেকে শুরু করে আগা থেকে মাথা সব ক্লায়েন্ট সাইট ।

সার্ভার সাইট

সার্ভার সাইট এর মুল কাজ হচ্ছে ক্লায়েন্ট সাইট কে মেনেজ করা অথবা ডায়নামিক করা ধরেন আপনি এখন ফেসবুক ইউজ করছেন তাহলে আপনার আইডি আর আপনার বন্ধুর আইডি কিন্তু ভিন্ন । তার আইডিতে যদি এক রকম ডেটা থাকে আপনার টা ভিন্ন রকম । ধরেন আপনি পিসি তে ফটোশপ ব্যাবহার করেন আপনি যা ব্যাবহার করে তা সব ক্লায়েন্ত সাইট তবে আপনাকে অ্যাকাউন্ট এর মাধ্যমে ফটোশপ রেজিটার্ড করে নিতে হবে , অথবা নিয়মিত আপডেট দেওয়া এসব সার্ভার সাইট থেকে মেনেজ হয় পুরাপুরি । এবার আসি কিছু সার্ভার সাইট টেকনোলজির ব্যাপারে।আর যারা এই সার্ভার সাইড ডেভলপমেন্ট করে তারা তারা  ব্যাক এন্ড ডেভলপারব্যাক। যে কিনা সার্ভারের ডাটা এবং রিকোয়েস্ট গুলো কন্ট্রোল করে থাকে। ডাইনামিক ওয়েবসাইটের ব্যাক-এন্ডে অনেকগুলো সার্ভিসের প্রয়োজন পড়ে বা কাজ করে থাকে। আপনি নিশ্চয়ই গুগল ফর্ম পূরণ করেছেন? অথবা, কোনো ওয়েবসাইটে একাউন্ট তৈরী করেছেন? ওয়েবসাইটে কোনো ডেটা ইনপুট করার পর সেটা সেভ হওয়ার জন্য ডেটাবেজের প্রয়োজন পড়ে। ডেটাবেজ কানেকশনের মাধ্যমে সার্ভার নিজ থেকেই ডেটা গুলো সেভ করে রাখে এবং প্রয়োজন মতো ডেটার আউটপুট দেয়। ব্যাক-এন্ড ডেভেলপার সার্ভার সাইড ডেভেলপ করতে PHP, NodeJS, Python বা Ruby ল্যাংগুয়েজ ব্যবহার করে থাকে। এবং ডাটাবেজ কুয়েরী লিখতে SQL বা NoSQL এর মধ্যে (MySQL, MongoDB) ল্যাংগুয়েজ ব্যবহার করে থাকে।

ওয়েব ডেভেলপারের যেসব কাজ করতে হয়

  • ওয়েব ডেভেলপারের মূল কাজ হচ্ছে, ওয়েবসাইটের একচুয়াল ইন্টারফেস বানানো। এই ইন্টারফেস একজন ফ্রন্ট-এন্ড ডেভেলপার HTML, CSS ও JS ল্যাংগুয়েজ দিয়ে তৈরী করে থাকে।
  • ফ্রন্ট-এন্ড ডেভেলপার মডার্ণ স্টাইল ও এডভান্স ডিজাইন করতে CSS প্রিপ্রসেসর, জাভাস্ক্রিপ্ট লাইব্রেরী ও ফ্রেমওয়ার্ক ব্যবহার করে থাকে, যাতে ওয়েবসাইট ডেভেলপমেন্টের কাজ দ্রুত হয়।
  • ফ্রন্ট-এন্ড ডেভেলপার একটি মার্কআপ ডিজাইন ব্যাক-এন্ড ডেভেলপার কে দেয়, যাতে উভয়ই মিলে ডিজাইনটিকে ডাইনামিক ওয়েবসাইটে রূপ দিতে পারে এবং সার্ভার ও ডেটাবেজে প্রয়োজনীয় ডেটা সাজিয়ে রাখতে পারে।
  • ব্যাক-এন্ড ডেভেলপার PHP/NodeJS ও MySQL ল্যাংগুয়েজ ব্যবহার করে ওয়েবসাইটের ব্যাকবোন তৈরী করে।
  • উভয়ই একই ধরণের ডেভেলপমেন্ট এনভায়রনমেন্ট বা IDE ব্যবহার করে। এবং প্রায় একইরকম সফটওয়্যার/এপ্লিকেশন বা টুলস দিয়ে কোড লিখে ওয়েবসাইট বিল্ড করে থাকে।
  • ওয়েব ডেভেলপার ভার্শন কন্ট্রোল (কোডের হিস্টোরী) করার জন্য গিট ব্যবহার করে থাকে। যাতে খুব সহজেই নতুন করে বিল্ড করা কোডে সমস্যা হলে পূর্ববর্তী ভার্শনে ফিরে যাওয়া যায়।

ফুল-স্ট্যাক ডেভেলপার কে? ফুল-স্ট্যাক ডেভেলপার কি করে?

উপরে ডেভেলপমেন্ট নিয়ে যা কিছু আলোচনা করা হয়েছে, তার সব কিছু নিয়ে যার পরিপূর্ণ জ্ঞান রয়েছে তিনিই ফুল-স্ট্যাক ডেভেলপার। তারমানে ফুল-স্ট্যাক ডেভেলপার হচ্ছেন এমন কেউ, যে কিনা একটি ওয়েবসাইট শুরু থেকে শেষ পর্যন্ত তৈরী করতে পারেন। সাধারণত ফুল-স্ট্যাক ডেভেলপারের ডিজাইন ও ইউজার এক্সপেরিয়েন্স নিয়ে বেসিক ধারণা থাকে। ফুল-স্ট্যাক ডেভেলপার হতে হলে আপনার সবগুলো ল্যাংগুয়েজে এক্সপার্ট হতে হবে ব্যাপারটা এমন নয়। একসাথে অনেক গুলো ল্যাংগুয়েজে এক্সপার্ট বা প্রফেশনাল হওয়া বিষয়টি খুব সহজ নয়। তাছাড়া ওয়েব টেকনোলজি খুব কম সময়ের মধ্যে পরিবর্তিত হচ্ছে।

যেমন, বর্তমানে React.JS বা Angular.JS নিয়ে বেশী কাজ করা হচ্ছে, কিন্তু এমন একটা সময় ছিলো যখন এই ধরণের ফ্রেমওয়ার্ক ছাড়াও ফুল-স্ট্যাক ওয়েব ডেভেলপমেন্ট হতো। কে জানে! বর্তমানে বহুল প্রচলিত ল্যাংগুয়েজ গুলোর জায়গা হয়তো অচীরেই Flutter এর মতো কেউ জায়গা নিয়ে নিবে।

ওয়েব সম্পর্কিত বেসিক সবধরণের জ্ঞান থাকা একজন ফুল-স্ট্যাক ডেভেলপারের জন্য অবশ্যই প্লাস পয়েন্ট। তবুও সব বিষয়ে এক্সপার্ট হওয়ার চেয়ে যেকোনো একটিতে ফোকাস হওয়া বেশী জরুরী। ওয়েব ডেভেলপমেন্টে ফ্রন্ট-এন্ড বা ব্যাক-এন্ড যে বিষয় নিয়ে কাজ করতে বেশী ভালো লাগবে সে বিষয়ে অধিক সময় নিয়ে কাজ করা উচিত।

আশাকরছি, ওয়েব ডেভেলপার এবং ওয়েব ডিজাইনার কে? কি তাদের কাজ ও দায়িত্ব? এইসকল প্রশ্নের পরিষ্কার উত্তর দিতে পেরেছি। খেয়াল করলে দেখতে পাবেন, এই প্রত্যেকটি দায়িত্ব অনেক গুরুত্বপূর্ণ কারন এদের একজন অন্যজনের পরিপূরক।

8 Shares:
2 comments

Leave a Reply

You May Also Like

লিঙ্কডইন কি এবং প্রোফাইল কি কিভাবে তৈরি করবেন।

লিঙ্কডইন কি? লিংকডইন: প্রফেশনালদের সোস্যাল মিডিয়া প্ল্যাটফর্ম একবিংশ শতাব্দীর এই যুগে এসে লিংকডইন (LinkedIn) সম্পর্কে জানে না এমন…

সাস কি ? এবং কোডিং ইনভাইরোনমেন্ট সেট আপ

আমি কাজী মুহাম্মদ আলদীন ফারদিন বলতে গেলে আমি একজন নুব । আমার এই সিরিজটি চালু করা মূল উদ্দেশ্য…

Type Coercion in javaScript

আমরা অনেক সময় জাভাস্ক্রিপ্টে বিভিন্ন ধরনের আজব সিন্টাক্স দেখতে পাই আর সব কিছুই যেন আমাদের মাথার উপর দিয়ে…