-
async
এবংawait
আপনাকে প্রতিশ্রুতি-ভিত্তিক কোড লিখতে দেয় যেন এটি সিঙ্ক্রোনাস, কিন্তু মূল থ্রেড ব্লক না করে। - পয়েন্টার ইভেন্টগুলি সমস্ত ইনপুট ইভেন্টগুলি পরিচালনা করার একটি ঐক্যবদ্ধ উপায় প্রদান করে।
- হোম স্ক্রিনে যোগ করা সাইটগুলিকে স্বয়ংক্রিয়ভাবে স্থায়ী স্টোরেজ অনুমতি দেওয়া হয়।
এবং আরো অনেক আছে.
আমি Pete LePage , Chrome 55-এ ডেভেলপারদের জন্য নতুন কী আছে তা এখানে!
পয়েন্টার ইভেন্ট
ওয়েবে জিনিসের দিকে ইঙ্গিত করা সহজ ছিল। আপনার কাছে একটি মাউস ছিল, আপনি এটিকে ঘুরিয়েছেন, কখনও কখনও আপনি বোতামগুলি পুশ করেছেন এবং এটিই ছিল। কিন্তু এই, এখানে এত ভাল কাজ করে না.
স্পর্শ ইভেন্টগুলি ভাল, কিন্তু স্পর্শ এবং মাউস সমর্থন করার জন্য, আপনাকে দুটি ইভেন্ট মডেল সমর্থন করতে হবে:
elem.addEventListener('mousemove', mouseMoveEvent);
elem.addEventListener('touchmove', touchMoveEvent);
ক্রোম এখন পয়েন্টার ইভেন্টগুলি প্রেরণ করে ইউনিফাইড ইনপুট হ্যান্ডলিং সক্ষম করে:
elem.addEventListener('pointermove', pointerMoveEvent);
পয়েন্টার ইভেন্টগুলি ব্রাউজারের জন্য পয়েন্টার ইনপুট মডেলকে একীভূত করে, স্পর্শ, কলম এবং ইঁদুরকে ইভেন্টের একক সেটে একত্রিত করে। তারা IE11, এজ, ক্রোম, অপেরায় সমর্থিত এবং ফায়ারফক্সে আংশিকভাবে সমর্থিত ।
আরও বিশদ বিবরণের জন্য পয়েন্টিং দ্য ওয়ে ফরওয়ার্ড দেখুন।
async
এবং await
অ্যাসিঙ্ক্রোনাস জাভাস্ক্রিপ্ট সম্পর্কে যুক্তি করা কঠিন হতে পারে। সমস্ত "সুন্দর" কলব্যাক সহ এই ফাংশনটি নিন:
function logFetch(url) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
console.log(xhr.responseText);
} else {
console.error('xhr failed', xhr.statusText);
}
}
};
xhr.onerror = function (e) {
console.error(xhr.statusText);
};
xhr.open('GET', url);
xhr.send();
}
promises
দিয়ে এটি পুনরায় লেখা বাসা বাঁধার সমস্যা এড়াতে সহায়তা করে:
function logFetch(url) {
return fetch(url)
.then(response => response.text())
.then(text => {
console.log(text);
}).catch(err => {
console.error('fetch failed', err);
});
}
কিন্তু, প্রতিশ্রুতি-ভিত্তিক কোড পড়া এখনও কঠিন হতে পারে যখন অ্যাসিঙ্ক্রোনাস নির্ভরতার দীর্ঘ চেইন থাকে।
ক্রোম এখন async
সমর্থন করে এবং জাভাস্ক্রিপ্ট কীওয়ার্ডের জন্য await
, যা আপনাকে প্রতিশ্রুতি-ভিত্তিক জাভাস্ক্রিপ্ট লিখতে দেয় যা সিঙ্ক্রোনাস কোডের মতো কাঠামোগত এবং পাঠযোগ্য হতে পারে।
পরিবর্তে, আমাদের অ্যাসিঙ্ক্রোনাস ফাংশনটি এতে সরল করা যেতে পারে:
async function logFetch(url) {
try {
const response = await fetch(url);
console.log(await response.text());
}
catch (err) {
console.log('fetch failed', err);
}
}
জ্যাকের একটি দুর্দান্ত পোস্ট রয়েছে: অ্যাসিঙ্ক ফাংশন - সমস্ত বিবরণ সহ বন্ধুত্বপূর্ণ প্রতিশ্রুতি তৈরি করা ।
ক্রমাগত স্টোরেজ
ক্রমাগত স্টোরেজ অরিজিন ট্রায়াল এখন শেষ। আপনি এখন ওয়েব স্টোরেজকে স্থায়ী হিসাবে চিহ্নিত করতে পারেন, Chrome-কে আপনার সাইটের সঞ্চয়স্থান স্বয়ংক্রিয়ভাবে সাফ করা থেকে বাধা দেয়।
if (navigator.storage && navigator.storage.persist) {
navigator.storage.persist().then(granted => {
if (granted)
alert("Storage will not be cleared except by explicit user action");
else
alert("Storage may be cleared by the UA under storage pressure.");
});
}
এছাড়াও, যেসব সাইটে উচ্চ ব্যস্ততা রয়েছে, হোম স্ক্রিনে যোগ করা হয়েছে বা পুশ বিজ্ঞপ্তি সক্ষম করা আছে সেগুলিকে স্বয়ংক্রিয়ভাবে অধ্যবসায়ের অনুমতি দেওয়া হয়।
সম্পূর্ণ বিবরণের জন্য ক্রিস উইলসনের ক্রমাগত স্টোরেজ পোস্ট দেখুন এবং কীভাবে আপনি আপনার সাইটের জন্য ক্রমাগত স্টোরেজের অনুরোধ করতে পারেন।
CSS স্বয়ংক্রিয় হাইফেনেশন
CSS স্বয়ংক্রিয় হাইফেনেশন , Chrome এর সবচেয়ে ঘন ঘন অনুরোধ করা লেআউট বৈশিষ্ট্যগুলির মধ্যে একটি এখন Android এবং Mac-এ সমর্থিত৷
ওয়েব শেয়ার API
এবং পরিশেষে, নতুন ওয়েব শেয়ার API-এর সাথে নেটিভ শেয়ারিং ক্ষমতার আহ্বান করা এখন আরও সহজ, যা একটি অরিজিন ট্রায়াল হিসাবে উপলব্ধ৷ পল (মিস্টার ওয়েব ইন্টেন্টস) কিনলানের সমস্ত বিবরণ রয়েছে তার নেভিগেটর শেয়ার পোস্টে।
বন্ধ হচ্ছে
এগুলি ডেভেলপারদের জন্য Chrome 55-এর কয়েকটি পরিবর্তন।
আপনি যদি Chrome এর সাথে আপ টু ডেট থাকতে চান এবং কী আসছে তা জানতে চান, সাবস্ক্রাইব করতে ভুলবেন না, এবং Chrome টিম যে দুর্দান্ত জিনিসগুলিতে কাজ করছে তার আরও গভীরে ডুব দেওয়ার জন্য Chrome Dev Summit থেকে ভিডিওগুলি দেখতে ভুলবেন না৷
আমি পিট লেপেজ, এবং ক্রোম 56 রিলিজ হওয়ার সাথে সাথে, আমি আপনাকে বলতে এখানে থাকব যে Chrome-এ নতুন কী আছে!