সার্ভার-সাইড বনাম ক্লায়েন্ট-সাইড বনাম হাইব্রিডে ওয়েব অ্যাপ্লিকেশন তৈরি করছেন? [বন্ধ]


27

ওয়েব অ্যাপ্লিকেশন তৈরির জন্য একাধিক পদ্ধতি রয়েছে:

1. সার্ভার-সাইড শুধুমাত্র

এটি একটি শাস্ত্রীয় পদ্ধতির যেখানে আপনি রুবে অন রেল, জ্যাঙ্গো, এক্সপ্রেস, প্লে এর মতো ওয়েব ফ্রেমওয়ার্ক দ্বারা সার্ভারে পৃষ্ঠাগুলি রেন্ডার করেন! ফ্রেমওয়ার্ক এবং ইত্যাদি

সাধারণ ওয়ার্কফ্লো : আপনার পছন্দসই কাঠামোর মধ্যে সার্ভারে আপনার সমস্ত ব্যবসায়িক যুক্তি, মডেল এবং দেখুন টেমপ্লেট তৈরি করুন।

2. ক্লায়েন্ট-পাশ + REST এপিআই

তুলনামূলকভাবে খুব বেশি দিন আগে নয়, সামগ্রিকভাবে ওয়েব সম্প্রদায়টি কৌণিক-পক্ষের অ্যাপ্লিকেশনগুলি কৌণিক, ব্যাকবোন, আম্বার এবং জাভাস্ক্রিপ্ট এমভি * ফ্রেমওয়ার্কের কয়েক ডজন তৈরি করতে শুরু করে। এবং এখন আমাদেরও React.js পার্টিতে যোগদান রয়েছে।

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

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

৩. হাইব্রিড

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

উপর হাইব্রীড সামনে Airbnb এর আছে rendr যে কল্পনানুসারে মেরুদন্ড সম্মিলন এবং একসঙ্গে প্রকাশ করে।

এরিক ফ্লোরেনজো আজ তার ব্লগে পোস্ট করেছেন: প্রতিক্রিয়া: অবশেষে, দুর্দান্ত সার্ভার / ক্লায়েন্ট ওয়েব স্ট্যাক

ওয়েব অ্যাপ্লিকেশন তৈরির পরিমাণগুলি মাত্র অপ্রতিরোধ্য। এবং যে কেউ ওয়েব বিকাশ শিখছেন তাদের পক্ষে এটি সমস্যা হয়ে উঠতে পারে। কীভাবে কেউ তার পরবর্তী অ্যাপ্লিকেশন তৈরি করতে কোন পদ্ধতির ব্যবহার করবেন তা সিদ্ধান্ত নেবে?


1
"কেবল ক্লায়েন্ট সাইড: ... আপনার কাজ শেষ করার পরে এখন সার্ভারে মডেল, নিয়ন্ত্রক, রুট তৈরি করুন" " এটি বিশ্লেষণ করে না।
ব্যবহারকারী16764

@ ব্যবহারকারী16764 আমার প্রশ্ন আপডেট করেছে।
আর

বেশ কয়েকটি আকর্ষণীয় লিঙ্ক: ক্রেজওয়ারকার.ডে / en
blog

উত্তর:


13

আমি মনে করি আপনি "ক্লায়েন্ট সাইড কেবলমাত্র" পুরোপুরি ভুল বুঝেছেন।

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

ব্যবসায় যুক্তি একবার তৈরি করা হয়। ভিউ লজিক একবার তৈরি করা হয়। নিয়ন্ত্রণ যুক্তি একবারে তৈরি করা হয় - সমস্ত পছন্দ জাভাস্ক্রিপ্ট ফ্রেমওয়ার্কে। ডেটা অ্যাক্সেস লজিকটি কেবল একবারই বিকাশ করা হয়েছে তবে এবার সার্ভারের দিক থেকে আপনি যে কোনও RESTy বা SOAPy কাঠামো বেছে নিন তা নিয়ে।

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


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

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

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

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

9

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

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

আপনার কাজটি প্রতিটি পদ্ধতির পিছনে থাকা উপকারিতা এবং বুদ্ধি ব্যাখ্যা করা।


1
ধন্যবাদ। আপনি যা বলছেন তা বোধগম্য হয়। আমি আশা করছিলাম একটি "সিলভার বুলেট" আছে, জিনিসগুলি করার একটি সত্য উপায়। আমি ২০১১ সালে জ্যাঙ্গো নামে একটি পাইথন ওয়েব কাঠামো দিয়ে শুরু করেছি। এবং হঠাৎ করেই ওয়েব অ্যাপস তৈরির পদ্ধতিতে রেলস এবং জ্যাঙ্গো পদ্ধতি পুরানো হয়ে উঠেছে। তবে আজ মনে হচ্ছে আমরা আরও ভাল পারফরম্যান্স অর্জনের জন্য আবার একটি পদক্ষেপ পিছনে নিচ্ছি এবং ক্লায়েন্ট-সাইডকে আবার সার্ভার-সাইডের সাথে মিশ্রিত করছি।
আর

দুঃখের বিষয়, না, সিলভার বুলেট নেই। :)। তবে কৌতুকটি হ'ল টাস্কটি কীভাবে একসাথে উপযুক্ত হবে তা কার্যকরভাবে বুঝতে হবে এবং সেইসাথে নির্মম পুনর্নির্মাণের সংস্কৃতিকে সমর্থন করা যাতে আপনার প্রাথমিক দিকটি ফলপ্রসূ না হলে আপনি সর্বদা জিনিসগুলি পরিবর্তন করতে পারেন।
রিবল্ড এডি 21

1
এটি সূক্ষ্ম এবং সমস্ত তবে কখনও কখনও উভয় পদ্ধতির ব্যবহারযোগ্য এবং এই ক্ষেত্রে সিদ্ধান্ত নেওয়ার প্রয়োজন ছাড়া আপনার অন্য কিছু প্রয়োজন।
সিড

5

আমি মনে করি নতুন পদ্ধতির এবং ফ্রেমওয়ার্কগুলির অন্যতম মূল বিষয় হ'ল সামনের প্রযুক্তিগুলি এবং পিছনের শেষ প্রযুক্তিগুলির মধ্যে কম সংযুক্তি রয়েছে ling

ধারণাটি হ'ল আপনি ক্লায়েন্টের যে কোনও ফ্রেমওয়ার্ক ব্যবহার করতে পারেন এবং সার্ভারের পাশের কাঠামো নির্বিশেষে যে কোনও সংখ্যক উত্স থেকে ডেটা এবং / অথবা ভিউগুলি টানতে পারেন।

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

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

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

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