ডাইরেক্টএক্স (DirectX) ও ডট নেট ফ্রেমওয়ার্ক (.NET Framework) : কি এবং কেন দরকার হয়?

ডাইরেক্টএক্স (DirectX) ও ডট নেট ফ্রেমওয়ার্ক

আপনি যদি উইন্ডোজ ল্যাপটপ বা উইন্ডোজ ডেস্কটপ ইউজার হয়ে থাকেন এবং উইন্ডোজ অপারেটিং সিস্টেম সম্পর্কে ভালো খোঁজখবর রাখেন, তাহলে আপনি নিশ্চই অনেকবার পিসিতে অনেক প্রোগ্রাম এবং অনেক গেমস ইনস্টল করার সময় খেয়াল করেছেন মাইক্রোসফট ডাইরেক্টএক্স এবং মাইক্রোসফট ডট নেট ফ্রেমওয়ার্ক নামের এই দুটি জিনিস। অনেকবার দেখেছেন যে অনেকসময় অনেক প্রোগ্রাম এবং অনেক গেম এই দুটি জিনিস ইনস্টল না করা থাকলে কাজ করে না। অনেকবার খেয়াল করে দেখবেন অনেক কাজ করতে গেলে আপনার পিসি আপনাকে এমন মেসেজ দেখাবে যে, Microsoft .NET Framework is missing from your computer বা DirectX 9.0 is required to run this program এবং এই সম্পর্কিত এই ধরণের আরো অনেক মেসেজ। কিন্তু এই ডাইরেক্টএক্স এবং ডট নেট ফ্রেমওয়ার্ক আসলে কি জিনিস এবং এগুলো কেনই বা দরকার হয়? আজকে এই বিষয় নিয়েই আলোচনা করবো।

মাইক্রোসফট ডাইরেক্টএক্স

টেকনিক্যালি বলতে হলে ডাইরেক্টএক্স হচ্ছে মূলত একটি এপ্লিকেশন প্রোগ্রাম ইন্টারফেস বা এপিআই (API)। এই এপিআইটি মূলত উইন্ডোজ ওএস এ রান করা কিছু প্রোগ্রামস যেমন স্পেশালি গেমস এবং ওয়েবপেইজের গ্রাফিক্স ইমেজ এবং মাল্টিমিডিয়া ইফেক্টস তৈরী করে এবং ম্যানেজ করে। ডাইরেক্টএক্স এপিআই মূলত গেম ডেভেলপাররা ব্যবহার করে গেমটি উইন্ডোজ ওএস এর জন্য ডেভেলপ করার সময়। ডাইরেক্টএক্স এপিআইটি গেম ডেভেলপারদেরকে তাদের গেমটি আপনার পিসিতে রান করার সময় আপনার সিস্টেম এবং আপনার হার্ডওয়্যার এর ওপরে আরো বেটার এক্সেস পেতে সাহায্য করে। এই ডাইরেক্টএক্স এপিআইটি গেমগুলোকে আপনার সিস্টেমের আরো বেশি মেমোরি ইউজ করতে এলাউ করে, আপনার সাউন্ড ড্রাইভার ব্যবহার করতে এলাউ করে এবং আপনার আরো অনেক সিস্টেম কম্পোনেন্টস এর এক্সেস দেয় এবং এই সবকিছুর সাহায্যে আপনাকে সর্বোপরি আরো ভালো গেমিং পারফর্মেন্স এবং এক্সপেরিয়েন্স পেতে সাহায্য করে।

ডাইরেক্টএক্স

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

ডট নেট ফ্রেমওয়ার্ক

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

ডাইরেক্টএক্স

উদাহরণস্বরূপ, একজন ডেভেলপার যদি তার প্রোগ্রামে এমন একটি ফাংশন রাখতে চায় যাতে তার প্রোগ্রামটি কোনো ডিভাইসে রম ফ্ল্যাশ করতে পারে। সেক্ষেত্রে তাকে এই কাজের জন্য প্রত্যেকবার নতুন করে কোড লিখতে বসতে হবে না। যদি সে মাইক্রোসফট ডট নেট ফ্রেমওয়ার্ক ব্যবহার করে তাহলে সে সহজেই ডট নেটের লাইব্রেরির হাজারো শেয়ারড কোড থেকে তার ওই নির্দিষ্ট ফাংশনটির জন্য নির্দিষ্ট কোডটি তার প্রোগ্রামে ইমপ্লিমেন্ট করতে পারবে নিজে খুব বেশি কষ্ট না করেই। এর ফলে যা হবে তা হচ্ছে, তার অনেকটা শ্রম এবং সময় বেঁচে যাবে এবং সে তার প্রোগ্রামের বিশেষ ধরণের কোডের দিকে বেশি ফোকাস করতে পারবে। সাধারণ সব ধরণের কাজের জন্য আলাদা আলাদা ভাবে কোড লিখে সময় নষ্ট করতে হবেনা তাকে। আর এই ডেভেলপ করা সফটওয়্যার বা প্রোগ্রামগুলো যখন আপনি আপনার পিসিতে ইনস্টল করবেন তখন আপনার সিস্টেমেও ডট নেট ফ্রেমওয়ার্কটি ইনস্টল করা থাকতে হবে। না থাকলে স্বাভাবিকভাবেই এই প্রোগ্রামগুলো আপনার পিসিতে রান করবে না। এই কারণেই আপনি অনেক প্রোগ্রাম ইনস্টল করার সময় এমন ধরণের মেসেজ দেখতে পাবেন, Microsoft .NET Framework is missing from your computer ইত্যাদি ইত্যাদি।


→ ডাইরেক্টএক্স হচ্ছে মূলত একধরণের এপিআই যা মূলত গেম ডেভেলপাররা ব্যবহার করে গেমটি উইন্ডোজ ওএস এর জন্য ডেভেলপ করার সময়। ডাইরেক্টএক্স এপিআইটি গেম ডেভেলপারদেরকে তাদের গেমটি আপনার পিসিতে রান করার সময় আপনার সিস্টেম এবং আপনার হার্ডওয়্যার এর ওপরে আরো বেটার এক্সেস পেতে সাহায্য করে।

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


আজকের মতো এখানেই শেষ করছি। আশা করি আজকের আর্টিকেলটি আপনাদের ভালো লেগেছে। কোনো প্রশ্ন বা মতামত থাকলে অবশ্যই কমেন্ট সেকশনে জানাবেন।


WiREBD এখন ইউটিউবে, নিয়মিত টেক/বিজ্ঞান/লাইফ স্টাইল বিষয়ক ভিডিও গুলো পেতে WiREBD ইউটিউব চ্যানেলটি সাবস্ক্রাইব করুণ! জাস্ট, youtube.com/wirebd — এই লিংকে চলে যান এবং সাবস্ক্রাইব বাটনটি হিট করুণ!

Image Credit : By OHishiapply Via ShutterstockPixabay

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