অন্যান্য উত্তর উপর মনোনিবেশ করেছে কি ক্লায়েন্ট-সাইড এবং সার্ভার সাইড প্রোগ্রামিং হল: কি ভাষায় বেশিরভাগই ব্যবহার করা হয়, কি কর্ম সম্পন্ন করা থাকতে হবে, ইত্যাদি
এটি একেবারে সঠিক, তবে ওয়েব প্রোগ্রামিংয়ের প্রসঙ্গে উভয় প্রকারের প্রোগ্রামিংয়ের মধ্যে পার্থক্য কী তা নিয়ে আমি কিছুটা ফোকাস মিস করছি । আমাকে যে ঠিকানা করার চেষ্টা করুন।
সুরক্ষা এবং অনুমতি
ক্লায়েন্ট-সাইড প্রোগ্রামিংয়ে, সুরক্ষা উদ্বেগের কারণে আপনার সম্পূর্ণ সিস্টেমে অ্যাক্সেস নেই। ব্যবহারকারীর অগত্যা কোড থেকে প্রতিটি কোডকে বিশ্বাস করে না যা ওয়েব থেকে ডাউনলোড করা হয় এবং তার মেশিনে চালিত হয় এবং এটি ক্লায়েন্ট-পাশের পরিবেশের মূল নকশা লক্ষ্য (ব্রাউজার এবং জাভাস্ক্রিপ্ট ইঞ্জিন): বিচ্ছিন্ন পরিবেশ সরবরাহ করতে যেখানে ক্লায়েন্ট কোড কার্যকর করতে পারে তবে অনুমোদিত সুযোগের বাইরে কিছু অ্যাক্সেস করতে পারে না।
সার্ভার-সাইড প্রোগ্রামিংয়ে অন্তর্নিহিত সিস্টেমে প্রতিটি প্রয়োগের অ্যাক্সেস সীমাবদ্ধ করা ভাল অনুশীলন, তবে এটি আপনার উপর অনেক কম প্রয়োগ করা হয়, কারণ শেষ পর্যন্ত, আপনি বা আপনার সংস্থা সেই সিস্টেমটির নিয়ন্ত্রণে রয়েছে। এই 'বিচ্ছিন্ন খাঁচা' ডিজাইনটি সার্ভার-সাইড প্রোগ্রামিং সরঞ্জাম এবং ভাষাগুলিতে অন্তর্নির্মিত নয় , তবে ইনস্টলেশন সেটআপের মাধ্যমে সম্পন্ন হয় (সীমাবদ্ধ অনুমতিযুক্ত ডেডিকেটেড ব্যবহারকারীদের ব্যবহার করে, বন্দরগুলি বেছে নেওয়ার জন্য যা রুট অনুমতিগুলির প্রয়োজন হয় না ইত্যাদি)।
স্থাপনা এবং প্ল্যাটফর্ম
সার্ভার-সাইড প্রোগ্রামিংয়ে, কোনও ধরণের সরঞ্জাম (এমনকি এটি make install
বা ক git clone
) ব্যবহার করে, আপনার কোডের বাইরে থেকে মোতায়েনের ঘটনা ঘটতে হবে , এবং এই স্থাপনাটি সাধারণত ম্যানুয়াল হয় - বা কমপক্ষে, এটি একটি অর্ধ-তত্ত্বাবধানে হবে বলে আশা করা হচ্ছে উপায়। আপনি যে সিস্টেমটি প্রয়োগ করেন (ওএস অর্থ এটি) বেশ কয়েকটি মেশিনের মধ্যে সাধারণত অভিন্ন, তবে এটি আপনার প্রয়োজনের সাথে ভারীভাবে কাস্টমাইজ করা যায়।
ক্লায়েন্ট-সাইড প্রোগ্রামিংয়ে, আপনার সার্ভার-সাইড কোড থেকে মোতায়েন ঘটে যা ক্লায়েন্টদের স্বয়ংক্রিয়ভাবে এবং তদারকি ছাড়াই পরিবেশন করে। অন্তর্নিহিত সিস্টেম (মূলত ব্রাউজারটির অর্থ) অনেক বড় সংখ্যক মেশিন জুড়ে খুব আলাদা হতে পারে। মোতায়েনকে একেবারে সম্ভাব্য করে তুলতে, মানগুলি রাখতে হবে এবং একটি ভাষা এবং পরিবেশের ক্ষেত্রে আরও শক্তিশালী প্রবণতা রয়েছে।
এই কারণেই একটি মেশিন থেকে অন্য মেশিনে সার্ভার-সাইড কোড অনুলিপি করতে কয়েক সপ্তাহ সময় নিতে পারে, যখন ক্লায়েন্ট-সাইড কোডটি বিভিন্ন মেশিনে চালিত করার জন্য সাধারণত তুচ্ছ।
রাজ্য এবং গৌণ প্রভাব
(অস্বীকৃতি: এটি এখন পর্যন্ত সকলের পক্ষে বিষয়গত বিষয়। সম্ভবত আমার যুক্তি সম্পর্কিত অনেকগুলি ভুল দিক রয়েছে my এটি আমার মতে একটি আকর্ষণীয় অনুমান মাত্র))
সার্ভার-সাইড প্রোগ্রামিংয়ে, রাষ্ট্রটি অনেক বড় উদ্বেগ, যার অর্থ সম্মতিজনিত কারণে দ্বন্দ্ব হওয়ার সম্ভাবনা সহ ব্যবহারকারীর অনুরোধে ডেটা পুনরুদ্ধার এবং আপডেট করার উপায়। এমনকি যদি এই জটিলতাটির বেশিরভাগটি একটি ডাটাবেস সার্ভারে লোড হয়, তবে এটি ইন্টারফেসটি সঠিকভাবে ব্যবহার করে ডাটাবেসটিকে তার গ্যারান্টিগুলি রাখার অনুমতি দেওয়ার জন্য সার্ভার-সাইড কোডের দায়বদ্ধ (যেমন কখনও কখনও দেখা যায় না এমন আপডেটগুলির জন্য একটি ক্যাশে ব্যবহার করবেন না) ডিবি), যদিও এটি সার্ভার-সাইড কোডের একটি লক্ষ্য যাতে কাজ করে ডাটাবেসকে ওভারলোড না করে এবং প্রতিক্রিয়ার জন্য ব্যবহারকারীকে অপেক্ষা করে না।
ক্লায়েন্ট-সাইড প্রোগ্রামিংয়ে, ব্যবহারকারীর কাছে ফলাফল উপস্থাপন করা অনেক বড় উদ্বেগ এবং এটি গৌণ প্রভাবগুলি বোঝায় (বেশিরভাগ স্ক্রিনে মুদ্রণ করে)। এটি বলার অপেক্ষা রাখে না যে কোনও রাষ্ট্র জড়িত নেই (যেমন কুকিজ), কেবলমাত্র কোডটির মূল লক্ষ্যটি ব্যবহারকারীর সাথে আসলে ইন্টারফেস করা এবং এটি গৌণ প্রভাব ছাড়াই ঘটতে পারে না।
এ কারণেই ক্লায়েন্ট-সাইড প্রোগ্রামিংয়ের জন্য সাধারণত (কোনও কোনও সময়ে) ডেমো দিয়ে পর্দার দিকে নজর রাখা দরকার, যা রঙ এবং লেআউটটি ঠিক আছে তা পরীক্ষা করে দেখুন, যখন সার্ভার-সাইড প্রোগ্রামিংটি কেবলমাত্র কোনও পাঠ্য-ভিত্তিক পরিবেশে ঘটতে পারে যেখানে স্বয়ংক্রিয়ভাবে পরীক্ষাগুলি পরীক্ষা করে যে যুক্তিটি এখনও এটি করছে যা অনুমিত হওয়ার কথা।