পিছনের প্রান্তে ব্যবহৃত ভাষায় লেখা ফ্রন্ট এন্ড! [বন্ধ]


10

ওয়েব বিকাশের আমার অভিজ্ঞতা থেকে, আমি জানি যে পিএইচপি, জাভা, পাইথন..ইটিসি ইত্যাদি ভাষাগুলি ব্যাকএন্ড ডেভলপমেন্ট স্টাফ (সার্ভারে চলমান সফ্টওয়্যার) এবং জেএস / এইচটিএমএল / সিএসএস ব্যবহার করা হয়।

তবে আমি দেখতে পাচ্ছি যে অনেকগুলি সংস্থার বক্তব্য তারা উদাহরণস্বরূপ, ফ্রন্ট-এন্ড বিকাশের জন্য পিএইচপি এবং ব্যাক-এন্ডের জন্য পাইথন ব্যবহার করে।

এর অর্থ কি পিএইচপি অন্য ভাষাতে লেখা অন্য পরিষেবাগুলিকে আরইএসটি, আরপিসি .. ইত্যাদি মাধ্যমে কল করার জন্য ফ্রন্ট-এন্ড?


3
এই পোস্টটি পড়ার চেয়ে শক্ত (পাঠ্যের প্রাচীর)। তুমি কিছু মনে করবে সম্পাদন করা একটি ভাল আকৃতি সেটিকে ing?
gnat

উত্তর:


36

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

একটি ওয়েব অ্যাপ্লিকেশনটিতে, ক্লায়েন্ট (ব্যবহারকারীর ব্রাউজার), ওয়েব পৃষ্ঠাগুলি অ্যাক্সেস করে যা "ফ্রন্ট-এন্ড" প্রযুক্তিগুলির দ্বারা "সার্ভার-সাইড" সঞ্চিত বা গতিশীলভাবে উত্পাদিত হয়। সেই ফ্রন্ট-এন্ড উপাদানগুলি পরিবর্তে "ব্যাক-এন্ড" উপাদানগুলি থেকে ডেটা বা অন্যান্য তথ্য টানতে পারে। সুতরাং পিএইচপিতে লিখিত একটি ওয়েব অ্যাপ্লিকেশনটি "ফ্রন্ট-এন্ড" তবে "সার্ভার-সাইড" হবে। যাইহোক, যদি ওয়েব পেজ কোন জাভাস্ক্রিপ্ট অন্তর্ভুক্ত ব্যবহারকারীর ব্রাউজার দ্বারা মৃত্যুদন্ড কার্যকর করা হবে, যে জাভাস্ক্রিপ্ট কোড কার্যকর করা হবে "ক্লায়েন্ট-সাইড"।

আশা করি আমি কিছু বিভ্রান্তি দূর করেছি, তবে এখন আমি আরও কিছু তৈরি করার ঝুঁকি নিয়েছি।

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

দ্বিতীয়ত, জাভাস্ক্রিপ্ট অবশ্যই ক্লায়েন্ট-সাইড ব্যবহারের মধ্যে সীমাবদ্ধ নয়। এটি "সার্ভার-সাইড" ভাষা হিসাবে ক্রমবর্ধমান জনপ্রিয় হয়ে উঠেছে ( একটি উদাহরণের জন্য নোড.জেএস দেখুন )। এই হিসাবে, এর সর্বাধিক সাধারণ ব্যবহার পূর্ববর্তী অনুচ্ছেদে বর্ণিত কেবলমাত্র ধরণের ইন্টারনেট-মুখী পরিষেবার জন্য for

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

(ওহ, এবং যদি আপনি আছে পিএইচপি ব্যবহার করতে, দয়া করে এটা সামনে শেষ রাখা। এটা প্রবলভাবে হয় না , একটি ভাল ব্যাক এন্ড প্রযুক্তি। যদি আপনি কি কখনও একটি ব্রাউজার যা পিএইচপি ক্লায়েন্ট-সাইড executes তৈরি কেহ এটি অঙ্কুর তাদের।)


আপনার শেষ বাক্য দেওয়া, আপনি ভোগ করতে পারে code.google.com/p/php-to-js :-P
অ্যান্ড্রিয়া

যদি প্রতিটি ভাষা সীমান্তে ব্যবহার করা যায় এবং প্রতিটি ভাষা ব্যাকএন্ডে ব্যবহার করা যায় তবে যে পার্থক্যটি জিজ্ঞাসা করা হয়েছিল তা কি বেহুদা নয়? এটি কেবলমাত্র একটি প্রয়োগের প্রসঙ্গে উত্তর দেওয়া যেতে পারে।
ক্লাদিউ ক্র্যাঙ্গা

7

আমি মনে করি আপনার প্রশ্নটি সত্যিই পিএইচপি-র সাথে যথেষ্ট নির্দিষ্ট হতে পারে, কারণ আপনি উল্লিখিত অন্যান্য ব্যাক-এন্ড প্রযুক্তিগুলির মধ্যে এটি দেখতে ব্যবহৃত হতে পারে না।

পিএইচপি এটি একটি মজার উদাহরণ হিসাবে এটি হতে পারে (বরং কুরুচিপূর্ণভাবে আমি যুক্ত করতে পারি) প্রচুর ওয়েব প্রকল্পের সাথে সম্মিলিত একটি সর্ব-এক-ভাষা হিসাবে দেখা যায়। আপনি আপনার traditionalতিহ্যবাহী " ব্যাক-এন্ড " কাজগুলি করতে পারেন - যেমন ফাইল এবং ডাটাবেস ক্রিয়াকলাপ, যখন " ফ্রন্ট-এন্ড " মার্ক-আপ তৈরি করে।

এটি স্প্যাগেটি জগাখিচুড়ি পরিষ্কারভাবে নিয়ে যেতে পারে যেখানে উদ্বেগের সত্যিকারের বিভাজন নেই, তাই এটি সত্যই আমার মনে ভ্রান্ত হওয়া উচিত। একটি দুর্দান্ত উদাহরণের জন্য, আপনি যদি ওয়ার্ডপ্রেস উত্সটি ব্রাউজ করেন তবে আপনি প্রায়শই হারিয়ে যেতে পারেন - এবং এটি এমন একটি প্রকল্প যেখানে আমি ভাষাকে দোষ দিই, কোডবেসের সংগঠনটি আসলে খুব ভাল।

কিছুটা হলেও " টেম্প্লেটিং ইঞ্জিন " (যেমন স্মার্ট ) ব্যবহার করে এর প্রতিকার করা যেতে পারে - তবে এটি এখনও পিএইচপি যা "ফ্রন্ট-এন্ড" তৈরি করছে যখন "ব্যাক-এন্ড" কার্যকারিতা সরবরাহ করে। এটি পিএইচপি ডিজাইনের পিছনে একটি উদ্দেশ্যমূলক সিদ্ধান্ত ছিল, এটি সমস্ত " হাইপারটেক্সট প্রসেসর " পরে!

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

ব্যক্তিগতভাবে, আমি পুরো "ব্যাক-এন্ড" এবং "ফ্রন্ট-এন্ড" পরিভাষাটি কিছুটা .. সম্ভবত পুরানো বলে মনে করি। আমি বরং বিষয়গুলি কেবল ক্লায়েন্ট-সাইড এবং সার্ভার-সাইডে উল্লেখ করা হত; তারপরে সত্যিকারের অস্পষ্টতা নেই *

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

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

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

* যদিও, আপনার প্রশ্নটি মাথা ঘুরিয়ে দেওয়ার জন্য .. জাভাস্ক্রিপ্ট ব্যবহার করে ব্যাক-এন্ড সিস্টেমগুলি কী হবে? (node.js;))

সম্পাদনা:

@Itsbruce এর একটি মন্তব্য পড়ার পরে, আমি আমার "ফ্রন্ট-এন্ড" / "ব্যাক-এন্ড" পরিভাষার অস্পষ্টতা বলতে কী বোঝাতে চাইছি তা পরিষ্কার করার সিদ্ধান্ত নিয়েছি।

Ditionতিহ্যগতভাবে এই পরিভাষাটি ঠিকঠাক হত, স্থাপত্যগতভাবে ওয়েব অ্যাপ্লিকেশনগুলি অনেক সহজ ছিল - এবং আমি এটি বলার সাহস করেছিলাম, অনেকগুলি গভীর। "সার্ভার সাইড" এবং "ক্লায়েন্ট সাইড" বলার বিষয়টি আমার মনে অনেক ক্লিনার এবং ক্লায়েন্টের কাছে আরও বেশি প্রসেসিং এবং যুক্তি যুক্ত করার বর্তমান প্রবণতা প্রচলিত হওয়ায় এটি আরও স্পষ্ট হয়ে উঠছে।

এটি যথেষ্ট পরিমাণে ডেটা প্রসেসিং ক্লায়েন্ট-সাইডে গ্রহণযোগ্য হয়ে উঠছে (কেবলমাত্র বর্তমানে ট্রেন্ডিং করা জাভাস্ক্রিপ্ট ফ্রেমওয়ার্কগুলিতে কিছু দেখুন), তবে কি এটি সত্যই সামনের দিকে? ব্যবহারকারী এটি দেখে না, তারা এর ফলাফলগুলি দেখে - এবং traditionalতিহ্যবাহী মানদণ্ড অনুসারে যা সাধারণত "ব্যাক-এন্ড" হিসাবে দেখা হবে; তবে এটি এখন ব্রাউজারে ঘটছে ..

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

এই প্রশ্নটি বিদ্যমান যে " ফ্রন্ট-এন্ড " এবং " ব্যাক-এন্ড " কীভাবে অন্তর্নিহিত অস্পষ্ট এবং তার অব্যাহত থাকবে তার উদাহরণ হিসাবে কাজ করে ।

"সার্ভার-সাইড" বা "ক্লায়েন্ট-সাইড" হিসাবে অস্পষ্টতা হারিয়ে যাওয়ার বিষয়টি উল্লেখ করে আপনি জানেন যে কোডটি কোথায় কার্যকর হচ্ছে এবং কোন ভাষাগুলি ব্যবহৃত হবে। যদি আপনি ওপি প্রদত্ত উদাহরণটিতে " ফ্রন্ট-এন্ড " বলে থাকেন তবে আমি সন্দেহ করি যে অনেক লোক " ওহ, তাই সার্ভারে ঠিক পিএইচপি? " যেতে হবে।


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

দোহ, আমার আবার কাজ করতে ফিরে যাওয়ার কারণে আমার প্রুফ-পড়ার পর্যাপ্ত সময় ছিল না। মন্তব্যটির জন্য চিয়ার্স যদিও এটি আমাকে সম্পাদনা করার জন্য একটি মাথা দিয়েছে। আমি যদিও পরিভাষা সম্পর্কিত আমার ধারণাগুলির সাথে আঁকড়ে থাকি তবে এটি কিছুটা প্রসারিত হবে। তোমাকে ধন্যবাদ।
লন্ডনে ফার্গাস

অগত্যা নয় - আমি একটি ওয়েব-সার্ভারের ভাষাটিকে ক্লায়েন্টের অংশ হিসাবে বিবেচনা করি (আজকাল ওয়েবসার্সগুলি কতবার হ্যাক হয় তা বিবেচনা করে এটি প্রথম দিন থেকে আপস করা বিবেচনা করা উচিত) সুতরাং উপস্থাপনার অংশ হিসাবে সার্ভার-সাইডের ভাষাগুলি আলাদা করার প্রয়োজন রয়েছে অ্যাপ্লিকেশন-স্তর পরিষেবাগুলি সরবরাহ করে এমন সার্ভার-পক্ষের ভাষাগুলি থেকে স্তর। সুতরাং পিএইচপি একটি "ফ্রন্ট-এন্ড, সার্ভার-সাইড" ভাষা হিসাবে বিবেচনা করা যেতে পারে।
gbjbaanb
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.