Brauzer mühərriki

Vikipediya, azad ensiklopediya
Naviqasiyaya keçin Axtarışa keçin

Brauzer mühərriki (ing. layout engine) — hər bir veb-brauzerin əsas proqram təminatı komponenti. Brauzer mühərrikinin əsas işi HTML sənədlərini və veb-səhifənin digər resurslarını istifadəçinin cihazında interaktiv vizual təsvirə çevirməkdir.

Adı və məqsədi[redaktə | mənbəni redaktə et]

Brauzer mühərriki müstəqil kompüter proqramı deyil, daha böyük proqramın, məsələn, veb-brauzerin kritik bir hissəsidir və bu termin ondan yaranır. "Mühərrik" sözü avtomobilin mühərrikinə bənzətmədir.

"Brauzer mühərriki" ilə yanaşı, əlaqəli anlayışlarla bağlı gündəlik istifadədə olan daha iki termin var: "dizayn mühərriki" və "render mühərriki".[1][2][3]

Teorik olaraq, dizayn və render (və ya "rəsm") müxtəlif mühərriklər tərəfindən idarə oluna bilər. Bununla belə, praktikada verilmiş brauzer mühərrikinin render və dizayn komponentləri bir-biri ilə sıx bağlıdır və brauzerlərin skript mühərriklərindən fərqli olaraq, brauzer mühərrikindən kənarda nadir hallarda rast gəlinir.

Dizayn və renderə əlavə olaraq, brauzer mühərriki sənədlər arasında təhlükəsizlik siyasətini tətbiq edir, hiperlinklər və formalar vasitəsilə təqdim olunan məlumatlar vasitəsilə naviqasiyanı idarə edir və sənədlə əlaqəli skriptlərə məruz qalan Document Object Model-i tətbiq edir.

Hər bir məşhur veb-brauzer, müəyyən edilmiş geniş diapazonlu interaktiv davranışı təmin etmək üçün JavaScript-i (JS) dəstəkləyir. Bununla belə, JS dil dəstəyi ayrı bir yanaşma kimi qəbul edilir və brauzer tərtibatçıları onu təhlil etmək və qiymətləndirmək üçün xüsusi JavaScript mühərrikindən istifadə edirlər.[4] JS əvvəlcə veb-səhifələrdə istifadə üçün sadə dil kimi yaradılsa da, başqa yerlərdə də istifadə olunan ümumi təyinatlı dilə çevrildi. Brauzerlər mühərriklərini koordinasiya etmək üçün mürəkkəb üsullara malikdirlər.[1][5]

Brauzer mühərrikləri veb-brauzerlərdən başqa digər növ proqramlarda da istifadə olunur. Məsələn, e-poçt proqramı HTML e-poçtunu göstərmək üçün brauzer mühərriki istifadə edə bilər. Google-un Chromium layihəsindəki V8Blink əsasında hazırlanan Electron freymvorku proqram tərtibatçılarına qrafik iş masası proqramları yaratmaq üçün HTML, CSS, JavaScriptDOM kimi texnologiyalardan istifadə etməyə imkan verir. Tərtibatçıların bildiyi brauzer əsaslı texnologiyalar Electron və digər çarpaz platformalı, brauzer mühərriki əsaslı proqram freymvorklarının ənənəvi GUI alət dəstləri əvəzinə tez-tez istifadə olunması ilə nəticələndi.

Dizayn, stil və render[redaktə | mənbəni redaktə et]

Veb səhifənin tərtibatı adətən CSS tərəfindən müəyyən edilir. Hər bir üslublar cədvəli sənədin necə görünəcəyini müəyyən etmək üçün brauzer mühərrikinin tərcümə etdiyi bir sıra qaydalardır. Məsələn, dərc edilmiş veb-səhifə şrift, rəng və mətn ölçüsü kimi tipoqrafiya detalları qaydalarını müəyyən etmək üçün CSS-dən istifadə edə bilər. Mühərrik ekranda çəkəcəyi vizual təsvir üçün konkret qrafik koordinatları hesablamaq üçün bütün müvafiq CSS qaydalarını birləşdirir.[1][5]

Bəzi mühərriklər səhifənin resursları endirilməmişdən əvvəl render etməyə başlaya bilər. Bu, şəkillərin tədricən doldurulması və ya FOUC kimi daha çox məlumat alındıqca vizual dəyişikliklərlə nəticələnə bilər.

Mühərriklər[redaktə | mənbəni redaktə et]

İstinadlar[redaktə | mənbəni redaktə et]

  1. 1 2 3 "Behind the scenes of modern web browsers". Tali Garsiel. 18 April 2018 tarixində arxivləşdirilib. İstifadə tarixi: 21 April 2018.
  2. "Gecko". Mozilla. 4 June 2014 tarixində orijinalından arxivləşdirilib. İstifadə tarixi: 21 April 2018.
  3. "Introducing Goanna". M.C. Straver. 22 June 2015. 11 November 2020 tarixində arxivləşdirilib. İstifadə tarixi: 21 April 2018.
  4. Bak, Lars. "Inside V8—A Javascript Virtual Machine" (Müsahibə). Interviewed by Meijer, Erik; Torre, Charles. Microsoft. 2009-04-29. 2016-05-27 tarixində arxivləşdirilib. İstifadə tarixi: 2020-07-03.
  5. 1 2 "What Every Frontend Developer Should Know About Webpage Rendering". 3 June 2023 tarixində arxivləşdirilib. İstifadə tarixi: 1 December 2023.

Xarici keçidlər[redaktə | mənbəni redaktə et]