ওয়েবের একটি বিশেষ ক্ষমতা হল এর সংমিশ্রণযোগ্যতা। ওয়েব পৃষ্ঠাগুলিতে একাধিক উত্স থেকে সম্ভাব্য বিভিন্ন সংস্থান রয়েছে।
ব্লিঙ্ক ক্রোম, অ্যান্ড্রয়েড ওয়েবভিউ, মাইক্রোসফ্ট এজ, অপেরা এবং ব্রেভ সহ ক্রোমিয়াম -ভিত্তিক ব্রাউজারগুলির জন্য রেন্ডারিং ইঞ্জিন হিসাবে কাজ করে।
একটি রেন্ডারিং ইঞ্জিন হল একটি ওয়েব ব্রাউজারের উপাদান যা HTML, CSS এবং JavaScript কোডকে রূপান্তরিত করে—ছবি এবং অন্যান্য সংস্থানগুলির সাথে-যেগুলি আপনি দেখতে এবং ইন্টারঅ্যাক্ট করতে পারেন এমন ওয়েব পৃষ্ঠাগুলিতে পরিণত করে৷
কিভাবে ব্লিঙ্ক একটি ওয়েব পেজ রেন্ডার করে?
ব্লিঙ্ক সমস্ত প্রয়োজনীয় সংস্থান যেমন HTML, CSS, JavaScript, ভিডিও এবং চিত্র সংগ্রহ করে রেন্ডারিং প্রক্রিয়া শুরু করে। এই সংস্থানগুলি পুনরুদ্ধার করতে, ব্লিঙ্ক ক্রোমিয়াম এবং অন্তর্নিহিত অপারেটিং সিস্টেমে নেটওয়ার্ক স্ট্যাকের সাথে মিথস্ক্রিয়া পরিচালনা করে।
সিএসএস এবং এইচটিএমএল লোড হওয়ার সাথে সাথেই, ব্লিঙ্ক সেই কোডটিকে, পাঠ্য আকারে, একটি উপস্থাপনায় রূপান্তর করতে পারে যার সাথে এটি কাজ করতে পারে—যাকে পার্সিং বলা হয়। জাভাস্ক্রিপ্টকেও পার্স করতে হবে এবং তারপর এক্সিকিউট করতে হবে।
একবার সবকিছু হয়ে গেলে, ব্লিঙ্ক তারপরে আপনি দেখতে এবং ইন্টারঅ্যাক্ট করতে পারেন এমন ওয়েব পৃষ্ঠাগুলি সাজানোর এবং প্রদর্শনের কাজ শুরু করতে পারে। এই রেন্ডারিং হয়.
নিম্নলিখিত চিত্রটি প্রতিটিতে জড়িত উপাদান, প্রক্রিয়া এবং সংস্থান সহ রেন্ডারিং কাজের পাইপলাইনের পর্যায়গুলি দেখায়। পলকের অনেক কাজ আছে!

গ্রাফিক্স রেন্ডার করুন
ব্লিঙ্ক একটি কম্পিউটার বা মোবাইল ডিভাইসের অন্তর্নিহিত গ্রাফিক্স হার্ডওয়্যারের সাথে ইন্টারঅ্যাক্ট করতে ওপেন সোর্স স্কিয়া গ্রাফিক্স ইঞ্জিন ব্যবহার করে।
Skia সাধারণ API প্রদান করে যা বিভিন্ন হার্ডওয়্যার এবং সফ্টওয়্যার প্ল্যাটফর্ম জুড়ে কাজ করে। এটি Google Chrome এবং অন্যান্য অনেক পণ্যের জন্য গ্রাফিক্স ইঞ্জিন হিসেবে কাজ করে।
বিভিন্ন অপারেটিং সিস্টেম এবং ডিভাইসগুলিকে সমর্থন করার চেষ্টা করার পরিবর্তে, প্ল্যাটফর্মের পরিবর্তনগুলি বজায় রাখার সময়, Skia OpenGL , Vulkan , এবং DirectX সহ গ্রাফিক্স লাইব্রেরিগুলি ব্যবহার করে৷ Skia যে লাইব্রেরিটি ব্যবহার করে তা নির্ভর করে এটি যে প্ল্যাটফর্মে চলছে, যেমন মোবাইলে অ্যান্ড্রয়েড বা ডেস্কটপে উইন্ডোজ।
জাভাস্ক্রিপ্ট পার্স এবং এক্সিকিউট করুন
JavaScript এবং WebAssembly কোড পার্স এবং এক্সিকিউট করতে, Blink V8 ব্যবহার করে, একটি ওপেন সোর্স ইঞ্জিন যা Chromium প্রোজেক্ট দ্বারা তৈরি করা হয়েছে।
V8 একটি বিকাশকারীর জন্য অন্তর্নিহিত ব্রাউজারের ক্ষমতাগুলি অ্যাক্সেস করতে JavaScript বা WebAssembly কোড ব্যবহার করা সম্ভব করে তোলে। উদাহরণ স্বরূপ: ডকুমেন্ট অবজেক্ট মডেল ম্যানিপুলেট করার জন্য, যা একটি নথির অভ্যন্তরীণ উপস্থাপনা যা Blink HTML কোড থেকে তৈরি করে।
V8 জাভাস্ক্রিপ্ট মান অনুযায়ী জাভাস্ক্রিপ্ট প্রক্রিয়া করে, যা ECMAScript নামে পরিচিত।
মান রেন্ডারিং
V8 জাভাস্ক্রিপ্ট মান অনুযায়ী জাভাস্ক্রিপ্ট প্রক্রিয়া করে, যা ECMAScript নামে পরিচিত। ব্লিঙ্কের মতো রেন্ডারিং ইঞ্জিনগুলি আন্তঃক্রিয়াশীলভাবে ওয়েব মানগুলি বাস্তবায়নের জন্য ডিজাইন করা হয়েছে। ওয়েব স্ট্যান্ডার্ডগুলি ডেভেলপারদের এবং শেষ-ব্যবহারকারীদের আত্মবিশ্বাসী হতে দেয় যে ওয়েব পৃষ্ঠাগুলি ভাল কাজ করে, তারা কোন ব্রাউজার ব্যবহার করছে না কেন।
ব্লিঙ্ক HTML , CSS এবং DOM সহ ওয়েব স্ট্যান্ডার্ডে সংজ্ঞায়িত ব্রাউজার এবং ভাষার বৈশিষ্ট্যগুলির জন্য নির্দিষ্টকরণ অনুসরণ করে।
HTML এবং DOM
এইচটিএমএল স্ট্যান্ডার্ড সংজ্ঞায়িত করে কিভাবে ব্রাউজার ইঞ্জিনিয়ারদের এইচটিএমএল উপাদান বাস্তবায়ন করা উচিত। প্রতিটি HTML এলিমেন্টের স্পেসিফিকেশনে একটি বিভাগ থাকে যা এলিমেন্টের জন্য DOM ইন্টারফেসকে সংজ্ঞায়িত করে। ডিভাইস এবং প্ল্যাটফর্ম জুড়ে মানসম্মতভাবে উপাদানের সাথে মিথস্ক্রিয়া করার অনুমতি দেওয়ার জন্য ব্রাউজার দ্বারা জাভাস্ক্রিপ্ট কীভাবে প্রয়োগ করা উচিত তা এই বিবরণ দেয়।
ইন্টারফেস স্পেসিফিকেশন WebIDL : ওয়েব ইন্টারফেস সংজ্ঞা ভাষাতে লেখা হয়েছে। নিম্নলিখিত WebIDL হল HTML স্ট্যান্ডার্ডের HTMLImageElement
এর সংজ্ঞার অংশ।
[Exposed=Window,
LegacyFactoryFunction=Image(optional unsigned long width, optional unsigned
long height)]
interface HTMLImageElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions] attribute DOMString alt;
[CEReactions] attribute USVString src;
[CEReactions] attribute USVString srcset;
[CEReactions] attribute DOMString sizes;
[CEReactions] attribute DOMString? crossOrigin;
[CEReactions] attribute DOMString useMap;
[CEReactions] attribute boolean isMap;
[CEReactions] attribute unsigned long width;
[CEReactions] attribute unsigned long height;
readonly attribute unsigned long naturalWidth;
readonly attribute unsigned long naturalHeight;
readonly attribute boolean complete;
readonly attribute USVString currentSrc;
[CEReactions] attribute DOMString referrerPolicy;
[CEReactions] attribute DOMString decoding;
[CEReactions] attribute DOMString loading;
[CEReactions] attribute DOMString fetchPriority;
Promise<undefined> decode();
// also has obsolete members
};
WebIDL হল কার্যকরী ইন্টারফেস বর্ণনা করার একটি প্রমিত উপায়, যেগুলি বেশিরভাগ ওয়েব স্ট্যান্ডার্ড তৈরি করে।
একটি বৈশিষ্ট্য বাস্তবায়নের জন্য, প্রকৌশলীরা সেই WebIDL কোডটিকে একটি ফাইলে রাখেন এবং এটি স্বয়ংক্রিয়ভাবে ব্লিঙ্কের মাধ্যমে রূপান্তরিত হয়ে সেই বৈশিষ্ট্যটির জন্য বিকাশকারীদের একটি ইন্টারফেস প্রদান করে। একবার WebIDL-এর সাথে ইন্টারফেস সংজ্ঞায়িত হয়ে গেলে, ইঞ্জিনিয়াররা এমন বাস্তবায়ন তৈরি করতে পারে যা ইন্টারফেস কলগুলিতে সাড়া দেয়।

html_image_element.idl
।তৃতীয় পক্ষের লাইব্রেরি
ব্লিঙ্ক একাধিক তৃতীয় পক্ষের লাইব্রেরি ব্যবহার করে। উদাহরণস্বরূপ, WebGL ইন্টারেক্টিভ 2D এবং 3D গ্রাফিক্স রেন্ডার করতে ব্যবহৃত হয়।

ওয়েবজিএল-এর মতো লাইব্রেরিগুলি অত্যন্ত অপ্টিমাইজ করা এবং সাবধানে পরীক্ষিত। তারা চাকাটি পুনরায় উদ্ভাবনের প্রয়োজন ছাড়াই গুরুত্বপূর্ণ বৈশিষ্ট্য এবং কার্যকারিতাগুলিতে ব্লিঙ্ক অ্যাক্সেস দেয়। WebGL IDL সংজ্ঞায়িত করা হয়েছে, এবং ব্লিঙ্ক ইঞ্জিনিয়াররা সেই ওয়েব ইন্টারফেসটিকে ব্যাকএন্ডে কোড এবং লাইব্রেরির সাথে সংযুক্ত করে যা বিভিন্ন উপাদান রেন্ডার করতে ব্যবহৃত হয়।
আপনি যদি ওয়েবজিএলকে কার্যকর দেখতে চান, ফ্র্যাক্টাল রেন্ডারিং অ্যাপ ফ্র্যাকটিস দেখুন, যা WebGL ব্যবহার করে।

ক্রস-প্ল্যাটফর্ম রেন্ডারিং
আপনি হয়তো ভাবছেন, ক্রোম কি সব অপারেটিং সিস্টেম এবং ডিভাইসে সর্বত্র ব্লিঙ্ক ব্যবহার করে?
iOS এবং iPadOS-এ, Chrome তার রেন্ডারিং ইঞ্জিন হিসাবে WebKit ব্যবহার করে। ওয়েবকিট প্রকৃতপক্ষে অন্য একটি প্রকল্প, কেডিই- এর একটি কাঁটা ছিল, যা 1998 থেকে শুরু করে। আসলে, সাফারি এবং ক্রোমিয়াম উভয়ই প্রাথমিকভাবে ওয়েবকিটের উপর ভিত্তি করে ছিল। আজ, অ্যাপলের অ্যাপ স্টোরের প্রয়োজনীয়তা অনুসারে সাফারি এবং অ্যাপল ইকোসিস্টেমের সমস্ত ব্রাউজার ওয়েবকিট ব্যবহার করে।
সময়ের সাথে সাথে, ক্রোমিয়াম প্রকল্পগুলি একটি ভিন্ন মাল্টি-প্রসেস সফ্টওয়্যার আর্কিটেকচার তৈরি করেছে, কারণ একটি কোডবেসে দুটি পৃথক আর্কিটেকচার বজায় রাখা সমস্যাযুক্ত হয়ে উঠছিল।
এছাড়াও, ক্রোমিয়াম এমন বৈশিষ্ট্যগুলি ব্যবহার করতে চেয়েছিল যা ওয়েবকিটে তৈরি করা হয়নি। সুতরাং, সংস্করণ 28 থেকে শুরু করে, Chromium ইঞ্জিনিয়াররা তাদের নিজস্ব রেন্ডারিং ইঞ্জিনে কাজ শুরু করার সিদ্ধান্ত নিয়েছে৷ তারা WebKit থেকে তাদের কোড ফর্ক করেছে, এবং তারা এটিকে ব্লিঙ্ক বলে। গুজব আছে যে ব্লিঙ্কের নামকরণ করা হয়েছে প্রিয় <blink>
ট্যাগের নামানুসারে যা নেটস্কেপ নেভিগেটর ব্রাউজারে টেক্সট ব্লিঙ্ক অন এবং অফ করার জন্য উপলব্ধ ছিল।
সংক্ষেপে: ক্রোম, মাইক্রোসফ্ট এজ, অপেরা, ভিভাল্ডি, আর্ক, ব্রেভ এবং অন্যান্য ক্রোমিয়াম-ভিত্তিক ব্রাউজার এবং ফ্রেমওয়ার্ক ব্লিঙ্ক ব্যবহার করে। Safari এবং কিছু অন্যান্য ব্রাউজার ক্রোম সহ iOS এবং iPadOS-এর সমস্ত ব্রাউজার সহ WebKit ব্যবহার করে। ফায়ারফক্স গেকো নামে একটি রেন্ডারিং ইঞ্জিন ব্যবহার করে।