Chrome 108-এ নতুন

আপনার যা জানা দরকার তা এখানে:

আমি আদ্রিয়ানা জারা। চলুন ডুব দিয়ে দেখি Chrome 108-এ ডেভেলপারদের জন্য নতুন কী আছে।

নতুন ভিউপোর্ট সাইজ ইউনিট

নতুন ভিউপোর্ট ইউনিট আপনাকে অভিযোজিত UI তৈরি করতে আরও নিয়ন্ত্রণ দেয়।

এই ইউনিটগুলি ভিউপোর্ট এলাকাকে ভিন্নভাবে পরিমাপ করে, কারণ তারা ব্রাউজারে UI উপাদানগুলিকে বিবেচনা করে যা প্রসারিত বা ভেঙে ফেলা যেতে পারে। উদাহরণস্বরূপ, ঠিকানা বার।

large ইউনিট ভিউপোর্ট সাইজ প্রদান করে অনুমান করে যে সেই ব্যবহারকারী এজেন্ট ইন্টারফেসগুলি ভেঙে গেছে।

অন্যদিকে small ইউনিটগুলি ইন্টারফেসগুলি প্রসারিত হয়েছে অনুমান করে ভিউপোর্ট আকার প্রদান করে।

এবং dynamic ইউনিটগুলির সাথে ভিউপোর্টের আকার স্বয়ংক্রিয়ভাবে ব্রাউজার ইন্টারফেস উপাদানগুলি দেখানো বা না দেখানোর প্রতিক্রিয়া হিসাবে নিজেকে সামঞ্জস্য করবে।

বড় ইউনিট (সর্বোচ্চ) এবং ছোট ইউনিট (সর্বনিম্ন) এর সীমার মধ্যে মানটি হবে।

প্রতিটি ধরনের ভিউপোর্ট ইউনিটের জন্য ভিউপোর্টের বিভিন্ন অংশ।

আরো বিস্তারিত জানার জন্য এই নিবন্ধটি দেখুন. এছাড়াও আপনার ভিউপোর্টকে যথাযথভাবে পরিচালনা করতে অ্যান্ড্রয়েড ভিউপোর্ট রিসাইজিং আচরণে পরিবর্তন চেকআউট করুন৷

পরিবর্তনশীল ফন্ট এখন COLRv1-এ সমর্থিত।

COLRv1 কালার ভেক্টর ফন্টগুলি Chrome 98 থেকে সমর্থিত, কিন্তু প্রাথমিক রিলিজ শুধুমাত্র COLRv1 টেবিলের স্থির কার্যকারিতা সমর্থিত।

কিন্তু COLRv1 স্পেসিফিকেশনে OpenType ভেরিয়েশনও রয়েছে, যার অর্থ পরিবর্তনশীল অক্ষের মান পরিবর্তন করে ফন্টের বৈশিষ্ট্যে পরিবর্তনের অনুমতি দেওয়া। এই ধরনের বৈচিত্র এখন সমর্থিত হয়.

এই রিলিজে CSS @supportsfont-tech() এবং font-format() কন্ডিশন এক্সটেনশনও রয়েছে।

এই শর্তগুলির সাহায্যে বিকাশকারী সনাক্ত করতে পারে কখন ফন্ট বৈশিষ্ট্যগুলি ব্যবহারকারীকে সর্বশেষ অভিজ্ঞতা দেওয়ার জন্য উপলব্ধ এবং সমর্থন উপলব্ধ না হলে একটি ফলব্যাক তৈরি করে৷

এখানে ডেমোর সাথে খেলুন এবং পরিবর্তনশীল ফন্টগুলির সাথে আপনার শব্দগুলিতে প্রভাব যুক্ত করুন।

FileSystemSyncAccessHandle পদ্ধতিগুলি এখন সিঙ্ক্রোনাস।

অরিজিন প্রাইভেট ফাইল সিস্টেম একটি বিশেষ ধরনের ফাইলে অ্যাক্সেস প্রদান করে যা পারফরম্যান্সের জন্য অত্যন্ত অপ্টিমাইজ করা হয়, ডেভেলপাররা createSyncAccessHandle() কল করে এই ধরনের ফাইলগুলিতে অ্যাক্সেস পেতে পারে, যা FileSystemFileHandle অবজেক্টে প্রকাশ করা একটি পদ্ধতি।

এই কলের ফলে একটি FileSystemSyncAccessHandle হয়।

সেই অ্যাক্সেস হ্যান্ডেলে পদ্ধতিগুলি truncate(newSize) , getSize() , flush() , এবং close() ব্যবহার করা হত, যা অসিঙ্ক্রোনাস হত, কিন্তু তারা Chrome 108-এর মতো সিঙ্ক্রোনাস।

পরিবর্তনের জন্য একটি ভাল কারণ রয়েছে, এটি FileSystemSyncAccessHandle সিঙ্ক্রোনাস, POSIX-এর মতো ফাইল API এর সাথে মেলে যা Wasm-ভিত্তিক অ্যাপ্লিকেশনগুলি আশা করে; যথেষ্ট কর্মক্ষমতা লাভ আনার সাথে সাথে API-কে আরও ergonomic করে তোলে।

এটি একটি সম্ভাব্য ভঙ্গকারী পরিবর্তন, যদি আপনি উপরের পদ্ধতিগুলি ব্যবহার করেন তবে Promise.then() এর যেকোনো ব্যবহার ভেঙে যাবে। আপনি যদি পূর্ববর্তী অ্যাসিঙ্ক্রোনাস এবং এখন সিঙ্ক্রোনাস পদ্ধতির ফলাফলের উপর একটি then() কল করেন তবে আপনাকে আপনার কোড পরিবর্তন করতে হবে।

// ⛔️ This will break, and you need to restructure your code:
accessHandle.flush().then(/* Follow-up code */);
// ✅ Correct:
accessHandle.flush();
/* Follow-up code */

আরো বিস্তারিত নির্দেশাবলীর জন্য এই নিবন্ধে যান

এবং আরো!

অবশ্যই আরো অনেক আছে.

আরও পড়া

এটি শুধুমাত্র কিছু মূল হাইলাইট কভার করে। Chrome 108-এ অতিরিক্ত পরিবর্তনের জন্য নীচের লিঙ্কগুলি দেখুন৷

সদস্যতা

আপ টু ডেট থাকার জন্য, Chrome Developers YouTube চ্যানেলে সাবস্ক্রাইব করুন , এবং যখনই আমরা একটি নতুন ভিডিও লঞ্চ করব আপনি একটি ইমেল বিজ্ঞপ্তি পাবেন৷

আমি আদ্রিয়ানা জারা, এবং Chrome 109 রিলিজ হওয়ার সাথে সাথে, আমি আপনাকে বলতে এখানে থাকব যে Chrome-এ নতুন কী আছে!

,

আপনার যা জানা দরকার তা এখানে:

আমি আদ্রিয়ানা জারা। চলুন ডুব দিয়ে দেখি Chrome 108-এ ডেভেলপারদের জন্য নতুন কী আছে।

নতুন ভিউপোর্ট সাইজ ইউনিট

নতুন ভিউপোর্ট ইউনিট আপনাকে অভিযোজিত UI তৈরি করতে আরও নিয়ন্ত্রণ দেয়।

এই ইউনিটগুলি ভিউপোর্ট এলাকাকে ভিন্নভাবে পরিমাপ করে, কারণ তারা ব্রাউজারে UI উপাদানগুলিকে বিবেচনা করে যা প্রসারিত বা ভেঙে ফেলা যেতে পারে। উদাহরণস্বরূপ, ঠিকানা বার।

large ইউনিট ভিউপোর্ট সাইজ প্রদান করে অনুমান করে যে সেই ব্যবহারকারী এজেন্ট ইন্টারফেসগুলি ভেঙে গেছে।

অন্যদিকে small ইউনিটগুলি ইন্টারফেসগুলি প্রসারিত হয়েছে অনুমান করে ভিউপোর্ট আকার প্রদান করে।

এবং dynamic ইউনিটগুলির সাথে ভিউপোর্টের আকার স্বয়ংক্রিয়ভাবে ব্রাউজার ইন্টারফেস উপাদানগুলি দেখানো বা না দেখানোর প্রতিক্রিয়া হিসাবে নিজেকে সামঞ্জস্য করবে।

বড় ইউনিট (সর্বোচ্চ) এবং ছোট ইউনিট (সর্বনিম্ন) এর সীমার মধ্যে মানটি হবে।

প্রতিটি ধরনের ভিউপোর্ট ইউনিটের জন্য ভিউপোর্টের বিভিন্ন অংশ।

আরো বিস্তারিত জানার জন্য এই নিবন্ধটি দেখুন. এছাড়াও আপনার ভিউপোর্টকে যথাযথভাবে পরিচালনা করতে অ্যান্ড্রয়েড ভিউপোর্ট রিসাইজিং আচরণে পরিবর্তন চেকআউট করুন৷

পরিবর্তনশীল ফন্ট এখন COLRv1-এ সমর্থিত।

COLRv1 কালার ভেক্টর ফন্টগুলি Chrome 98 থেকে সমর্থিত, কিন্তু প্রাথমিক রিলিজ শুধুমাত্র COLRv1 টেবিলের স্থির কার্যকারিতা সমর্থিত।

কিন্তু COLRv1 স্পেসিফিকেশনে OpenType ভেরিয়েশনও রয়েছে, যার অর্থ পরিবর্তনশীল অক্ষের মান পরিবর্তন করে ফন্টের বৈশিষ্ট্যে পরিবর্তনের অনুমতি দেওয়া। এই ধরনের বৈচিত্র এখন সমর্থিত হয়.

এই রিলিজে CSS @supportsfont-tech() এবং font-format() কন্ডিশন এক্সটেনশনও রয়েছে।

এই শর্তগুলির সাহায্যে বিকাশকারী সনাক্ত করতে পারে কখন ফন্ট বৈশিষ্ট্যগুলি ব্যবহারকারীকে সর্বশেষ অভিজ্ঞতা দেওয়ার জন্য উপলব্ধ এবং সমর্থন উপলব্ধ না হলে একটি ফলব্যাক তৈরি করে৷

এখানে ডেমোর সাথে খেলুন এবং পরিবর্তনশীল ফন্টগুলির সাথে আপনার শব্দগুলিতে প্রভাব যুক্ত করুন।

FileSystemSyncAccessHandle পদ্ধতিগুলি এখন সিঙ্ক্রোনাস।

অরিজিন প্রাইভেট ফাইল সিস্টেম একটি বিশেষ ধরনের ফাইলে অ্যাক্সেস প্রদান করে যা পারফরম্যান্সের জন্য অত্যন্ত অপ্টিমাইজ করা হয়, ডেভেলপাররা createSyncAccessHandle() কল করে এই ধরনের ফাইলগুলিতে অ্যাক্সেস পেতে পারে, যা FileSystemFileHandle অবজেক্টে প্রকাশ করা একটি পদ্ধতি।

এই কলের ফলে একটি FileSystemSyncAccessHandle হয়।

সেই অ্যাক্সেস হ্যান্ডেলে পদ্ধতিগুলি truncate(newSize) , getSize() , flush() , এবং close() ব্যবহার করা হত, যা অসিঙ্ক্রোনাস হত, কিন্তু তারা Chrome 108-এর মতো সিঙ্ক্রোনাস।

পরিবর্তনের জন্য একটি ভাল কারণ রয়েছে, এটি FileSystemSyncAccessHandle সিঙ্ক্রোনাস, POSIX-এর মতো ফাইল API এর সাথে মেলে যা Wasm-ভিত্তিক অ্যাপ্লিকেশনগুলি আশা করে; যথেষ্ট কর্মক্ষমতা লাভ আনার সাথে সাথে API-কে আরও ergonomic করে তোলে।

এটি একটি সম্ভাব্য ভঙ্গকারী পরিবর্তন, যদি আপনি উপরের পদ্ধতিগুলি ব্যবহার করেন তবে Promise.then() এর যেকোনো ব্যবহার ভেঙে যাবে। আপনি যদি পূর্ববর্তী অ্যাসিঙ্ক্রোনাস এবং এখন সিঙ্ক্রোনাস পদ্ধতির ফলাফলের উপর একটি then() কল করেন তবে আপনাকে আপনার কোড পরিবর্তন করতে হবে।

// ⛔️ This will break, and you need to restructure your code:
accessHandle.flush().then(/* Follow-up code */);
// ✅ Correct:
accessHandle.flush();
/* Follow-up code */

আরো বিস্তারিত নির্দেশাবলীর জন্য এই নিবন্ধে যান

এবং আরো!

অবশ্যই আরো অনেক আছে.

আরও পড়া

এটি শুধুমাত্র কিছু মূল হাইলাইট কভার করে। Chrome 108-এ অতিরিক্ত পরিবর্তনের জন্য নীচের লিঙ্কগুলি দেখুন৷

সদস্যতা

আপ টু ডেট থাকার জন্য, Chrome Developers YouTube চ্যানেলে সাবস্ক্রাইব করুন , এবং যখনই আমরা একটি নতুন ভিডিও লঞ্চ করব আপনি একটি ইমেল বিজ্ঞপ্তি পাবেন৷

আমি আদ্রিয়ানা জারা, এবং Chrome 109 রিলিজ হওয়ার সাথে সাথে, আমি আপনাকে বলতে এখানে থাকব যে Chrome-এ নতুন কী আছে!