WebKit: відмінності між версіями
[неперевірена версія] | [неперевірена версія] |
Deineka (обговорення | внесок) |
Deineka (обговорення | внесок) |
||
Рядок 83: | Рядок 83: | ||
== Програми, що використовують WebKit == |
== Програми, що використовують WebKit == |
||
* [[Chromium]], браузер з відкритим [[сирцевий код|сирцевим кодом]], використовував WebKit до переходу на власний форк рушія [[Blink]] |
* [[Chromium]], браузер з відкритим [[сирцевий код|сирцевим кодом]], використовував WebKit до переходу на власний форк рушія [[Blink (браузерний рушій)|Blink]] |
||
** [[CoolNovo]] - веб-браузер компанії [[Maple Studios]], що розширює можливості Google Chrome. |
** [[CoolNovo]] - веб-браузер компанії [[Maple Studios]], що розширює можливості Google Chrome. |
||
** [[Comodo Dragon]] - веб-браузер компанії [[Comodo Group]], з посиленим захистом конфіденційних даних |
** [[Comodo Dragon]] - веб-браузер компанії [[Comodo Group]], з посиленим захистом конфіденційних даних |
Версія за 08:21, 25 березня 2014
Тип | рушій виведення |
---|---|
Розробники | Apple, KDE, Nokia, Google, RIM, Palm, Samsung, ProFUSION, та інші. |
Стабільний випуск | 534 |
Версії | 611.3.10.1.18 (10 лютого 2023)[1] |
Нестабільний випуск | 534.10 (8 жовтня 2010 ) |
Операційна система | Багатоплатформне ПЗ |
Мова програмування | С++ |
Ліцензія | більша частина коду викладена під GNU LGPL, інша під BSD-подібними ліцензиями. |
Репозиторій | github.com/WebKit/WebKit |
Вебсайт | webkit.org |
WebKit — рушій виведення для веб-сторінок. На базі WebKit працюють відомі браузери Apple Safari, Google Chrome (до версії 28) та інші. WebKit забезпечує набір классів для виведення веб-інформації у вікнах, та реалізує функції браузеру, такі як: механізм гіперпосилань, управління історією відвіданих сторінок.
Спочатку рушій був створений як форк від KHTML та використовувався компанією Apple у своєму браузері Safari. WebKit портується на багато платформ, зокрема зараз він підтримується у Windows та Linux.
Такі частини WebKit, як WebCore та JavaScriptCore доступні під ліцензією GNU LGPL, а інші під BSD-подібними ліцензіями.[2]
Історія
Із самого початку компанія Apple створила WebKit на базі бібліотеки KHTML браузеру Konqueror для використання у якості рушію для Safari у системі Mac OS X. Зараз рушій розроблюють деякі учасники проекту KDE, спеціалісти компаній: Apple Inc., Nokia, Google та інших.[3]
Початок
Код, який згодом став WebKit'ом з'явився у 1998 як проект KDE зі створення рушію виведення веб-сторінок, це були KHTML та KJS (KDE's JavaScript Engine). Ім'я WebKit з'явилося у 2002 році, коли Apple створила форк KHTML та KJS. Спеціалісті з Apple написали розробникам KDE листа, у якому пояснили, чого вибрали саме їхній проект.[4] У листі йшлося, що ці рушії дозволяють зручно вести розробку, бо є дуже малими за об'ємом коду (менш ніж 144 000 рядків коду), зрозуміло сконструйованими та відповідають стандартам. KHTML та KJS були портовані на Mac OS X та перейменовані на WebCore та JavaScriptCore, відповідно. WebCore було анонсовано на Macworld Expo у січні 2003 Стівом Джобсом, CEO Apple, разом із релізом браузеру Safari. JavaScriptCore був вперше використаний пізніше, у Mac OS X 10.2, як зачинений фреймворк разом із програмою Sherlock.
Спільна розробка
Компанія Apple внесла до проекту WebKit великі зміни, бо мала різні підходи до програмування з спільнотою KDE. Але KDE використовувало код WebKit, щоб збільшити швидкість рендерінгу у KHTML та запровадити деякі нові функції (зокрема, щоб проходити тест Acid2).
Але потім розробники KHTML заявили, що вони дуже негативно ставляться до прийняття змін коду з WebKit, та назвали відносини між двома гілками проекту «великою невдачею»[5], бо Apple відправляла свої зміни до коду з поганою документацією. Розробникам KDE було дуже складно інтегрувати цей код до KHTML. До того ж, Apple вимагала від розробників приймати угоди про нерозголошення перед тим, як подивитися код, та не давала доступу до бази даних помилок.
Під час процесу «розлучення», один з розробників KDE опублікував статтю, що у KHTML була забезпечена підтримка деяких досягнень Safari, що KDE високо оцінює досягнення Safari та буде впроваджувати зміни від Apple в KHTML і надалі. Після цієї статті компанія з Купертіно розпочала обговорення того, як будувати взаємовідносини з KDE у майбутньому.[6]
Apple виклала код WebKit у своєму репозиторію CVS. З цього моменту розробники від Apple та від KHTML почали більш активно працювати разом. Багато з розробників KHTML стали брати участь у WebKit.
WebKit2
WebKit2 був анонсований 8 квітня 2010. WebKit2 був розроблений з нуля. Головна особливість: різні види веб-змісту працюють у різних процесах. Наразі, WebKit2 доступний для Mac та Windows.[7]
13 лютого 2013 року Opera Software заявила про приєднання до розробок на базі WebKit[8].
Форки
3 квітня компанія Google заявила, що зробить форк WebKit із назвою Blink, наразі цей рушій використовується у браузері Chrome (версія 28 і вище) та Opera (15 і вище).
Використання
WebKit використовується як рушій виведення у Safari для Windows, Mac OS X та iOS. Інші програми у Mac OS X можуть використовувати WebKit, наприклад програма Mail, клієнт електронної пошти.
Також на базі WebKit побудовані браузер Google Chrome (до версії 28), браузер в ОС Android та інші.
Портовані версії
Компанія Nokia портувала WebKit для свого браузеру, для операційної системи Symbian S60. Компанія Apple портувала WebKit для операційної системи iOS, що працює на телефонах iPhone, планшеті iPad та плеєрі iPod Touch.
WebKit був портований на велику кількість фреймворків, які підтримують багатоплатформність. Наприклад: GTK+, Qt.
WebKitGTK+ — порт браузерного рушія для платформи GTK. WebKitGTK дозволяє використати усі можливості WebKit через GNOME-орієнтований програмний інтерфейс на основі GObject і може застосовуватися для інтеграції засобів обробки веб-контенту у будь-які застосування, від використання в спеціалізованих HTML/CSS-парсерах, до створення повнофункціональних веб-браузерів. З відомих проектів, що використовують WebKitGTK, можна відмітити Midori і штатний браузер GNOME Epiphany.
Компоненти
WebCore
WebCore — це бібліотека, що відповідає за вивід, рендерінг, та об'єктну модель документу для HTML та SVG. Код бібліотеки виданий за під LGPL (GNU Lesser General Public License). WebKit «обгортає» WebCore і JavaScriptCore, які написані на C++, програмним інтерфейсом для Objective-C.
WebKit проходить тесті Acid2 та Acid3, з відмінним рендерінгом на рекомендованому обладнанні.[9]
JavaScriptCore
JavaScriptCore — це фреймворк, що реалізує JavaScript-рушій для WebKit. JavaScriptCore був створений на базі KJS та (бібліотека для роботи з регулярними виразами). З часу створення форку, JavaScriptCore збільшив свою функціональність та швидкість роботи.[10] 2 червня 2008 був анонсований переписаний JavaScriptCore під назвою «SquirrelFish», інтерпретатор байткоду. Цей проект еволюціонував до SquirrelFish Extreme (або просто SFX), анонсований 18 вересня 2008. SFX компілює JavaScript у нативний машинний код, не потребуючи інтерпретатору і таким чином прискорюючий виконання JavaScript.
Drosera
Drosera — це зневаджувач для JavaScript, який входить до складу нічних збірок WebKit.
SunSpider
Бенчмарк, який вимірює продуктивність JavaScript на типових запитах, як то маніпуляції з текстом, шифрування.
Програми, що використовують WebKit
- Chromium, браузер з відкритим сирцевим кодом, використовував WebKit до переходу на власний форк рушія Blink
- CoolNovo - веб-браузер компанії Maple Studios, що розширює можливості Google Chrome.
- Comodo Dragon - веб-браузер компанії Comodo Group, з посиленим захистом конфіденційних даних
- Google Chrome - веб-браузер компанії Google, створений на базі проекту Chromium
- SRWare Iron - веб-браузер компанії SRWare, випущені у зв'язку з тим, що Google Chrome відправляє компанії Google відомості про користувача
- Інтернет@mail.ru - веб-браузер Mail.ru (раніше Хром@mail.ru).
- Рамблер Ніхром - веб-браузер Рамблера
- Яндекс.Браузер - веб-браузер Яндекса (раніше Яндекс Хром).
- Safari - веб-браузер від Apple для Mac OS
- ICab - веб-браузер для Mac OS X
- Мобільні платформи для смартфон ів і інтернет-планшет ів:
- Epiphany - веб-браузер для середовища робочого столу GNOME
- Adobe Integrated Runtime (AIR) - платформо-незалежна середовище для запуску додатків
- Arora - веб-браузер, заснований на Qt 4
- Bolt Browser - веб-браузер на java для мобільних пристроїв
- Iris Browser - веб-браузер для Windows Mobile
- Dolfin - стандартний браузер в ОС Bada
- Konqueror - заснований на KHTML і WebKit веб-браузер і файловий менеджер, що входить до складу KDE 4
- LeechCraft - вільна кроссплатформенная модульні робоче середовище, що включає в себе браузер, IM-клієнт , аудіоплеєр, клієнт для читання стрічок новин, BitTorrent-клієнт і інші модулі
- 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 використовується для відтворення повідомлень.
- Luakit - мінімалістичний веб-браузер, що нагадує Firefox з увімкненим розширенням Vimperator.
Див. також
Виноски
- ↑ Release 611.3.10.1.18 — 2023.
- ↑ Open Source - WebKit. Apple. Архів оригіналу за 7 липня 2013. Процитовано 5 березня 2009.
- ↑ Maciej Stachowiak (9 листопада 2008). Companies and Organizations that have contributed to WebKit. WebKit Wiki. Архів оригіналу за 7 липня 2013. Процитовано 17 листопада 2008.
- ↑ KDE KFM-Devel mailing list «(fwd) Greetings from the Safari team at Apple Computer», January 7, 2003.
- ↑ The bitter failure named "safari and khtml"
- ↑ WebCore - KHTML - Firefox: Know your facts!
- ↑ Announcing WebKit2. Webkit.org. Процитовано 27 грудня 2010.
- ↑ Opera перейде на WebKit, рушій Presto залишиться в минулому (рос.)
- ↑ Maciej Stachowiak (25 вересня 2008). Full Pass Of Acid3. Surfin' Safari - The WebKit Blog. Архів оригіналу за 7 липня 2013. Процитовано 29 вересня 2008.
- ↑ The Great Browser JavaScript Showdown. 19 грудня 2007. Архів оригіналу за 7 липня 2013.