Blink (браузерний рушій)Blink — вільний рушій для відображення вебсторінок, розроблений компаніями Google та Opera Software на основі початкового коду WebCore з WebKit для браузера Chromium.[1] Blink базується на багатопроцесній архітектурі і суттєво відрізняється від основної архітектури розпаралелювання операцій у WebKit. Історія розробкиПроєкт WebKit був створений в 2001 році як форк рушія KHTML, який розвивала спільнотою KDE. У представленому в 2008 році браузері Chrome компанія Google використовувала підсистему WebKit WebCore для рендерингу HTML і CSS, але замість JavaScript-рушія WebKit JavaScriptCore використовувала власний рушій V8. Фактично компанія Google спочатку розвивала в Chrome форк WebKit, тому що використовує у своєму браузері окрему гілку WebKit, безпосередньо вносячи в неї власні зміни і портуючи сторонні зміни з WebKit, після чого повертаючи свої покращення в upstream. У WebKit2 з'явилося багато нових можливостей і особливостей, які не мала наміру використовувати Google, але які доводилось враховувати при портуванні. У підсумку ресурси витрачані на портування стали неприйнятно великі. Основною причиною створення форку стала зростаюча трудомісткість паралельної підтримки розробки окремої багато-процесорної моделі, спочатку використовуваної в Google Chrome, але неприйнятної для універсального рушія WebKit і деяких інших браузерах. Суть відмінностей зводиться до того, що WebKit2 надає спеціальний фреймворк для поділу за різними процесами обробки контенту та формування інтерфейсу, а механізм поділу за процесами Chrome заснований на ідеї використання WebKit WebCore як одного з багато-процесних модулів, котрі взаємодіють з іншими модулями через окремий диспетчер ресурсів. В процесі розробки спостерігалося постійне ускладнення коду як WebKit, так і Chrome, що помітно гальмувало розробку Chrome через необхідність постійного портування коду. Крім того, із створенням форку у Google з'являться нові можливості з оптимізації рушія і збільшенню продуктивності, що потребують внесення кардинальних змін до WebKit. Створення Blink зняло з Google зобов'язання з повернення змін до WebKit. На думку Google, створення нового браузерного рушія не відіб'ється негативно на екосистемі і лише оздоровить її, бо конкуренція спонукає до розвитку інновацій, так само як поява кількох конкурентних браузерів стимулювала розвиток Веб. При цьому розробники Blink відзначають як пріоритетний напрямок співпрацю з творцями інших браузерних рушіїв в плані забезпечення сумісності, слідування інтернетовим стандартам і створення нових вебтехнологій. Першим часом розвиток Blink був сфокусований на поліпшенні внутрішньої архітектури і спрощенні кодової бази. Наприклад, припинено підтримку 7 складальних систем і вилучено близько 7 тисяч файлів, що включають понад 4.5 млн рядків коду. Про намір перейти до використання рушія Blink заявила компанія Opera, в процесі своєї міграції на WebKit з власного рушія Presto. Таким чином, сформована навколо WebKit спільнота розкололася на два табори, що представляють технології та інтереси проєктів Google Chrome і Apple Safari. У квітні 2013 компанія Adobe, що раніше брала участь у розвитку WebKit, оголосила про намір підключитися до роботи над рушієм Blink.[2][3] Adobe продовжить свою співпрацю з проєктами WebKit і Mozilla, але створюваний Adobe продукт Edge Tools базуватиметься на наданому проєктом Chromium фреймворці для інтеграції браузерних функцій в сторонні продукти. У вересні 2013 про підтримку Blink оголосив проєкт Qt.[4] Ларс Нол (Lars Knoll), творець рушія KHTML, керівник проєкту Qt Project і директор з розвитку фреймворку Qt в компанії Digia, представив Qt WebEngine[5], новий компонент для використання браузерного рушія в Qt-застосунках. Qt WebEngine йде на зміну Qt WebKit і відрізняється переходом на кодову базу проєкту Blink. Відмінності від WebKitСеред причин переходу на Blink називають[4]
З планів розвитку архітектури Blink можна відзначити:[6]
Поза цими озвученими змінами Blink залишається відносно подібним до WebCore.[7] Див. такожПримітки
Посилання
|