আপনি যদি কখনও কোনো ওয়েবপেজ খুলে ভেবে থাকেন যে, বিশেষ করে ভিডিও এবং মিডিয়াতে ভরা থাকলে সেটি লোড হতে কেন একটু বেশি সময় নেয়, তবে এই আসন্ন পরিবর্তনটি হয়তো অবশেষে সেই সমস্যার সমাধান করতে পারে। বহু বছর ধরে, মাইক্রোসফট এজ এবং ভিভাল্ডি সহ ক্রোমিয়াম-ভিত্তিক ব্রাউজারগুলো লেজি লোডিং সমর্থন করে আসছে। কিন্তু শুধুমাত্র ছবি এবং আইফ্রেমের জন্য। ভিডিও এবং অডিওর ক্ষেত্রে বিষয়টি ঠিক তেমন নয়। তবে সেই অবস্থার পরিবর্তন হতে চলেছে। স্বাধীন ডেভেলপার হেলমুট জানুশকার একটি প্রস্তাবের ফলে, ক্রোমিয়াম-ভিত্তিক ব্রাউজারগুলো ভিডিও এবং অডিও এলিমেন্টের জন্যও নেটিভ লেজি লোডিং সমর্থন করার প্রস্তুতি নিচ্ছে। আর যদিও এটি একটি প্রযুক্তিগত টীকার মতো শোনাচ্ছে, এটি ব্রাউজিংকে অনেক বেশি মসৃণ করে তুলতে পারে।
লেজি লোডিং আসলে কী করে (এবং কেন এটি গুরুত্বপূর্ণ)
সাধারণত, যখন আপনি একটি ওয়েবপেজ খোলেন, তখন আপনার ব্রাউজার একবারে সবকিছু লোড করার জন্য অতিরিক্ত সক্রিয় হয়ে ওঠে: ছবি, ভিডিও, অডিও, বিজ্ঞাপন, সবকিছু। স্বাভাবিকভাবেই, এটি গতির জন্য ভালো নয়। লেজি লোডিং একটি আরও স্মার্ট পদ্ধতি অবলম্বন করে। শুরুতেই সবকিছু টেনে আনার পরিবর্তে, ব্রাউজার অপেক্ষা করে এবং আপনি যখন কোনো কন্টেন্ট দেখতে যাবেন, ঠিক তখনই তা লোড করে। তাই যদি কোনো ভিডিও বা ছবি পেজের নিচের দিকে থাকে, তবে আপনি স্ক্রল করে সেটির কাছাকাছি না আসা পর্যন্ত তা লোড হবে না, এবং আপনি যদি সেখানে কখনোই না পৌঁছান, তবে তা হয়তো একেবারেই লোড হবে না। এর ফলে পেজ দ্রুত লোড হয়, ডেটা খরচ কম হয় এবং ব্রাউজিং অভিজ্ঞতা আরও মসৃণ হয়।
এখান থেকেই বিষয়টি আকর্ষণীয় হয়ে ওঠে। ওয়েবসাইটগুলো ইতিমধ্যেই ভিডিও এবং অডিওর জন্য লেজি লোডিং ব্যবহার করে, কিন্তু এটি বাস্তবায়নের জন্য তারা বেশিরভাগ ক্ষেত্রেই জাভাস্ক্রিপ্ট ওয়ার্কঅ্যারাউন্ডের উপর নির্ভর করে। এতে কাজ চলে যায়, কিন্তু পদ্ধতিটি মোটেও মার্জিত নয়। ডেভেলপাররা সাধারণত মিডিয়া কখন ভিউপোর্টে প্রবেশ করে তা শনাক্ত করতে এবং তারপর ম্যানুয়ালি লোডিং শুরু করতে ইন্টারসেকশন অবজার্ভারের মতো টুল ব্যবহার করেন। এই পদ্ধতিটি কিছুটা জটিল, এতে ভুল হওয়ার সম্ভাবনা থাকে এবং এটি ব্রাউজারের বিল্ট-ইন অপটিমাইজেশনের সাথে সবসময় ভালোভাবে কাজ করে না। জানুশকার প্রস্তাবের লক্ষ্য হলো এই প্রক্রিয়াটিকে সহজ করা। এই সমস্ত অতিরিক্ত স্ক্রিপ্টিংয়ের পরিবর্তে, ডেভেলপাররা সরাসরি ভিডিও এবং অডিও এলিমেন্টে নেটিভ HTML অ্যাট্রিবিউট loading="lazy" যোগ করতে পারবেন, যা পুরো প্রক্রিয়াটিকে আরও অনেক বেশি সুবিন্যস্ত করে তুলবে।
কেন নেটিভ সাপোর্ট একটি বড় ব্যাপার
যখন ব্রাউজার লেজি লোডিংয়ের দায়িত্ব নেয়, তখন এটি আরও ভালোভাবে কাজ করে:
- এটি আপনার নেটওয়ার্কের অবস্থার ওপর ভিত্তি করে মিডিয়া লোড হওয়ার সময় নির্ধারণ করতে পারে।
- এটি প্রথমে জাভাস্ক্রিপ্ট চালানোর কারণে সৃষ্ট অতিরিক্ত বিলম্ব এড়িয়ে যায়।
- এটি প্রিলোড স্ক্যানার এবং বিল্ট-ইন অপটিমাইজেশনের সাথে একযোগে কাজ করে।
- এটি পেজ লোড হওয়ার পুরো প্রক্রিয়াকে বাধা না দিয়ে মসৃণ রাখে।
সহজ কথায়, এটি আরও পরিচ্ছন্ন, দ্রুততর এবং অধিক কার্যকর। জানুশকা যেমনটি তুলে ধরেছেন, এটি ভিডিও এবং অডিওকে ইমেজ ও আইফ্রেমের প্রচলিত আচরণের সাথে সামঞ্জস্যপূর্ণ করে, যার ফলে ওয়েব জুড়ে আরও সামঞ্জস্যপূর্ণ এবং অনুমানযোগ্য অভিজ্ঞতা পাওয়া যায়। এই ফিচারটি ক্রোমিয়ামের পাইপলাইনে পর্যায়ক্রমে উন্নত করা হচ্ছে:
- জানুয়ারিতে প্রথম বাস্তবায়ন করা হয়েছিল
- ফেব্রুয়ারির মধ্যে বিল্ডগুলিতে অন্তর্ভুক্ত করা হয়েছে
- মার্চ মাসে শিপিং পর্যায়ে প্রবেশ করেছে
এখন, সাম্প্রতিক একটি কোড পরিবর্তন থেকে বোঝা যাচ্ছে যে এটি স্টেবল বিল্ডগুলিতে ডিফল্টরূপে সক্রিয় করা হতে পারে। সবকিছু প্রত্যাশা অনুযায়ী চললে, এটি ক্রোম ১৪৮-এর সাথে চালু হতে পারে।
