কৌণিক এবং এএসপি.নেট এমভিসি / ওয়েব এপিআই মিশ্রণ?


87

আমি এএসপি.নেট এমভিসি / ওয়েব এপিআই ব্যবহার করে এসেছি এবং এখন আমি কৌনিক ব্যবহার শুরু করছি তবে সেগুলি মিশ্রণের সঠিক উপায় সম্পর্কে আমি পরিষ্কার নই।

একবার আমি কৌণিক ব্যবহার করছি এমভিসি সেভার পার্শ্ব ধারণাগুলি এখনও কি কোনও মান সরবরাহ করে? বা কৌণিক এইচটিটিপি কলগুলির জন্য ডেটা পেতে আমার কি কঠোরভাবে ওয়েব এপিআই ব্যবহার করা উচিত?

অ্যাঙ্গুলারে রূপান্তরকারী ASP.NET MVC লোকের জন্য আপনার কাছে থাকা কোনও টিপস সহায়ক হবে


4
এটি নির্ভর করবে, তবে আমি ভাবব "কৌণিক এইচটিটিপি কলগুলির ডেটা পাওয়ার জন্য আমি কি কঠোরভাবে ওয়েব এপিআই ব্যবহার করা উচিত" এটি করার সঠিক উপায়।
মাইকস্মিথদেভ

এখানে ASP.NET কোর ওয়েব এপিআই ব্যাকএন্ড -> माध्यम.com
লেভি ফুলার

উত্তর:


113

খাঁটি ওয়েব এপিআই

আমি এএসপি.নেট এমভিসির সাথে বেশ কঠিন ব্যবহার করতাম তবে যেহেতু আমি কৌণিকের সাথে দেখা করেছি আমি কোনও সার্ভারের পাশের সামগ্রীর প্রজন্মের কাঠামোটি কেন ব্যবহার করব তার কোনও কারণ দেখতে পাচ্ছি না । খাঁটি কৌণিক / REST (WebApi) আরও উন্নত এবং মসৃণ ফলাফল দেয়। এটি অনেক দ্রুত এবং আপনাকে কোনও ওয়েবসাইটগুলি তৈরি করতে দেয় যা ডেস্কটপ অ্যাপ্লিকেশনগুলির সাথে খুব কাছাকাছি চলে আসে, কোনও ভীত হ্যাক ছাড়াই।

কৌণিকের একটি সামান্য শেখার বক্ররেখা থাকে তবে আপনার দল একবারে দক্ষতা অর্জনের পরে আপনি কম সময়ে আরও ভাল ওয়েবসাইট বানাবেন। প্রধানত এটি এই বিষয়টির সাথে সম্পর্কিত যে আপনার আর এই সমস্ত রাজ্যের (কম) সমস্যা নেই।

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

সুতরাং ... অন্ধকার দিকে আসা ... আমাদের কুকিজ আছে।

অনুরূপ প্রশ্ন


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

4
@ নারায়ণ; এটি কিছু SEO ভালবাসা সরবরাহ করে।
নাল

4
কারণ যখন আমি কোনও বিশেষ মডেলটিতে কোনও সম্পত্তির নাম পরিবর্তন করি, তখন "ম্যাজিক স্ট্রিং" এর জন্য আমাকে AngularJS এর ​​আশেপাশে খনন করতে হবে না? কৌণিকটি দুর্দান্ত, তবে। নেট এর কঠোর প্রকারের নিরাপদ বিশ্বে শক্ততর ইন্টিগ্রেশন আপনাকে সার্ভার দিক থেকে প্রকারের সুরক্ষা লাভ করতে দেয়।
স্লিপার স্মিথ

6
@Sleeper স্মিথ: আমি এই যুক্তি মানুষের সাথে অনেকবার আমার দলের উপর ছিল করেছি, কিন্তু শেষে কোড নিয়মাবলী , ইউনিট টেস্টিং এবং উদ্বেগ বিচ্ছেদ অফার অনেক সকলের থেকে অনেক বেশী টাইপ নিরাপত্তা বিশ্বের। আমিও জেএসকে সি # এর মতো কিছু দ্বারা প্রতিস্থাপিত হতে দেখতে দেখতে চাই , তবে বাস্তবে এটি ঠিক নয়। এই সমস্ত বিষয় আপনি অর্জন করতে পারেন ফলাফল। আপনার গ্রাহকরা সম্ভবত আপনার কোডিং পছন্দগুলি সম্পর্কে চিন্তা করবেন না, তারা একটি দুর্দান্ত চেহারা, মসৃণ পারফরম্যান্স ওয়েবসাইট চায় এবং তারা এটি দ্রুত চায়। কৌনিকটি সেই কাজটি করে।
নাল

4
উদাহরণস্বরূপ, নকআউটজেএস ব্যবহার করার সময় আমি একটি সাধারণ এএসপি.নেট এমভিসি অ্যাপ তৈরি করতাম এবং প্রতিটি ভিউ এমভিসি নিয়ন্ত্রকের কাছ থেকে মডেল ডেটা গ্রহণ করবে। তারপরে সার্ভারের এই ডেটাটি জেএসএনে সিরিয়ালায়িত হবে এবং সেখান থেকে নকআউটজেএস এটিকে পর্যবেক্ষণযোগ্য ডেটাতে রূপান্তরিত করবে, তাই আমি দ্বি-দ্বি ডেটা বাইন্ডিং পাব। এবং যে দুর্দান্ত ছিল! তবে এখন আমরা কী করব, যেহেতু অ্যাংুলারজেএস এর নিজস্ব রুটিং সিস্টেম রয়েছে? এমভিসি রাউটিংয়ের সাথে কী ঘটে? আমরা কি আদৌ এটি ব্যবহার করি? "_ লেআউট" দেখুন এবং @ রেন্ডারবডি () দিয়ে এখন কী ঘটে?
অ্যালেক্সআরেবুলা

43

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

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

এমভিসি বেশ নমনীয় এবং আপনি এসপিএ অ্যাপ্লিকেশন থেকে পরিষেবা কলগুলিতে এটি ব্যবহার করতে পারেন। তবে, ওয়েবএপিআই আরও সূক্ষ্মভাবে সুরযুক্ত এবং এই জাতীয় পরিষেবার জন্য ব্যবহার করা কিছুটা সহজ।

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

এএসপি.এনইটি অ্যাপ্লিকেশনটি পরিকাঠামোর জন্য আরেকটি স্তর হয়ে ওঠে, যেখানে এর দায়িত্বগুলি সীমাবদ্ধ:

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

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

আপনাকে কৌণিকের উপরে বিনিয়োগ করতে হবে, তবে এটি বড় মূল্য দেয়। যেহেতু আপনি এমভিসির সাথে ইতিমধ্যে পরিচিত, তাই কিছু মূল ধারণাটি নিয়ে আপনার লেগ-আপ রয়েছে।


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

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

4
আমি এখন কমপক্ষে ৮ টি বড় প্রকল্পে তিন বছর ধরে এএসপি.এনইটি এমভিসি ব্যবহার করছি এবং আমি এই সূক্ষ্ম, পরিপক্ক সার্ভার-সাইড কাঠামোর অভ্যস্ত হয়ে পড়েছি। তবে আমি এসপিএগুলির গুরুত্ব জানি এবং আমি অ্যাঙ্গুলারকে পছন্দ করি, তাই আমি এখন মিগুয়েল কাস্ত্রো যেহেতু তাদেরকে মিনি এসপিএ বা হাইব্রিড অ্যাপ্লিকেশনগুলি ... বা "এসপিএ সিলোস" যাবার সিদ্ধান্ত নিয়েছিলাম। আমার প্রশ্নটি হল - অনুমোদন এবং প্রমাণীকরণ সম্পর্কে কী? আমি জানি এএসপি.নেট এমভিসি এই কাজটি গুরুতরভাবে সহজ করে দেয়। এটিএসপি নেট নেট এমভিসি ছাড়াই কীভাবে করা হয়?
অ্যালেক্সআরেবুলা

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

@ হ্যাকডবাইচিনিগুলি এবং এখন আমি মনে করি যদি ওয়েব
এপিআইতে

6

এটি আপনি যে প্রকল্পে কাজ করছেন তার উপর নির্ভর করে।

যদি কৌণিক জেএস আপনার জন্য নতুন কিছু হয় তবে আমি শুরু করার জন্য একটি ছোট স্বল্প ঝুঁকি / চাপের প্রকল্প বেছে নেব এবং কীভাবে সঠিক উপায়ে কীভাবে করণীয় তা শিখতে নিশ্চিত করব (চাপ, সময়সীমার কারণে আমি অনেক প্রকল্প অ্যাংুলারজ ব্যবহার করে দেখেছি ... এটি যথাযথ উপায়ে শিখার জন্য সময়ের অভাব, যেমন JQuery ব্যবহার করা বা নিয়ন্ত্রণকারীদের ভিতরে DOM অ্যাক্সেস করা ইত্যাদি ...)।

যদি প্রকল্পটি সবুজ ক্ষেত্রের হয় এবং আপনি অ্যাংুলারজেএস-এ কিছু অভিজ্ঞতা পেয়ে থাকেন তবে এটিএসপিএনটি এমভিসি ত্যাগ করা এবং সার্ভারের দিক থেকে খাঁটি আরএসটি / ওয়েবএপিআইয়ের দিকে যাওয়া বুদ্ধিমান।

যদি এটি একটি বিদ্যমান প্রকল্প হয় তবে আপনি কার্যকারিতার একটি জটিল উপসেটটি বেছে নিতে পারেন এবং সেই পৃষ্ঠাটিকে একটি পৃথক কৌণিক জেএস অ্যাপ হিসাবে তৈরি করতে পারেন (যেমন আপনার অ্যাপ স্ট্যান্ডার্ড সরল / মাঝারি জটিলতার রেজার ভিত্তিক পৃষ্ঠাগুলির সমন্বয়ে গঠিত তবে আপনার প্রয়োজন এবং উন্নত সম্পাদক / পৃষ্ঠাটি, এটি অ্যাঙ্গুলারজেএস দিয়ে তৈরি করার লক্ষ্য টুকরা হতে পারে)।


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

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

0

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

http://hive.rinoy.in/angular4-and-asp-net-mvc-hybrid-application/

কৌণিক অ্যাপ্লিকেশনগুলির জন্য ইউআই উপাদানগুলি বিকাশের জন্য বর্তমানে দুটি ফ্রেমওয়ার্ক রয়েছে। আমি যে দুটি কৌণিক প্রকল্পে কাজ করেছি সেগুলিতে আমি এই দুটি ফ্রেমওয়ার্ক ব্যবহার করেছি।

উপাদান https://matory.angular.io/

PrimeNG https://www.primefaces.org/primeng/#/

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