এটি অনেকগুলি উত্তর সহ একটি বাসি প্রশ্ন তবে আমার উত্তর তালিকাভুক্ত হওয়ার প্রত্যাশা করতেন এমন উত্তর আমার কাছে নেই।
সংক্ষিপ্ত উত্তরটি হ'ল:
- আপনি যদি এএসপি.এনইটি প্ল্যাটফর্মের জন্য আধুনিক প্রোগ্রামিং কনভেনশন এবং শিল্পকে আলিঙ্গিত নিদর্শনগুলির সাথে সঠিকভাবে একটি ওয়েব অ্যাপ্লিকেশন তৈরি করতে চান তবে এএসপি.নেট এমভিসি ব্যবহার করুন। নীচের দিকে আপনি কীভাবে এইচটিএমএল এবং ক্লায়েন্ট-সাইড রিসোর্সগুলি (জাভাস্ক্রিপ্ট, সিএসএস) পাশাপাশি এমভিসি প্রোগ্রামিং মানসিকতায় র্যাম্প তৈরি করবেন তা জানার জন্য আশা করা হবে যা খাড়া শেখার বক্ররেখা রয়েছে তবে একবার আঁকড়ে ধরার পরে হঠাৎ শেষে পৌঁছে যায়।
- আপনি যদি কোনও জিইউআই- কেন্দ্রিক, আরএডি (র্যাপিড অ্যাপ্লিকেশন ডেভেলপমেন্ট) ব্যবহার করতে বা ব্যবহার করতে চান তবে খুব দ্রুত কোনও কিছু প্রোটোটাইপ করার জন্য ড্রাগ-এন্ড-ড্রপ পদ্ধতির ব্যবহার করুন, অর্থাৎ পুশ-বাটন / ডেটা গ্রিড আচরণের মধ্যে ওয়্যার্ড আপ হয়েছে 15 মিনিট, এবং সমাধানটি বিকাশকারীদের দ্বারা সমর্থিত এমন কিছু হওয়ার উদ্দেশ্যে নয়। অথবা, জিইআইআই বা উইন্ডোজ ফর্ম বিকাশে আপনার পটভূমি থাকে এবং আপনি আপনার জ্ঞান ওয়েবে স্থানান্তর করতে চান তবে এএসপি.নেট ওয়েব ফর্মগুলি ব্যবহার করুন ।
তবে এটি সঠিকভাবে দেখার জন্য আপনাকে প্রত্যেকের ইতিহাস বুঝতে হবে।
ASP.NET ওয়েব ফর্মগুলি মাইক্রোসফ্টের জবাব ছিল যারা ভিজ্যুয়াল বেসিক 6 অ্যাক্টিভ এক্স নিয়ন্ত্রণ, সার্ভারে ভিবি 6 ডিএলএল এবং এএসপি ক্লাসিক ব্যবহার করে গতিশীল ওয়েব অ্যাপ্লিকেশন তৈরি করেছিলেন। সেই সময়, এই মাইক্রোসফ্ট সরঞ্জামগুলি ব্যবহার করে ওয়েব ডেভলপমেন্টটি ছিল সত্যিকারের গোলযোগ। মাইক্রোসফ্টের .NET ফ্রেমওয়ার্কের সম্পূর্ণতার সাথে সাথে উইন্ডোজ স্ট্যাকের উত্পাদনশীল ব্যবসায়ের প্রোগ্রামিং কীভাবে করা যায় সে সম্পর্কে অঙ্কন বোর্ডে মূলত ফিরে যাওয়া ছিল, এএসপি.নেট ওয়েব ফর্মগুলি তার সময়ে ছিল আশ্চর্যজনক এবং সুন্দর।
পুরো পন্থাটি ছিল ডেভেলপারদের উইন্ডোজ অ্যাপ্লিকেশন বিকাশের সাথে খুব সামঞ্জস্যপূর্ণ উভয় জগতের সেরাটি দেওয়া, তবে ইন্টারনেট পরিষেবাদির শক্তিতে। ধারণাটি ছিল, ঠিক যেমন কোনও ভিবি 6 / উইনফর্মস "ফর্ম" (একটি উইন্ডো) এর সাথে একটি ওয়েব পৃষ্ঠাও একটি ফর্ম (ঠিক একটি উইন্ডোর মতো, দেখুন) , এবং সেই ফর্মের উপর আপনি লেবেল, পাঠ্যবাক্সগুলি টেনে আনতে পারেন, ডেটা গ্রিড, বোতাম এবং অন্যান্য জিনিস যা ভিবি / উইনফর্মস জিইউআই বিকাশকারীরা অভ্যস্ত ছিল।
একটি বোতামটি কিছু করার জন্য, এটিকে টেনে এনে ফেলে দেওয়ার পরে আপনি কেবল এটি ডিজাইনারটিতে ডাবল-ক্লিক করুন এবং কোড সম্পাদকের মধ্যে আপনি বুম করুন, যখন "ক্লিক" ইভেন্টটি ঘটে তখন কী করা উচিত তা ফর্মটি জানান। উইন্ডোজ জিইউআই ডেভেলপাররা ঠিক কীভাবে ভিবি 6 এর জিইআইআই টুলিং এবং প্রতিযোগিতামূলক সরঞ্জাম ব্যবহার করে সফ্টওয়্যার তৈরি করেছিল , এখন বাদে কোডটি সার্ভারে কার্যকর হচ্ছে! কি দারুন!
এটি ছিল 2002 প্রযুক্তি। আরএড উন্নয়নের জন্য ইন্টারনেট-সক্ষম জিইআইআই সমাধানগুলির উত্তর হিসাবে আশ্চর্যজনক এবং এর সময়ে সুন্দর , এটি সফ্টওয়্যার বিকাশকারীদের একটি অগোছালো বিশ্বে বিদ্যুতের অনুভূতি নিয়ে আসে যার ব্যবসায়ের উদ্দেশ্যগুলি ছিল যেগুলি অর্জন করা প্রয়োজন।
দুর্ভাগ্যক্রমে, এই প্রোগ্রামিং মডেলটি উইন্ডোজ জিইউআই প্রোগ্রামিংয়ের রূপকের উপর এতটা জোর দেয় যে এটি তার প্রয়োজনীয় প্রয়োগের বিশদ বোঝা বহন করে, ইভেন্টের জীবনচক্রের সাথে সামঞ্জস্য করার জন্য প্রয়োজনীয় সমস্ত এনকামারিং ব্যাগেজ এবং সাধারণ এইচটিএমএলের কুৎসিত বিবরণ দূরে সরিয়ে দেয় এবং স্ক্রিপ্ট যা এই ড্রাগ এবং ড্রপ উপাদান এবং নিয়ন্ত্রণ আউটপুট হবে। এবং দিনের শেষে, সত্যিকারের অ্যাপ্লিকেশনগুলিকে সমর্থনকারী বিকাশকারীদের অবশ্যম্ভাবীভাবে এই উপাদানগুলির গভীর খনন করতে হবে বা তাদের নিজস্ব লিখতে হবে এবং ফলস্বরূপ তারা এই অবকাঠামো দিয়ে লড়াই করবে, যুদ্ধগুলি ক্রুফটের স্তূপের উপরে গাদা পিছনে ফেলে দেবে, চুল টেনেছিল, এবং অশ্রু.
ব্যাক আপ। আপনার হাত ধুয়ে নিন। ব্যবসায়ের সমস্যাটি আবার দেখি। আমাদের ব্যবসায়ের উদ্দেশ্য কি?
আমাদের ওয়েব অ্যাপ্লিকেশনগুলি তৈরি এবং পরিচালনা করতে হবে । আমাদের সীমাবদ্ধতাগুলি হ'ল আমাদের কাছে ওয়ার্ল্ড ওয়াইড ওয়েব রয়েছে যা HTTP, এইচটিএমএল, জাভাস্ক্রিপ্ট, এবং সিএসএসে বসে এবং সার্ভারে আমাদের ব্যবসায়ের নিয়ম, ডাটাবেস এবং দুর্দান্ত কয়েকটি প্রোগ্রামিং ল্যাঙ্গুয়েজ রয়েছে (যেমন সি #)। আমাদের বিকাশের পদ্ধতিটি চালিত করার জন্য আমাদের কি এই উইন্ডোজ জিইউআই রূপকটি দরকার? কেন আমরা কেবল অ্যাপ্লিকেশন সমস্যাগুলিতে মনোনিবেশ করতে এবং জিইউআই রূপকগুলি বাদ দিতে পারি না?
এখানেই এএসপি.এনইটি এমভিসি আসে develop আর ঝামেলা ও গোলযোগ নেই, কেবল ব্যবসায়ের উদ্দেশ্য এবং সফ্টওয়্যার সেরা অভ্যাসগুলিতে ফোকাস করুন।
এই ক্ষেত্রে এটি যা সত্যই অনুবাদ করে তা হ'ল:
- উদ্বেগের বিচ্ছেদ । উদাহরণস্বরূপ, কোনও ডেটা উপাদানকে তার ডেটা কীভাবে রেন্ডার হতে চলেছে তা জানতে হবে না, এবং ডাটাবেস সংযোগের কনফিগারেশন বিশদ সম্পর্কিত মার্কআপটিও দেখতে হবে না এবং সম্পাদনা করার সময় কোনও বিকাশকারী তার উদ্বেগের ক্ষেত্রের দিকে মনোনিবেশ করতে পারে এবং পরীক্ষার কোড।
- এইচটিএমএল এবং সম্পর্কিত সংস্থাগুলির মজাদার কৌতুকপূর্ণ এক্সপোজারের জন্য এক্সপোজার এবং সম্পূর্ণ সমর্থন । ওয়েব ফর্মগুলিতে, এইচটিএমএলকে দূরে সরিয়ে দেওয়া হয়, বিকাশকারীরা এটির সাথে ফাসাদ থেকে নিরুৎসাহিত হন। এএসপি.এনইটি এমভিসিতে, বিকাশকারীরা সেই বিবরণগুলি পরিচালনা করতে বরং উত্সাহিত করা হয়; আসলে এটি একটি প্রয়োজনীয়তা এখানে সুবিধাটি হ'ল বিকাশকারী এইচটিএমএল, সিএসএস এবং স্ক্রিপ্টের পরিষ্কার শব্দার্থতাকে প্রশংসা করতে এবং এটির পরিবর্তে এটির সাথে কাজ করতে পুনরায় শিখতে পারেন ।
- ব্যবসায়িক বিষয়গুলির পরীক্ষাযোগ্যতা । প্রোগ্রামার ইউনিট পরীক্ষার জন্য কন্ট্রোলার এবং মডেলগুলি আরও বেশি উপযুক্ত suited ওয়েব ফর্মগুলির মাধ্যমে এটি পরীক্ষা করা কঠিন ছিল কারণ উপাদানগুলি পৃথকভাবে পরীক্ষার জন্য নকশা করা হয়নি এবং পুরো বিকাশের আউটপুট পৃষ্ঠার ফর্মগুলি এবং তাদের ইভেন্ট লাইফ সাইকেলের সাথে ব্যবসায়িক যুক্তি এবং উপস্থাপনার যুক্তিকে মীমাংসাভাবে ঘিরে রেখেছে।
নোট করুন যে এইচটিএমএল ইতিমধ্যে একটি উচ্চ-স্তরের মার্কআপ ভাষা, যেমন জাভাস্ক্রিপ্ট একটি উচ্চ-স্তরের প্রোগ্রামিং ভাষা। আমরা যদি এসেম্বলি ভাষা এবং সি নিয়ে কাজ করতাম তবে পুরো গল্পটি অন্যরকম হত would
# 2-এর উপর প্রসারিত করার পরে, এএসপি.এনইটি এমভিসির আরও একটি উদ্দেশ্য হ'ল বিকাশকারীদের তাদের সমাধানগুলির 'ভিউ' অংশের সামনের দিকের বিশদটি সজ্জিত করতে এবং বাকী শিল্পটির দ্বারা নির্মিত সমৃদ্ধ ভিত্তির সুবিধা গ্রহণ করা of ফ্রন্ট-এন্ড ক্লায়েন্ট প্ল্যাটফর্ম।
আপনি দেখতে পাবেন যে ASP.NET এমভিসি বিকাশকারীরা সার্ভার-সাইড আর্কিটেকচারের সাথে লড়াই না করে সমৃদ্ধ জাভাস্ক্রিপ্ট লাইব্রেরি এবং ক্লায়েন্ট-সাইড টেম্প্লেটিং কৌশলগুলি ব্যবহার করে ঘরে বসে অনুভব করছেন। এটি মূলত এএসপি.নেট ওয়েব ফর্মগুলির ক্ষেত্রে ছিল না, কারণ ওয়েব ফর্মগুলি আপনাকে এইচটিএমএল বা স্ক্রিপ্টটি মোটেও দেখতে চান না, যদি আপনাকে সত্যিই করতে হয় তবে , সেই ক্ষেত্রে সাবধান থাকুন, এটি মূর্খ হওয়ার জন্য নয় হৃদয়ের.