সর্বনিম্ন স্তরে, উইনআরটি হ'ল এবিআই স্তরে সংজ্ঞায়িত একটি অবজেক্ট মডেল। এটি বেস হিসাবে COM ব্যবহার করে (সুতরাং প্রতিটি IUnknown
উইনআরটি অবজেক্ট প্রয়োগ করে এবং পুনরায় গণনা করে) এবং সেখান থেকে তৈরি করে। এটি পুরানো সিওএমের তুলনায় অনেকগুলি নতুন ধারণা যুক্ত করে, যার বেশিরভাগই সরাসরি নেট থেকে আসে - উদাহরণস্বরূপ, উইনআরটি অবজেক্ট মডেলের প্রতিনিধি থাকে এবং ইভেন্টগুলি সম্পন্ন হয়। নেট স্টাইল (প্রতিনিধিদের সাথে এবং গ্রাহককে যোগ / সরান) পদ্ধতিগুলি, ইভেন্টের উত্স এবং ডুবির পুরাতন COM মডেলের পরিবর্তে ইভেন্ট প্রতি এক)। অন্যান্য উল্লেখযোগ্য বিষয়গুলির মধ্যে, উইনআরটি প্যারামিট্রাইজড ("জেনেরিক") ইন্টারফেসও করেছে।
আর একটি বড় পরিবর্তন হ'ল সমস্ত উইনআরটি উপাদানগুলির জন্য নেট নেট অ্যাসেমব্লির মতোই তাদের জন্য মেটাডেটা উপলব্ধ। সিওএম-এ আপনি টাইন্ডেলব দিয়ে কিন্ডার বাছাই করেছিলেন, তবে প্রতিটি সিওএম উপাদান তাদের থাকে না। উইনআরটি-র জন্য, মেটাডেটা .Winmd ফাইলগুলিতে রয়েছে - "সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ উইন্ডোজ কিটস \ 8.0 \ উইন্ডোজ মেটাডেটা \" বিকাশকারী পূর্বরূপে। "দেখুন। আপনি যদি ঘুরে দেখেন তবে আপনি দেখতে পাবেন যে এগুলি আসলে কোনও কোডবিহীন সিএলআই অ্যাসেমব্লিশ, কেবল মেটাডেটা টেবিল। আপনি এগুলি আসলে আইএলডিএএসএম দিয়ে খুলতে পারেন। দ্রষ্টব্য, এর অর্থ এই নয় যে উইনআরটি নিজেই পরিচালিত হয়েছে - এটি কেবল ফাইল ফর্ম্যাটটিকে পুনরায় ব্যবহার করে।
তারপরে উইনআরটি ইন্টারফেস এবং ক্লাস সংজ্ঞায়িত করে object অবজেক্ট মডেলের ক্ষেত্রে বেশ কয়েকটি গ্রন্থাগার প্রয়োগ করা হয়েছে। আবার, উপরে রয়েছে "উইন্ডোজ মেটাডেটা" ফোল্ডারটি দেখুন কী আছে তা দেখতে; অথবা কেবল ভিএস-তে অবজেক্ট ব্রাউজারটি জ্বালিয়ে দিন এবং কী coveredাকা রয়েছে তা দেখতে ফ্রেমওয়ার্ক সিলেক্টারে "উইন্ডোজ 8.0" নির্বাচন করুন। সেখানে অনেক কিছু আছে, এবং এটি একা UI 'তে সাথে মোকাবিলা করে না - আপনার কাছে যেমন নামব্যবধান পেতে Windows.Data.Json
, বা Windows.Graphics.Printing
, বা Windows.Networking.Sockets
।
তারপরে আপনি বেশ কয়েকটি লাইব্রেরি পান যা বিশেষত ইউআইয়ের সাথে কাজ করে - বেশিরভাগই এগুলি Windows.UI
বা এর অধীনে বিভিন্ন নাম স্থান হবে Windows.UI.Xaml
। এর মধ্যে অনেকগুলি ডাব্লুপিএফ / সিলভারলাইট নেমস্পেসের সাথে খুব মিল - উদাহরণস্বরূপ Windows.UI.Xaml.Controls
মিলছে System.Windows.Controls
; Windows.UI.Xaml.Documents
ইত্যাদির জন্য
এখন, .NET- এ সরাসরি WinRT উপাদানগুলি রেফারেন্স করার ক্ষমতা রয়েছে যেন তারা। নেট সভাগুলি ছিল। এটি সিওএম ইন্টারপ থেকে আলাদাভাবে কাজ করে - আপনার /r
আন্তঃসম্পাদনাগুলির মতো কোনও মধ্যবর্তী নিদর্শনগুলির প্রয়োজন নেই, আপনার কেবল একটি .উনএমডি ফাইল, এবং এর মেটাডেটাতে সমস্ত ধরণের এবং তাদের সদস্য আপনার কাছে দৃশ্যমান হবে যেন সেগুলি নেট নেট were নোট করুন যে উইনআরটি লাইব্রেরিগুলি নিজেরাই সম্পূর্ণ নেটিভ (এবং উইনআরটি ব্যবহার করে এমন নেটিভ সি ++ প্রোগ্রামগুলি মোটেও সিএলআর প্রয়োজন হয় না) - পরিচালিত হিসাবে সমস্ত জিনিস ফাঁস করার যাদুটি সিএলআরের ভিতরেই থাকে এবং এটি মোটামুটি নিম্ন স্তরের। আপনি যদি .NET প্রোগ্রামটি ইল্ডজম করেন যা একটি .WINMD উল্লেখ করে, আপনি দেখতে পাবেন এটি আসলে বাহ্যিক সমাবেশ রেফারেন্সের মতো দেখাচ্ছে - সেখানে এম্বেডিং টাইপের মতো হাতের চালকের কোনও ঝলক নেই।
এটি কোনও ভোঁতা ম্যাপিং নয়, - সিআলআর উইনআরটি প্রকারগুলি তাদের সমকক্ষের সাথে মানিয়ে নেওয়ার চেষ্টা করে, যেখানে সম্ভব। তাই যেমন GUIDs, তারিখ ও URI উল্লিখিত হয়ে System.Guid
, System.DateTime
এবং System.Uri
যথাক্রমে; WinRT সংগ্রহ ইন্টারফেস যেমন IIterable<T>
এবং IVector<T>
হয়ে ওঠে IEnumerable<T>
এবং IList<T>
; ইত্যাদি। এটি উভয় পথেই চলেছে - যদি আপনার কাছে .NET অবজেক্ট থাকে যা প্রয়োগ করে IEnumerable<T>
এবং এটি উইনআরটিতে ফিরিয়ে দেয় তবে এটি এটি দেখতে পাবে IIterable<T>
।
শেষ পর্যন্ত আসলে এর অর্থ হল আপনার .NET মেট্রো অ্যাপস (দেশীয়) WinRT লাইব্রেরি, এর এছাড়াও, বিদ্যমান মান .NET লাইব্রেরি একটি উপসেট অ্যাক্সেস পেতে এবং যা কিছু - বিশেষ করে Windows.UI
- খুব সিলভারলাইট সেটির মতো, এপিআই প্রজ্ঞাময়। আপনার ইউআই-কে সংজ্ঞায়িত করার জন্য আপনার কাছে এখনও এক্সএএমএল রয়েছে এবং আপনি এখনও সিলভারলাইট - ডাটা বাইন্ডিংস, রিসোর্স, স্টাইল, টেম্পলেট ইত্যাদির মতো একই বুনিয়াদি ধারণাগুলি নিয়ে কাজ করেন many অনেক ক্ষেত্রেই কেবল using
নতুন নেমস্পেসগুলি দ্বারা সিলভারলাইট অ্যাপটি পোর্ট করা সম্ভব , এবং কোডটিতে কয়েকটি জায়গা টুইট করে যেখানে এপিআই অ্যাডজাস্ট করা হয়েছিল।
উইনআরটি নিজেই এইচটিএমএল এবং সিএসএসের সাথে কিছু করার নেই, এবং এটি জাভাস্ক্রিপ্টের সাথে কেবল এই অর্থে সম্পর্কযুক্ত যে এটি .NET এর জন্য কীভাবে করা হয় তার অনুরূপ there আপনি যখন আপনার নেট নেট মেট্রো অ্যাপ্লিকেশনটিতে উইনআরটি ইউআই লাইব্রেরি ব্যবহার করেন তখন আপনাকে HTML / সিএসএস / জেএস নিয়ে কাজ করার দরকার নেই (ভাল, আমার ধারণা, আপনি যদি সত্যিই চান তবে আপনি একটি WebView
নিয়ন্ত্রণ হোস্ট করতে পারেন ...)। আপনার সমস্ত .NET এবং সিলভারলাইট দক্ষতা এই প্রোগ্রামিং মডেলটিতে খুব বেশি প্রাসঙ্গিক রয়েছে।