WebKit

WebKit - вільний движок для відображення веб-сторінок, розроблений на основі коду бібліотек KHTML і KJS, використовуваних в графічному середовищі KDE.

Вихідний код відкритий на умовах LGPL, тобто будь-який з компонентів чи всі компоненти відразу, в незмінному або зміненому вигляді, можна використовувати в проектах будь-якого призначення (в тому числі комерційних) з однією умовою: бібліотеки або їх похідні мають бути опубліковані з відкритим вихідним кодом на умовах ліцензії LGPL. WebKit входить до складу "публічних" фреймворків (динамічних бібліотек особливої ​​структури), що поставляються з кожною копією Mac OS X з червня 2003 року.

На даний момент здійснює найбільш повну підтримку HTML у відповідності з рекомендаціями W3C.


1. Історія

У листопаді 2000 року на сайті Apple у розділі "Потрібні" з'явилося кілька вакансій. Від претендентів було потрібно добре володіння Інтернет-технологіями, досвід розробки web-движків і тому подібні якості. Іншими словами, в кінці 2000 року було прийнято рішення про розробку власного браузера. Вивчивши доступні варіанти, інженери компанії зупинили свій вибір на движку з відкритим вихідним кодом KHTML / KJS, який, на їхню думку, був найкращим.

У 2001 році інженери Apple створили власну гілку проекту KHTML і KJS, перейменували свій варіант бібліотек в WebCore і JavaScriptCore і, зберігши всі достоїнства оригіналу, повністю їх переписали.

У січні 2003 року на Macworld Expo Стів Джобс анонсував веб-браузер Safari, розроблений на основі WebKit.

У квітні 2008 року команда розробників веб-браузера Epiphany для середовища GNOME заявила [1] про те, що збирається використовувати у своєму браузері виключно WebKit, тим самим відмовляючись від підтримки движка Gecko, що розробляється Mozilla Foundation.

2 вересня 2008 - компанія Google оголосила про випуск власного браузера Chrome на основі движка WebKit. Спочатку Chrome був випущений під Microsoft Windows, потім стали доступні версії для операційних систем Linux і Mac OS X .

В травні 2010 компанія Apple Inc. подала [2] в профільне відомство США заявку на реєстрацію торгової марки WebKit. У разі затвердження заявки тільки Apple Inc. буде вправі використовувати назву WebKit у своїх продуктах, а іншим доведеться використовувати іншу назву для браузерного движка.


2. Компоненти

2.1. WebCore

Відображення та бібліотека Document Object Model (DOM) для HTML і SVG.

2.2. JavaScriptCore

JavaScriptCore - движок JavaScript. Також тут знаходиться бібліотека WTF (Web Template Framework), що надає допоміжні функції загального призначення для всього WebKit. JavaScriptCore є кросплатформним і може використовуватися як окремий компонент без залежностей від інших компонентів WebKit.

У нових версіях WebKit Apple замінить JavaScriptCore більш сучасним та швидким SquirrelFish.

2.3. Drosera

Відладчик помилок, що входить до складу нічних збірок WebKit.

3. Програми, що використовують WebKit

  • Safari - веб-браузер від Apple для Mac OS і Windows
  • iCab - веб-браузер для Mac OS X
  • Chromium - браузер з відкритим вихідним кодом
    • Яндекс.Браузер - веб-браузер Яндекса (раніше Яндекс Хром).
    • Google Chrome - веб-браузер компанії Google, створений на базі проекту Chromium
    • CoolNovo - веб-браузер компанії Maple Studios, що розширює можливості Google Chrome.
    • Comodo Dragon - веб-браузер компанії Comodo Group, з посиленим захистом конфіденційних даних
    • SRWare Iron - веб-браузер компанії SRWare, випущений у зв'язку з тим, що Google Chrome відправляє компанії Google відомості про користувача
    • Інтернет@mail.ru - веб-браузер Mail.ru (раніше Хром@mail.ru).
    • Рамблер Ніхром - веб-браузер Рамблера
  • Мобільні платформи для смартфонів і інтернет-планшетів :
    • Apple iOS - платформа для мобільних смартфонів і інтернет-планшетів
    • Google Android - платформа для смартфонів і інтернет-планшетів
    • HP webOS - платформа для смартфонів і інтернет-планшетів [3]
    • Samsung Bada - платформа для смартфонів [4]
  • Epiphany - веб-браузер для середовища робочого столу GNOME
  • Adobe Integrated Runtime (AIR) - платформно-незалежна середовище для запуску додатків
  • Arora - веб-браузер, заснований на Qt 4
  • Bolt Browser - веб-браузер на java для мобільних пристроїв
  • Iris Browser - веб-браузер для Windows Mobile
  • Dolfin - стандартний браузер в ОС Bada [5]
  • Konqueror - заснований на KHTML і WebKit веб-браузер і файловий менеджер, що входить до складу KDE 4
  • Maxthon 3 - веб-браузер для Windows з можливістю перемикання движка на Trident.
  • Midori - веб-браузер, заснований на Gtk. Планується включення до складу середовища робочого столу Xfce.
  • Nokia Series 60 browser - веб-браузер для мобільних телефонів Nokia S60
  • OmniWeb - веб-браузер для Mac OS X
  • QtWeb - веб-браузер для Windows, заснований на Qt
  • QupZilla - багатоплатформовий веб-браузер на Qt, добре інтегрований з користувальницьким оточенням робочого столу
  • rekonq - веб-браузер, заснований на Nokia QtDemoBrowser
  • RockMelt - соціальний браузер, що підтримує синхронізацію з Facebook і Twitter
  • Shiira - веб-браузер для Mac OS X
  • Surf - простий веб-браузер
  • Swift - веб-браузер для Windows
  • Adium - IM клієнт для Mac OS X
  • qutIM - багатоплатформовий IM клієнт
  • Vacuum-IM - багатоплатформовий Jabber клієнт, написаний на Qt
  • Uzbl - веб-браузер для Unix-подібних систем з підключаємими у вигляді скриптів інтерфейсами, керуючими отображающей сторінки програмою.
  • Steam - сервіс цифрової дистрибуції компанії Valve став використовувати движок WebKit замість MS Trident, що дозволило значно збільшити продуктивність і поліпшити безпеку роботи, а також портувати програму на Mac OS X.
  • Yahoo! Messenger - програма миттєвого обміну повідомленнями, WebKit використовується для відтворення повідомлень. [6]
  • Luakit - мінімалістичний веб-браузер, що нагадує Firefox з увімкненим розширенням Vimperator.

Примітки

  1. Epiphany Mailing list - ANNOUNCEMENT: The Future of Epiphany - mail.gnome.org/archives/epiphany-list/2008-April/msg00000.html
  2. Apple хоче зареєструвати ім'я WebKit - www.ixbt.com/news/all/index.shtml?13/34/65
  3. Developing Web Content for the HP webOS Platform - developer.palm.com / index.php? option = com_content & view = article & id = 1574
  4. What is bada? - developer.bada.com / apis / docs / commonpage.do? menu = MC01140100
  5. C + + App Programming - Developer Guide - Web: Managing Web Pages and Web Content -
  6. Applications using WebKit - WebKit - trac.webkit.org / wiki / Applications using WebKit # YahooMessenger-YahooInc