ক্লায়েন্ট এবং সার্ভারের জন্য একই ভাষা ব্যবহার করা কতটা গুরুত্বপূর্ণ?


11

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

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

আমি ক্লায়েন্ট / সার্ভার ল্যাঙ্গুয়েজ প্যারিটি কেন একটি পবিত্র গ্রেইল হিসাবে বিবেচিত হয় তা বোঝার চেষ্টা করছি। সফ্টওয়্যার বিকাশে ক্লায়েন্ট / সার্ভার ল্যাঙ্গুয়েজ প্যারিটি কেন গুরুত্বপূর্ণ?


12
আমি যুক্তি দিয়ে বলব যে এটি অগত্যা কোনও দুর্দান্ত জিনিস নয়, বিশেষত যখন জাভাস্ক্রিপ্টের প্রশ্নে ভাষা।
লেটি

4
আমি অবশ্যই স্বীকার করতে পারি যে জেএসের সাথে আমার এপিফিনি মুহুর্তে পৌঁছতে এখনও অবধি নেই এবং আপনি কেন এটি দিয়ে সার্ভার কোড লিখতে চান তা বুঝতে পারি নি, তবে এটি অন্য একটি বিষয় ..
মাকিতা

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

1
এমনকি আমি এর বিরুদ্ধে তর্কও করব। সার্ভার এবং ক্লায়েন্ট উভয়ের জন্য একই ভাষা ব্যবহার করে আপনি যোগাযোগে জড়িয়ে পড়ার ঝুঁকি এবং ভাষার নির্দিষ্ট বৈশিষ্ট্যগুলি চালান।
পিটার বি

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

উত্তর:


5

প্রো পক্ষের দিকে:

  • যদি স্কিমা এবং কোড উভয় পক্ষের দ্বারা পুনরায় ব্যবহার করা যায়, তবে একই যুক্তি এবং ডেটা একবারে প্রয়োগ করার ক্ষেত্রে অনেক দক্ষতা রয়েছে।

কন এর পাশে:

  • ক্লায়েন্টটি প্রাথমিকভাবে এমন একটি দৃষ্টিভঙ্গি হতে পারে যা একটি মার্ক আপ বা স্ক্রিপ্ট ভাষার জন্য উপযুক্ত, তবে সার্ভারটি মূলত ব্যবসায়ের যুক্তি হতে পারে যা কোনও ভিন্ন ভাষার পক্ষে আরও উপযুক্ত।

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

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


14

সম্ভবত অনুভূত সুবিধাগুলি হ'ল:

অর্থাত্ এটি প্রকল্প পরিচালকদের পক্ষে রিসোর্স ম্যানেজমেন্টকে সহজ করে তোলে এবং এতে অল্প বা কোনও প্রযুক্তিগত সুবিধা নেই (সম্ভবত আপনি যদি এক ট্রিক টোনির গুচ্ছ ভাড়া নিচ্ছেন তবে এমনকি নেতিবাচক প্রযুক্তিগত সুবিধা)


1
আপনি যদি নিজের থেকেই বিকাশ করেন তবে এটি একটি উপকার, কারণ সার্ভার এবং ক্লায়েন্টের মধ্যে কোনও "মানসিক" স্যুইচ নেই। আপনি যদি কিছু করতে চান এবং জাভাস্ক্রিপ্টে একটি বিশাল অভিজ্ঞতা পেতে চান তবে আপনি সম্ভবত আরও ভাল এবং দ্রুত ফলাফল পেতে পারেন তবে সম্ভবত
কে ..

আপনি কি আরও বলবেন যে কোনও প্রযুক্তিগত অসুবিধা নেই, প্রতিটি একক সাবসিস্টেমের জন্য আলাদা ভাষা ব্যবহারে সম্ভবত সুবিধা?
মাইকেল বর্গওয়ার্ট

1
@ মিশেলবার্গওয়ার্ড এই ধারণাটি গ্রহণ করে যে প্রতিটি ভাষা সাবসিস্টেমের জন্য উপযুক্ত তবে আমি হ্যাঁ বলব না, কোনও প্রযুক্তিগত অসুবিধা নেই (তবে কোনও লাভের খুব বেশি কিছু নয়) তবে দলের গতিশীলতা এবং নিয়োগের ক্ষেত্রে বড় প্রভাব ফেলতে পারে। অবশ্যই বেশিরভাগ সাবসিস্টেমগুলি কোনও ভাষায় খুব সহজেই প্রয়োগযোগ্য হবে তাই আমি এই চরমটি দেখার আশা করি না।
জে কে।

এটি একটি খারাপ ধারণা বলে মন্তব্যটি ন্যায়বিচারহীন। জাভা স্ক্রিপ্ট এবং লিস্প সহ একটি সার্ভার-সাইড ভাষা সংকলন করতে পারে এমন প্রচুর ভাষাগুলি রয়েছে যা হ'ল জোয়েলের ব্লগ পোস্ট দ্বারা প্রশংসিত এসআইসিপি কোর্সে ব্যবহৃত ভাষা।
back2dos

@ back2dos আশা যে সুস্পষ্ট এটা
জে।

2

সুবিধাটি হ'ল আপনি উভয় পক্ষের লোকের দক্ষতা এবং কোডটি পুনরায় ব্যবহার করতে পারেন (কিছু প্রসারিত করতে)।

সম্প্রদায়

বিকাশকারীদের একটি একক ভাষা আয়ত্ত করতে হবে এবং একটি একক পুল গঠন করতে হবে। দক্ষতার দুটি পুলের চেয়ে। এটি তাদের মধ্যে জ্ঞান স্থানান্তর করা সহজতর করে এবং ক্লায়েন্ট এবং সার্ভারের মধ্যে আরও সহজেই তাদের কাজ স্যুইচ করার অনুমতি দেয়। শেষ অবধি, প্রযুক্তিগত সমস্যাগুলি নিয়ে আলোচনা করার সময় এটি "অন্য পক্ষের" দলের সদস্যদের সাথে যোগাযোগের সুবিধা দেয় কারণ তারা একই প্রযুক্তিগত পটভূমি ভাগ করে নেয়।

কোড

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

... অবশ্যই ডাউনসাইডসও রয়েছে তবে এটি অন্য পোস্টের জন্য;)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.