খসড়া WebAssembly 2.0 স্ট্যান্ডার্ড প্রকাশিত হয়েছে 

ডাব্লু 3 সি উন্মোচন করেছে সম্প্রতি একটি পোস্টের মাধ্যমে ড একটি নতুন স্পেসিফিকেশন একটি খসড়া যে প্রস্তুতি কোড মানসম্মত WebAssembly 2.0 এবং সংশ্লিষ্ট API ব্রাউজার এবং হার্ডওয়্যার প্ল্যাটফর্ম জুড়ে বহনযোগ্য উচ্চ-পারফরম্যান্স অ্যাপ্লিকেশন তৈরি করতে সক্ষম করতে।

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

WebAssembly সম্পর্কে

WebAssembly ব্রাউজারে উচ্চ-কর্মক্ষমতা সম্পন্ন কাজ করতে ব্যবহার করা যেতে পারে, যেমন ভিডিও এনকোডিং, অডিও প্রসেসিং, 3D এবং গ্রাফিক্স ম্যানিপুলেশন, গেম ডেভেলপমেন্ট, ক্রিপ্টোগ্রাফিক অপারেশন এবং গাণিতিক গণনা, C/C++ এর মতো সংকলিত ভাষায় লিখিত কোড নির্বাহ করে।

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

WebAssembly 2.0 খসড়া সম্পর্কে

WebAssembly থেকে যে পরিবর্তনগুলি করা হয়েছে তার অংশে WebAssembly 2.0-এর সমাপ্ত প্রস্তাবগুলি হল ফিক্সড-প্রস্থ SIMD, ভর মেমরি অপারেশন, রেফারেন্সের ধরন, WebAssembly i64-এর জন্য JavaScript BigInt সমর্থন, একাধিক রিটার্ন মানগুলির জন্য সমর্থন এবং পরিবর্তনযোগ্য আমদানি/রপ্তানি গ্লোবাল ভেরিয়েবল।

W3C তিনটি খসড়া WebAssembly 2.0 স্পেসিফিকেশন প্রকাশ করেছে:

  1. ওয়েব অ্যাসেম্বলি কোর: মধ্যবর্তী WebAssembly কোড চালানোর জন্য একটি নিম্ন-স্তরের ভার্চুয়াল মেশিন বর্ণনা করে। WebAssembly সম্পর্কিত সম্পদগুলি জাভা ".class" ফাইলের অনুরূপ একটি ".wasm" ফরম্যাটে আসে, যেটিতে স্ট্যাটিক ডেটা এবং সেই ডেটার সাথে কাজ করার জন্য কোড সেগমেন্ট থাকে।
  2. ওয়েবঅ্যাসবেশন জাভাস্ক্রিপ্ট ইন্টারফেস: জাভাস্ক্রিপ্টের সাথে একীকরণের জন্য একটি API প্রদান করে। আপনাকে মান পেতে এবং WebAssembly ফাংশনে পরামিতি পাস করার অনুমতি দেয়। WebAssembly সঞ্চালন জাভাস্ক্রিপ্ট নিরাপত্তা মডেল অনুসরণ করে, এবং হোস্টের সাথে সমস্ত মিথস্ক্রিয়া জাভাস্ক্রিপ্ট কোড চালানোর অনুরূপভাবে সঞ্চালিত হয়।
  3. ওয়েবএ্যাসবেশন ওয়েব এপিআই: ".wasm" সংস্থানগুলিকে অনুরোধ এবং কার্যকর করার জন্য প্রতিশ্রুতি পদ্ধতির উপর ভিত্তি করে একটি API সংজ্ঞায়িত করে। WebAssembly রিসোর্স ফরম্যাটটি ফাইলটি সম্পূর্ণ ডাউনলোড হওয়ার জন্য অপেক্ষা না করেই এক্সিকিউশন শুরু করার জন্য অপ্টিমাইজ করা হয়েছে, যা ওয়েব অ্যাপ্লিকেশনের প্রতিক্রিয়াশীলতাকে উন্নত করে।

WebAssembly এবং WebAssembly 2.0 এর মধ্যে পার্থক্য

এছাড়াও, এটি লক্ষ করা উচিত যে মানকটির প্রথম সংস্করণের তুলনায় WebAssembly 2.0-তে কিছু গুরুত্বপূর্ণ পরিবর্তন রয়েছে:

  • v128 ভেক্টর টাইপ সমর্থন এবং সম্পর্কিত ভেক্টর নির্দেশাবলী যা আপনাকে সমান্তরাল (SIMD, একক নির্দেশ, একাধিক ডেটা) একাধিক সংখ্যাসূচক মানের উপর ক্রিয়াকলাপ সম্পাদন করতে দেয়।
  • পরিবর্তনযোগ্য বৈশ্বিক ভেরিয়েবল আমদানি ও রপ্তানি করার ক্ষমতা, যা C++ এ স্ট্যাক পয়েন্টার হিসাবে মানগুলির জন্য গ্লোবাল বাইন্ডিংয়ের অনুমতি দেয়।
  • ফ্লোটকে int-এ রূপান্তর করার জন্য নতুন নির্দেশাবলী, যা ফলাফল ওভারফ্লোতে একটি ব্যতিক্রম নিক্ষেপ করার পরিবর্তে, সর্বনিম্ন বা সর্বাধিক সম্ভাব্য মান প্রদান করে (SIMD-এর জন্য প্রয়োজনীয়)।
  • পূর্ণসংখ্যার চিহ্ন প্রসারিত করার জন্য নির্দেশাবলী (চিহ্ন এবং মান বজায় রেখে একটি সংখ্যার বিট গভীরতা বাড়ান)।
  • ব্লক এবং ফাংশন দ্বারা একাধিক মান ফেরত দেওয়ার জন্য সমর্থন (পাশাপাশি ফাংশনে একাধিক পরামিতি পাস করা)।
  • জাভাস্ক্রিপ্ট ফাংশন BigInt64Array এবং BigUint64Array প্রয়োগ করুন জাভাস্ক্রিপ্ট টাইপ BigInt এবং 64-বিট পূর্ণসংখ্যার WebAssembly উপস্থাপনার মধ্যে রূপান্তর করতে।
  • রেফারেন্স ধরনের জন্য সমর্থন (funcref এবং externref) এবং তাদের সম্পর্কিত বিবৃতি (select, ref.null, ref.func, এবং ref.is_null)।
  • memory.copy, memory.fill, memory.init, এবং data.drop নির্দেশাবলী মেমরি অঞ্চলগুলির মধ্যে ডেটা অনুলিপি করতে এবং মেমরি অঞ্চলগুলি মুছতে।
  • সরাসরি অ্যাক্সেস এবং টেবিলের পরিবর্তনের জন্য নির্দেশাবলী (table.set, table.get, table.size, table.grow)।
  • একটি মডিউলে একাধিক টেবিল তৈরি, আমদানি এবং রপ্তানি করার ক্ষমতা. ব্যাচ মোডে টেবিল কপি/ফিল করার ফাংশন (table.copy, table.init এবং elem.drop)।

পরিশেষে, যদি আপনি এটি সম্পর্কে আরও জানতে আগ্রহী হন, তাহলে আপনি বিস্তারিত জানতে পারেন নীচের লিঙ্কে।


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়ী: AB ইন্টারনেট নেটওয়ার্ক 2008 SL
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।