সম্প্রতি একজন স্থপতি আমাদের সংস্থাটিকে রোলস রইস সলিউশন (এমভিসি) অফার হিসাবে বর্ণনা করেছিলেন যখন তার দরকার ছিল টয়োটা (ওয়েব ফর্ম)।
স্থাপত্য পছন্দ হিসাবে এমভিসি বনাম ওয়েব ফর্ম সম্পর্কে আপনার কী ধারণা তা জানতে আগ্রহী।
সম্প্রতি একজন স্থপতি আমাদের সংস্থাটিকে রোলস রইস সলিউশন (এমভিসি) অফার হিসাবে বর্ণনা করেছিলেন যখন তার দরকার ছিল টয়োটা (ওয়েব ফর্ম)।
স্থাপত্য পছন্দ হিসাবে এমভিসি বনাম ওয়েব ফর্ম সম্পর্কে আপনার কী ধারণা তা জানতে আগ্রহী।
উত্তর:
রোলস রইস / টয়োটা উপমা ভয়াবহ ত্রুটিযুক্ত এবং বিভ্রান্তিমূলক। একটি (এএসপি.নেট এমভিসি) কেবল কোনও ফ্যানসিয়ার বা অন্যটির (এএসপি.এনইটি ওয়েব ফর্ম) বেশি দামি সংস্করণ নয়। এএসপি.এনইটি ব্যবহার করে ওয়েব অ্যাপ্লিকেশন তৈরির পক্ষে এগুলি বিস্তৃত পদ্ধতি।
আমার কাছে, এমভিসি এবং ওয়েব ফর্মগুলির মধ্যে সবচেয়ে বড় আর্কিটেকচারাল পার্থক্য হ'ল তারা কীভাবে ওয়েবের রাজ্যহীন পরিবেশের সাথে কাজ করে: ওয়েব ফর্মগুলি ওয়েব প্রোগ্রামিংয়ের রাষ্ট্রবিহীন প্রকৃতিকে আড়াল করে এমন বিমূর্ততার একটি সেট তৈরি করতে কঠোর পরিশ্রম করে, যেখানে এমভিসি রাষ্ট্রবিহীন পরিবেশকে আলিঙ্গন করে এবং এর সাথে কাজ করে এটা।
প্রতিটি পদ্ধতির এর উপকারিতা এবং ক্ষতিকারক রয়েছে, তবে আমি সত্যিই উপভোগ করি যে এমভিসির সাহায্যে ওয়েব সাইটগুলি ওয়েবফর্মের চেয়ে অনেক বেশি প্রাকৃতিক অনুভূত করে (তার স্তরটি ফাঁসযুক্ত বিমূর্ততার সাথে )।
পুরানো প্রশ্ন তবে এটির আরও বিশদ উত্তর পাওয়ার দাবি রয়েছে, অন্য কারও পক্ষে যদি এখনও সত্যই এটি নিয়ে দ্বিধা থাকে।
শেষ পর্যন্ত, ওয়েবফর্মগুলি একটি পাতলা ক্লায়েন্ট সমাধান যার দ্বারা এটি বোঝানো হয় যে আপনি বেশ কয়েকটি বাটন টিপছেন এবং সামনের প্রান্তটি (ক্লায়েন্ট) আপনার জন্য তৈরি করা হবে। যদি আপনার কাছে এমন লোকেরা থাকে যা কীভাবে ওয়েবফর্মগুলিতে এটি ক্র্যাঙ্ক করতে জানে এবং কোনও রক্ষণাবেক্ষণ / সংশোধনযোগ্যতা উদ্বেগ না থাকে এবং সাইটটি সম্পূর্ণ স্বল্পমেয়াদী এবং নিষ্পত্তিযোগ্য হয় তবে এই পদ্ধতির সাথে কোনও ভুল নেই। আপনার নিজের স্টাফগুলি কীভাবে করা যায় তা শিখানো সম্ভব তবে এই ক্ষেত্রে ওয়েব স্টাফ উভয় ওয়েবফর্মগুলিই রক্ষা করার চেষ্টা করা দরকার। প্রকৌশলী।
অন্যান্য সমস্ত ব্যবহারের ক্ষেত্রে 99.5% দৃশ্যে আমরা অ্যাপ্লিকেশন বিকাশকারীদের কাছ থেকে ওয়েব আড়াল করার চেষ্টা বন্ধ করে দিয়েছি কারণ সত্যিকার অর্থে, আপনি যদি ওয়েব অ্যাপ্লিকেশন লিখতে চান তবে ওয়েব কীভাবে কাজ করে তা শেখার চেয়ে আপনি আরও ভাল। পুরু বনাম পাতলা ক্লায়েন্ট সমাধানগুলির বিড়ম্বনাটি হ'ল অনিবার্যভাবে পাতলা-ক্লায়েন্টের পদ্ধতির অনিবার্যভাবে আপনার সামনের প্রান্তটি থেকে ছাঁটাইকে ফুটিয়ে তোলে এবং পারফরম্যান্স ছাড়া আর কিছু নয়। আরও গুরুত্বপূর্ণ বিষয়, এই সমাধানগুলি সর্বদা জিনিসগুলিকে সমস্ত নরকের মতো জটিল করে তুলেছে যাঁরা বাস্তবে জানেন যে তারা কী করছেন এবং কার্যকরভাবে কাঠামোর দ্বারা আবদ্ধ হতে চান না।
সিএসএস, জাভাস্ক্রিপ্ট, এইচটিএমএল, এক্সএইচআর সম্পর্কে সমস্ত কিছু জানেন এমন কাউকে গ্রহণ করা এবং ফ্রেমওয়ার্কের সাথে প্রতিটি পদক্ষেপে রাস্তায় অবরুদ্ধ করে এগুলিকে পুরোপুরি অকেজো করে তোলার মতো যথেষ্ট অর্থহীন কিছুই নেই ...
আপনাকে স্ক্রিপ্ট নির্ভরতা থেকে দূরে রাখার জন্য হেড ট্যাগগুলিতে সমস্ত 'বিনাবিহীন' স্ক্রিপ্ট ট্যাগগুলি সাফ করে। (কোনও 'স্ক্রিপ্ট ম্যানেজার' আপনার জন্য এটি হ্যান্ডেল করা ভাল) মঞ্জুর, আজকাল কেউ তাদেরকে সেখানে রাখে না যদি তারা জানে যে তারা কী করছে তবে এটি কেবল বিশৃঙ্খলাবদ্ধ।
আপনাকে জিনরমাস ফর্ম ট্যাগে সমস্ত এইচটিএমএল মোড়ানো জোর করে। এইচটিএমএল ফর্মগুলির মধ্যে ফর্মগুলিকে অনুমতি দেয় না তাই আপনি ওয়েবফর্মগুলি কোনও উপায়ে বা কোনওভাবেই ফর্ম করেন না।
সার্ভারে বার্তা প্রেরণের জন্য ব্রাউজারের সাথে কথোপকথনের মাধ্যমে ইউআই ইভেন্টগুলিতে প্রতিক্রিয়া জানাতে আসলেই কী উত্সাহিত করা উচিত তার 18-পদক্ষেপের "জীবনচক্র" এর মতো তৈরি করে এবং সার্ভারের প্রতিক্রিয়া জানার পরে প্রতিক্রিয়া জানায়। বড় আকারের আবর্জনার স্তূপ দিয়ে সেই প্রক্রিয়াটিকে বিমূর্ত করা কখনই হওয়ার দরকার ছিল না (এবং সত্য কথা বলতে গেলে এমএসই একমাত্র জ্যাকাস নয় যিনি এটি করার চেষ্টা করেছিলেন)।
প্রকৃতপক্ষে সমস্যাগুলির অ-ওয়েবফর্ম সমাধানগুলি ব্যবহার করার পথে এটি সম্ভব যা কিছু সম্ভব তা করে। উদাহরণ: আমি যখন আরও জুনিয়র ক্লায়েন্ট পক্ষ ছিলাম তখন আমি পুরো দিনটি পৃষ্ঠার শীর্ষে জমা বোতামটি তৈরি করার উপায় সন্ধান করে একটি পৃষ্ঠার নীচে একটি জমা বোতামটি ট্রিগার করতাম (আমি মনে করি one এক-বড়- জায়ান্ট-ফর্ম জিনিস)। সাধারণত এটি 5 মিনিট সময় নেয় তবে বেশ কয়েক ঘন্টা বিপরীত প্রকৃতির ওয়েবফর্ম জাভাস্ক্রিপ্টকে দায়বদ্ধ করার পরে আমি আবিষ্কার করেছিলাম যে তারা এমন একটি সম্পত্তি নির্ধারণ করেছিল যে আমি তখন জানতাম না যে শেষ ফর্মের উপাদানটি কী আছে তা আপনাকে জানায় ফোকাসটি এমন ছিল যে যখন সাবমিট বাটনটি ক্লিক করা হত তখন কেবলমাত্র সরকারী মাইক্রোসফ্ট সাবমিট (টিএম) বোতামটি অফিসিয়াল মাইক্রোসফ্ট সাবমিট (টিএম) হ্যান্ডলারের সক্রিয়করণের ক্ষেত্রে কাজ করতে পারে।
সুতরাং না, রোলস রয়েস বনাম টয়োটা পুরোপুরি অযৌক্তিক। আমি আরও বলব, একটি নিখুঁত যুক্তিসঙ্গত হুন্ডাই যে আপনি বনামের জন্য খুব বেশি অর্থ প্রদান করছেন। একটি মাইক্রোসফ্ট ইঞ্জিনিয়ার পিন্টো একটি আনবোর্ড সিস্টেম দিয়ে স্বয়ংক্রিয়ভাবে তীক্ষ্ণ 90 ডিগ্রি পরিণত হয় যখন আপনি আবিষ্কার করেন যে আপনি মাইক্রোসফ্ট ব্যতীত অন্য কারও কাছ থেকে গ্যাস বা তেল কিনেছেন এবং এটি সনাক্ত করা হয়েছে স্ল্যাম সুবিধাজনক প্রাচীর। আত্মঘাতী-ব্র্যান্ড-অনুগত ড্রাইভারের জন্য একটি আদর্শ গাড়ি যিনি ওয়েব সম্পর্কে কিছুই জানেন না এবং মাইক্রোসফ্টের প্রতি আজীবন আনুগত্যের শপথ নিতে চান।
সমস্ত .NET এমভিসি আসলেই, সহজ এবং যুক্তিসঙ্গত এবং এটি নিজের উপরের স্তরটিকে ওয়েবে শীর্ষে চাপিয়ে দিতে পুনরায় উদ্ভাবন করে না। এটি আপনার জন্য কিছু বয়লারপ্লেট আটকানোতে সহায়তা করার জন্য সেখানে যা কিছু রয়েছে কেবল তা নিয়ে কাজ করে। আরও ভাল / সস্তা / ফ্রি-এয়ার ফ্রেমওয়ার্ক পাওয়া যায় তবে আপনি যদি ইতিমধ্যে নিজেকে নেট সাইটটিতে লক করে রাখেন তবে আপনি আরও খারাপ কাজ করতে পারেন।
তবে গুরুত্ব সহকারে, ওয়েবফর্মগুলি থেকে দূরে থাকুন! @ #। এখন প্রায় মারা গেছে। যেতে দাও। আপনার ক্লায়েন্টদের বলুন আপনি এটি তিনগুণ অর্থের জন্য করতে পারবেন যদি তারা আপনাকে ঘন্টা বা একচেটিয়া এবং লাভজনক সময়ে চুক্তির প্রতিশ্রুতি দেয় যখন তারা আসলে নতুন বা অন্য কিছু করতে চায় বা ক্রেপ ভাঙতে শুরু করে কারণ এমনকি এমএসও করতে পারেনি আপনি 10,000 টি লাইনের এজাক্স.জেএস ফাইলটি যে তাদের ডিএলএল গাধা থেকে টানতে পারেন যেখানে আপনি এটি স্পর্শ করতে পারবেন না সেটিকে যোগ করতে চালিয়ে যান othe
একটি এএসপি.এনইটি এমভিসি সমাধান ওয়েবফর্ম সমাধানের চেয়ে আরও জটিল হওয়ার দরকার নেই। ব্যক্তিগতভাবে, আমি এএসপি.নেট এমভিসিটিকে সত্যই ওয়েব ফর্মগুলির চেয়ে অনেক সহজ হতে দেখি এবং এটি অবশ্যই অন্তর্নিহিত পরিষ্কার পরিচ্ছন্ন বলে মনে হচ্ছে।
আমার অভিজ্ঞতা থেকে, অনেকগুলি এমভিসি ফ্রেমওয়ার্ক (এএসপি.এনইটি, রেলস, কোডআইগনিটার ইত্যাদি) একই মূল কার্যকারিতা এবং কনভেনশনগুলির অনেকগুলি রয়েছে। ওয়েব ফোর্মগুলি ওয়েব দৃষ্টিকোণ থেকে সত্যই অদ্ভুত হাঁস। আমার অনুমান যে বেশিরভাগ ওয়েব প্রোগ্রামাররা ওয়েব ফর্মগুলির চেয়ে এএসপি.নেট এমভিসি বাছাইয়ের ক্ষেত্রে অনেক দ্রুত হবে।
আপনি ASP.NET ওয়েব ফর্মের উপরে আপনি ASP.NET MVC ব্যবহার করবেন এমন শীর্ষ কারণটি হচ্ছে পরীক্ষামূলকতা। নিশ্চিত যে আপনি ইউনিট পরীক্ষা ওয়েবফর্মগুলি ধরণের করতে পারেন তবে এর জন্য মশকরা ফ্রেমওয়ার্ক এবং প্রচুর ব্যথা দরকার। দ্বিতীয় কারণ এমভিসি এটি উদ্বেগগুলি পৃথক করা কিছুটা সহজ করে তোলে । এটি কোড পুনঃব্যবহারের একটি দুর্দান্ত চুক্তি সরবরাহ করতে পারে এবং আপনার কোডটি শিথিলভাবে মিলিয়ে দিতে পারে। এর অর্থ এই নয় যে এমভিপির মতো নিদর্শনগুলির সাথে এএসপি.এনইটি তে এটি করা অসম্ভব।
এমভিসির খারাপ দিকটি হ'ল আপনি প্রচুর কার্যকারিতা হারাচ্ছেন এবং এটি গত এক দশক ধরে ওয়েব ফর্মগুলিতে তৈরি হয়েছে (প্রায় ভাল)। এমভিসি শুরু থেকেই একচেটিয়া বৈশিষ্ট্য সরবরাহের জন্য দীর্ঘ পথ পাড়ি দিয়েছে।
পারফরম্যান্সের দিক দিয়ে, কারও কাছে কি এক উপায় বা অন্য কোন প্রযুক্তিটি "দ্রুত"?
আমি মনে করি না যে একজন অন্যটির চেয়ে ভাল is আমি সত্যিই এমভিসি কাঠামো পছন্দ করি এবং এটি দুর্দান্ত সাফল্যের সাথে ব্যবহার করেছি তবে আমি সর্বদা নিশ্চিত হয়েছি যে প্রকল্পটি মেলে এমন প্রযুক্তিটি আমি বেছে নিই।