প্রোজেক্ট ফুগু টিমের উদ্দেশ্যগুলির মধ্যে একটি হল ডেভেলপারদের জন্য ওয়েবে এমন কিছু করা সম্ভব করে যা প্ল্যাটফর্ম-নির্দিষ্ট অ্যাপগুলি করতে পারে , টিমটি এই অ্যাপের ব্যবধান বন্ধ করার জন্য ওয়েব ডেভেলপারদের প্রয়োজনীয় বৈশিষ্ট্যগুলি যোগ করতে ব্যস্ত। আপনি যদি আমাকে বিশ্বাস না করেন তবে ফুগু API ট্র্যাকারের "শিপড" বিভাগটি দেখুন। এখানে 55টি শিপড এপিআই রয়েছে, অন্ততপক্ষে সম্প্রতি পাঠানোর জন্য:
এটি একটি দীর্ঘ তালিকা, এবং আমাদের প্লেটে আরো আছে. ডেভেলপার ট্রায়ালে এখনও কয়েকটি API এবং বৈশিষ্ট্য রয়েছে (অর্থাৎ প্রয়োগ করা হয়েছে, কিন্তু একটি বৈশিষ্ট্যের পতাকার পিছনে), কিছু যা আমরা কাজ শুরু করেছি এবং অনেকগুলি বিবেচনাধীন ৷ আপনি দেখতে পাচ্ছেন, এটি পিছনে ঝুঁকে পড়ার এবং বলার সময় নয় যে আমরা শেষ করেছি।
মূল ব্যক্তিগত ফাইল সিস্টেমের জন্য সিঙ্ক্রোনাস ফাইল পদ্ধতি
সম্পূর্ণ বিপরীত, আমাদের প্রচেষ্টাকে সম্পূর্ণরূপে ঘোষণা করার পরিবর্তে, আমরা আসলে শুরু করছি। উদাহরণস্বরূপ, নীচের চার্টটি বিবেচনা করুন যা navigator.storage.getDirectory()
পদ্ধতির আকাশছোঁয়া আপেক্ষিক ব্যবহার বৃদ্ধি দেখায়, যা অরিজিন প্রাইভেট ফাইল সিস্টেমের (OPFS) এন্ট্রি পয়েন্ট হিসাবে ব্যবহৃত হয়। এই পদ্ধতিটি ব্যবহার করা হয়, উদাহরণস্বরূপ, ফটোশপের উচ্চ কার্যসম্পাদন সঞ্চয়স্থানের প্রয়োজনের জন্য, এবং যেটি স্টোরেজ সম্প্রদায় ওয়েব এসকিউএল-এর অবচয় শুরু হওয়ার পর থেকে এবং তারও আগে থেকে অত্যন্ত আগ্রহী ।
এখন যেহেতু বেশি লোক OPFS ব্যবহার করে, অতিরিক্ত প্রয়োজনীয়তা দেখা দিয়েছে। উদাহরণস্বরূপ, একজন কর্মী প্রসঙ্গে ফাইল পদ্ধতির সম্পূর্ণ সিঙ্ক্রোনাস সেটের প্রয়োজন (ব্যাকগ্রাউন্ডের জন্য whatwg/fs#7 দেখুন)। যদিও নতুন ওয়েব এপিআইগুলি সাধারণত অ্যাসিঙ্ক্রোনাস হয়, সিঙ্ক্রোনাস পদ্ধতিগুলি OPFS-এর সাথে Wasm প্রসঙ্গে কাজ করাকে অনেক সহজ করে তুলবে এবং যেহেতু এটি একজন কর্মীর মধ্যে ঘটছে, তাই মূল থ্রেডটি ব্লক করা যাবে না।
হার্ডওয়্যার API-এর জন্য গোপনীয়তার উন্নতি
আরেকটি উদাহরণ হল হার্ডওয়্যার API যা আপনাকে HID , সিরিয়াল , USB , Bluetooth , এবং NFC ডিভাইসগুলির সাথে সংযোগ করতে দেয়৷ যদিও এই APIগুলির মধ্যে কিছু কিছু সময়ের জন্য রয়েছে, সম্প্রতি অবধি এমন কোনও ডিভাইস ভুলে যাওয়ার কোনও উপায় ছিল না যা আপনি আগে সংযুক্ত করেছিলেন৷ এখন কিছু API-এর জন্য forget()
পদ্ধতির জন্য ধন্যবাদ। উদাহরণস্বরূপ, পূর্বে সংযুক্ত সিরিয়াল ডিভাইসটি কীভাবে ভুলে যায় তা এখানে রয়েছে, যা API-এর গোপনীয়তা উন্নত করে।
// Request a serial port.
const port = await navigator.serial.requestPort();
// Then later revoke permission to the serial port.
await port.forget();
মাল্টি-স্ক্রিন উইন্ডো প্লেসমেন্ট API-এর পরিমার্জন
একটি চূড়ান্ত উদাহরণ হল মাল্টি-স্ক্রিন উইন্ডো প্লেসমেন্ট এপিআই , যেখানে বিকাশকারীর প্রতিক্রিয়ার উপর ভিত্তি করে, "Internal Display 1"
মতো আগের জেনেরিক স্ক্রীন লেবেলগুলিকে "Built-in Retina Display"
এর মতো আরও অর্থপূর্ণ লেবেল দিয়ে প্রতিস্থাপিত করা হয়েছিল যাতে ব্যবহারকারীরা আরও সহজে যুক্ত হতে পারে তাদের মাল্টি-স্ক্রিন সেটআপের স্ক্রিন সহ এই লেবেলগুলি।
উপসংহার
আপনি এই তিনটি উদাহরণ থেকে দেখতে পাচ্ছেন, প্রজেক্ট ফুগু করা অনেক দূরে। রাখুন বা আমাদের API ব্যবহার শুরু করুন এবং প্রতিক্রিয়া পাঠান। যেহেতু সমস্ত Fugu চশমা GitHub-এ খোলা অবস্থায় তৈরি করা হয়েছে, আপনি সংশ্লিষ্ট GitHub রেপোতে একটি বিশেষ সমস্যা ফাইল করতে পারেন বা বিদ্যমান সমস্যাটিতে আপনার চিন্তাভাবনা যোগ করতে পারেন। আপনি যদি Chrome এর বাস্তবায়নে একটি বাগ খুঁজে পান, বা আবিষ্কার করেন যে বাস্তবায়নটি স্পেকের থেকে আলাদা, তাহলে new.crbug.com এ একটি বাগ ফাইল করুন। আপনি যতটা সম্ভব বিস্তারিত অন্তর্ভুক্ত করতে ভুলবেন না এবং পুনরুত্পাদনের জন্য সহজ নির্দেশাবলী প্রদান করুন।
এবং, আপনি যদি ব্রাউজার সমর্থন সম্পর্কে উদ্বিগ্ন হন, অনেক ফুগু এপিআই দুর্দান্ত প্রগতিশীল বর্ধনের জন্য তৈরি করে। আমার নিবন্ধ দেখুন SVGcode: অনুপ্রেরণার জন্য রাস্টার চিত্রগুলিকে SVG ভেক্টর গ্রাফিক্সে রূপান্তর করার জন্য একটি PWA । এই API গুলি আন্তঃপরিচালনাযোগ্য না হওয়া পর্যন্ত আমরা আমাদের কাজ সম্পন্ন বলে মনে করি না এবং আমরা অন্যান্য ব্রাউজারগুলির দ্বারা আরও মানককরণ, পরীক্ষা এবং গ্রহণের জন্য চাপ অব্যাহত রাখব।