WebKit — рушій виведення для вебсторінок. На базі WebKit працюють браузери Apple Safari, Google Chrome (до версії 28) та інші. WebKit забезпечує набір класів для виведення вебінформації у вікнах та реалізує функції браузера, такі як механізм гіперпосилань і управління історією відвіданих сторінок.
Тип | рушій виведення |
---|---|
Розробники | Apple, KDE, Nokia, Google, RIM, Palm, Samsung, та інші |
Стабільний випуск | 534 |
Версії | 611.3.10.1.18 (10 лютого 2023)[1] |
Нестабільний випуск | 534.10 (8 жовтня 2010 ) |
Операційна система | Багатоплатформне ПЗ |
Мова програмування | |
Ліцензія | більша частина коду викладена під GNU LGPL, інша під BSD-подібними ліцензіями |
Репозиторій | github.com/WebKit/WebKit |
Вебсайт | webkit.org |
|
Спочатку рушій був створений як форк від KHTML та використовувався компанією Apple у своєму браузері Safari. WebKit портується на багато платформ, зокрема зараз він підтримується у Windows та Linux.
Такі частини WebKit, як WebCore та JavaScriptCore, доступні під ліцензією GNU LGPL, а інші під BSD-подібними ліцензіями.
Історія
Із самого початку компанія Apple створила WebKit на базі бібліотеки KHTML браузера Konqueror для використання як рушія для Safari у системі Mac OS X. Зараз рушій розроблюють деякі учасники проєкту KDE, спеціалісти компаній: Apple Inc., Nokia, Google та інших.
Початок
Код, який згодом став WebKit'ом, з'явився у 1998 році як проєкт KDE зі створення рушія виведення вебсторінок, це були KHTML та KJS (KDE's JavaScript Engine). Ім'я WebKit з'явилося у 2002 році, коли Apple створила форк KHTML та KJS. Спеціалісти з Apple написали розробникам KDE листа, у якому пояснили, чому вибрали саме їхній проєкт. У листі йшлося, що ці рушії дозволяють зручно вести розробку, бо є дуже малими за об'ємом коду (менш ніж 144 000 рядків коду), зрозуміло сконструйованими та відповідають стандартам. KHTML та KJS були портовані на Mac OS X та перейменовані на WebCore та JavaScriptCore, відповідно. WebCore було анонсовано на Macworld Expo у січні 2003 року Стівом Джобсом, CEO Apple, разом із релізом браузера Safari. JavaScriptCore був вперше використаний пізніше, у Mac OS X 10.2, як зачинений фреймворк разом із програмою .
Спільна розробка
Компанія Apple внесла до проєкту WebKit великі зміни, бо мала різні підходи до програмування зі спільнотою KDE. Але KDE використовувало код WebKit, щоб збільшити швидкість рендерингу у KHTML та запровадити деякі нові функції (зокрема, щоб проходити тест Acid2).
Але потім розробники KHTML заявили, що вони дуже негативно ставляться до прийняття змін коду з WebKit, та назвали відносини між двома гілками проєкту «великою невдачею», бо Apple відправляла свої зміни до коду з поганою документацією. Розробникам KDE було дуже складно інтегрувати цей код до KHTML. До того ж Apple вимагала від розробників приймати угоди про нерозголошення перед тим, як подивитися код, та не давала доступу до бази даних помилок.
Під час процесу «розлучення» один з розробників KDE опублікував статтю, що у KHTML була забезпечена підтримка деяких досягнень Safari, що KDE високо оцінює досягнення Safari та буде впроваджувати зміни від Apple в KHTML і надалі. Після цієї статті компанія з Купертіно розпочала обговорення того, як будувати взаємовідносини з KDE у майбутньому.
Apple виклала код WebKit у своєму репозиторію CVS. З цього моменту розробники від Apple та від KHTML почали більш активно працювати разом. Багато з розробників KHTML стали брати участь у WebKit.
WebKit2
WebKit2 був анонсований 8 квітня 2010 року. WebKit2 був розроблений з нуля. Головна особливість: різні види вебзмісту працюють у різних процесах. Наразі WebKit2 доступний для Mac та Windows.
13 лютого 2013 року Opera Software заявила про приєднання до розробок на базі WebKit.
Форки
3 квітня 2013 року компанія Google заявила, що зробить форк WebKit із назвою Blink, наразі цей рушій використовується у браузері Google 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 був портований на велику кількість фреймворків, які підтримують багатоплатформність. Наприклад: , Qt.
WebKitGTK+ — порт браузерного рушія для платформи GTK. WebKitGTK дозволяє використати усі можливості WebKit через GNOME-орієнтований програмний інтерфейс на основі і може застосовуватися для інтеграції засобів обробки вебконтенту у будь-які застосування, від використання в спеціалізованих HTML/CSS-парсерах, до створення повнофункціональних веббраузерів. З відомих проєктів, що використовують WebKitGTK, можна відзначити Midori і штатний браузер GNOME Epiphany.
Компоненти
WebCore
WebCore — це бібліотека, що відповідає за вивід, рендеринг та об'єктну модель документа для HTML і SVG. Код бібліотеки виданий за під LGPL (GNU Lesser General Public License). WebKit «обгортає» WebCore і JavaScriptCore, які написані на , програмним інтерфейсом для Objective-C.
WebKit проходить тести Acid2 та Acid3 з відмінним рендерингом на рекомендованому обладнанні.
JavaScriptCore
JavaScriptCore — це фреймворк, що реалізує JavaScript-рушій для WebKit. JavaScriptCore був створений на базі та (бібліотека для роботи з регулярними виразами). З часу створення форку JavaScriptCore збільшив свою функціональність та швидкість роботи. 2 червня 2008 року був анонсований переписаний JavaScriptCore під назвою «SquirrelFish», інтерпретатор байткоду. Цей проєкт еволюціонував до SquirrelFish Extreme (або просто SFX), анонсований 18 вересня 2008 року. SFX компілює JavaScript у нативний машинний код, не потребуючи інтерпретатору, і таким чином прискорюючий виконання JavaScript.
Drosera
Drosera — це відлагоджувач для JavaScript, який входить до складу нічних збірок WebKit.
SunSpider
Бенчмарк, який вимірює продуктивність JavaScript на типових запитах, як то маніпуляції з текстом, шифрування.
Програми, що використовують WebKit
- Chromium, браузер з відкритим сирцевим кодом, використовував WebKit до переходу на власний форк рушія Blink
- — веббраузер компанії , що розширює можливості Google Chrome
- Comodo Dragon — веббраузер компанії Comodo Group, з посиленим захистом конфіденційних даних
- Google Chrome — веббраузер компанії Google, створений на базі проєкту Chromium
- SRWare Iron — веббраузер компанії SRWare, випущений у зв'язку з тим, що Google Chrome відправляє компанії Google відомості про користувача
- — веббраузер Mail.ru (раніше ).
- — веббраузер Рамблера
- Яндекс.Браузер — веббраузер Яндекса (раніше ).
- Safari — веббраузер від Apple для Mac OS
- — веббраузер для Mac OS X
- Мобільні платформи для смартфонів і інтернет-планшетів:
- Epiphany — веббраузер для середовища робочого столу GNOME
- Adobe Integrated Runtime (AIR) — платформо-незалежне середовище для запуску додатків
- Arora — веббраузер, заснований на Qt 4
- — веббраузер на java для мобільних пристроїв
- Iris Browser — веббраузер для Windows Mobile
- Dolfin — стандартний браузер в ОС Bada
- Konqueror — заснований на KHTML і WebKit веббраузер і файловий менеджер, що входить до складу KDE 4
- — вільне кросплатформне модульне робоче середовище, що включає в себе браузер, IM-клієнт, аудіоплеєр, клієнт для читання стрічок новин, BitTorrent-клієнт і інші модулі
- Maxthon 3 — веббраузер для Windows з можливістю перемикання рушія на Trident.
- Midori — веббраузер, заснований на Gtk. Планується включення до складу середовища робочого столу Xfce.
- Nokia Series 60 browser — веббраузер для мобільних телефонів
- OmniWeb — веббраузер для Mac OS X
- — веббраузер для Windows, заснований на Qt
- QupZilla — кросплатформенний веббраузер на Qt, добре інтегрований з призначеним для користувача оточенням робочого столу
- Rekonq — веббраузер, заснований на Nokia QtDemoBrowser
- RockMelt — соціальний браузер, що підтримує синхронізацію з Facebook і Twitter
- — веббраузер для Mac OS X
- Surf — простий веббраузер
- — веббраузер для Windows
- Adium — IM клієнт для Mac OS X
- QutIM — кросплатформенний IM клієнт
- — кросплатформенний Jabber клієнт, написаний на Qt
- — веббраузер для Unix-подібних систем з інтерфейсами, які підключаються у вигляді скриптів, які керують сторінкою, що відображає програми
- Steam — сервіс цифрової дистрибуції компанії Valve став використовувати рушій WebKit замість MS Trident, що дозволило значно збільшити продуктивність і поліпшити безпеку роботи, а також портувати програму на Mac OS X
- Yahoo! Messenger — програма миттєвого обміну повідомленнями, WebKit використовується для відтворення повідомлень
- — мінімалістичний веббраузер, що нагадує Firefox з увімкненим розширенням
Див. також
Виноски
- Release 611.3.10.1.18 — 2023.
- Open Source - WebKit. Apple. Архів оригіналу за 6 липня 2013. Процитовано 5 березня 2009.
- Maciej Stachowiak (9 листопада 2008). Companies and Organizations that have contributed to WebKit. WebKit Wiki. Архів оригіналу за 6 липня 2013. Процитовано 17 листопада 2008.
- KDE KFM-Devel mailing list «(fwd) Greetings from the Safari team at Apple Computer [ 29 листопада 2014 у Wayback Machine.]», January 7, 2003.
- . Архів оригіналу за 18 вересня 2010. Процитовано 15 лютого 2011.
- . Архів оригіналу за 10 лютого 2009. Процитовано 15 лютого 2011.
- . Webkit.org. Архів оригіналу за 8 травня 2020. Процитовано 27 грудня 2010.
- Opera перейде на WebKit, рушій Presto залишиться в минулому [ 18 лютого 2013 у Wayback Machine.] (рос.)
- Maciej Stachowiak (25 вересня 2008). Full Pass Of Acid3. Surfin' Safari - The WebKit Blog. Архів оригіналу за 6 липня 2013. Процитовано 29 вересня 2008.
- The Great Browser JavaScript Showdown. 19 грудня 2007. Архів оригіналу за 6 липня 2013. Процитовано 15 лютого 2011.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
WebKit rushij vivedennya dlya vebstorinok Na bazi WebKit pracyuyut brauzeri Apple Safari Google Chrome do versiyi 28 ta inshi WebKit zabezpechuye nabir klasiv dlya vivedennya vebinformaciyi u viknah ta realizuye funkciyi brauzera taki yak mehanizm giperposilan i upravlinnya istoriyeyu vidvidanih storinok WebKitWebKit LogoTiprushij vivedennyaRozrobnikiApple KDE Nokia Google RIM Palm Samsung ta inshiStabilnij vipusk534Versiyi611 3 10 1 18 10 lyutogo 2023 1 Nestabilnij vipusk534 10 8 zhovtnya 2010 13 rokiv tomu 2010 10 08 Operacijna sistemaBagatoplatformne PZMova programuvannyaS Licenziyabilsha chastina kodu vikladena pid GNU LGPL insha pid BSD podibnimi licenziyamiRepozitorijgithub com WebKit WebKitVebsajtwebkit org Mediafajli u Vikishovishi Spochatku rushij buv stvorenij yak fork vid KHTML ta vikoristovuvavsya kompaniyeyu Apple u svoyemu brauzeri Safari WebKit portuyetsya na bagato platform zokrema zaraz vin pidtrimuyetsya u Windows ta Linux Taki chastini WebKit yak WebCore ta JavaScriptCore dostupni pid licenziyeyu GNU LGPL a inshi pid BSD podibnimi licenziyami IstoriyaIz samogo pochatku kompaniya Apple stvorila WebKit na bazi biblioteki KHTML brauzera Konqueror dlya vikoristannya yak rushiya dlya Safari u sistemi Mac OS X Zaraz rushij rozroblyuyut deyaki uchasniki proyektu KDE specialisti kompanij Apple Inc Nokia Google ta inshih Pochatok Kod yakij zgodom stav WebKit om z yavivsya u 1998 roci yak proyekt KDE zi stvorennya rushiya vivedennya vebstorinok ce buli KHTML ta KJS KDE s JavaScript Engine Im ya WebKit z yavilosya u 2002 roci koli Apple stvorila fork KHTML ta KJS Specialisti z Apple napisali rozrobnikam KDE lista u yakomu poyasnili chomu vibrali same yihnij proyekt U listi jshlosya sho ci rushiyi dozvolyayut zruchno vesti rozrobku bo ye duzhe malimi za ob yemom kodu mensh nizh 144 000 ryadkiv kodu zrozumilo skonstrujovanimi ta vidpovidayut standartam KHTML ta KJS buli portovani na Mac OS X ta perejmenovani na WebCore ta JavaScriptCore vidpovidno WebCore bulo anonsovano na Macworld Expo u sichni 2003 roku Stivom Dzhobsom CEO Apple razom iz relizom brauzera Safari JavaScriptCore buv vpershe vikoristanij piznishe u Mac OS X 10 2 yak zachinenij frejmvork razom iz programoyu Spilna rozrobka Kompaniya Apple vnesla do proyektu WebKit veliki zmini bo mala rizni pidhodi do programuvannya zi spilnotoyu KDE Ale KDE vikoristovuvalo kod WebKit shob zbilshiti shvidkist renderingu u KHTML ta zaprovaditi deyaki novi funkciyi zokrema shob prohoditi test Acid2 Ale potim rozrobniki KHTML zayavili sho voni duzhe negativno stavlyatsya do prijnyattya zmin kodu z WebKit ta nazvali vidnosini mizh dvoma gilkami proyektu velikoyu nevdacheyu bo Apple vidpravlyala svoyi zmini do kodu z poganoyu dokumentaciyeyu Rozrobnikam KDE bulo duzhe skladno integruvati cej kod do KHTML Do togo zh Apple vimagala vid rozrobnikiv prijmati ugodi pro nerozgoloshennya pered tim yak podivitisya kod ta ne davala dostupu do bazi danih pomilok Pid chas procesu rozluchennya odin z rozrobnikiv KDE opublikuvav stattyu sho u KHTML bula zabezpechena pidtrimka deyakih dosyagnen Safari sho KDE visoko ocinyuye dosyagnennya Safari ta bude vprovadzhuvati zmini vid Apple v KHTML i nadali Pislya ciyeyi statti kompaniya z Kupertino rozpochala obgovorennya togo yak buduvati vzayemovidnosini z KDE u majbutnomu Apple viklala kod WebKit u svoyemu repozitoriyu CVS Z cogo momentu rozrobniki vid Apple ta vid KHTML pochali bilsh aktivno pracyuvati razom Bagato z rozrobnikiv KHTML stali brati uchast u WebKit WebKit2 WebKit2 buv anonsovanij 8 kvitnya 2010 roku WebKit2 buv rozroblenij z nulya Golovna osoblivist rizni vidi vebzmistu pracyuyut u riznih procesah Narazi WebKit2 dostupnij dlya Mac ta Windows 13 lyutogo 2013 roku Opera Software zayavila pro priyednannya do rozrobok na bazi WebKit Forki 3 kvitnya 2013 roku kompaniya Google zayavila sho zrobit fork WebKit iz nazvoyu Blink narazi cej rushij vikoristovuyetsya u brauzeri Google Chrome versiya 28 i vishe ta Opera 15 i vishe VikoristannyaWebKit vikoristovuyetsya yak rushij vivedennya u Safari dlya Windows Mac OS X ta iOS Inshi programi u Mac OS X mozhut vikoristovuvati WebKit napriklad programa Mail kliyent elektronnoyi poshti Takozh na bazi WebKit pobudovani brauzer Google Chrome do versiyi 28 brauzer v OS Android ta inshi Portovani versiyi Kompaniya Nokia portuvala WebKit dlya svogo brauzera v operacijnij sistemi Symbian S60 Kompaniya Apple portuvala WebKit dlya operacijnoyi sistemi iOS sho pracyuye na telefonah iPhone plansheti iPad ta pleyeri iPod Touch WebKit buv portovanij na veliku kilkist frejmvorkiv yaki pidtrimuyut bagatoplatformnist Napriklad GTK Qt WebKitGTK port brauzernogo rushiya dlya platformi GTK WebKitGTK dozvolyaye vikoristati usi mozhlivosti WebKit cherez GNOME oriyentovanij programnij interfejs na osnovi i mozhe zastosovuvatisya dlya integraciyi zasobiv obrobki vebkontentu u bud yaki zastosuvannya vid vikoristannya v specializovanih HTML CSS parserah do stvorennya povnofunkcionalnih vebbrauzeriv Z vidomih proyektiv sho vikoristovuyut WebKitGTK mozhna vidznachiti Midori i shtatnij brauzer GNOME Epiphany KomponentiWebCore WebCore ce biblioteka sho vidpovidaye za vivid rendering ta ob yektnu model dokumenta dlya HTML i SVG Kod biblioteki vidanij za pid LGPL GNU Lesser General Public License WebKit obgortaye WebCore i JavaScriptCore yaki napisani na C programnim interfejsom dlya Objective C WebKit prohodit testi Acid2 ta Acid3 z vidminnim renderingom na rekomendovanomu obladnanni JavaScriptCore JavaScriptCore ce frejmvork sho realizuye JavaScript rushij dlya WebKit JavaScriptCore buv stvorenij na bazi ta biblioteka dlya roboti z regulyarnimi virazami Z chasu stvorennya forku JavaScriptCore zbilshiv svoyu funkcionalnist ta shvidkist roboti 2 chervnya 2008 roku buv anonsovanij perepisanij JavaScriptCore pid nazvoyu SquirrelFish interpretator bajtkodu Cej proyekt evolyucionuvav do SquirrelFish Extreme abo prosto SFX anonsovanij 18 veresnya 2008 roku SFX kompilyuye JavaScript u nativnij mashinnij kod ne potrebuyuchi interpretatoru i takim chinom priskoryuyuchij vikonannya JavaScript Drosera Drosera ce vidlagodzhuvach dlya JavaScript yakij vhodit do skladu nichnih zbirok WebKit SunSpider Benchmark yakij vimiryuye produktivnist JavaScript na tipovih zapitah yak to manipulyaciyi z tekstom shifruvannya Programi sho vikoristovuyut WebKitChromium brauzer z vidkritim sircevim kodom vikoristovuvav WebKit do perehodu na vlasnij fork rushiya Blink vebbrauzer kompaniyi sho rozshiryuye mozhlivosti Google Chrome Comodo Dragon vebbrauzer kompaniyi Comodo Group z posilenim zahistom konfidencijnih danih Google Chrome vebbrauzer kompaniyi Google stvorenij na bazi proyektu Chromium SRWare Iron vebbrauzer kompaniyi SRWare vipushenij u zv yazku z tim sho Google Chrome vidpravlyaye kompaniyi Google vidomosti pro koristuvacha vebbrauzer Mail ru ranishe vebbrauzer Ramblera Yandeks Brauzer vebbrauzer Yandeksa ranishe Safari vebbrauzer vid Apple dlya Mac OS vebbrauzer dlya Mac OS X Mobilni platformi dlya smartfoniv i internet planshetiv Apple iOS platforma dlya mobilnih smartfoniv i internet planshetiv Google Android platforma dlya smartfoniv i internet planshetiv HP webOS platforma dlya smartfoniv i internet planshetiv Samsung Bada platforma dlya smartfoniv Epiphany vebbrauzer dlya seredovisha robochogo stolu GNOME Adobe Integrated Runtime AIR platformo nezalezhne seredovishe dlya zapusku dodatkiv Arora vebbrauzer zasnovanij na Qt 4 vebbrauzer na java dlya mobilnih pristroyiv Iris Browser vebbrauzer dlya Windows Mobile Dolfin standartnij brauzer v OS Bada Konqueror zasnovanij na KHTML i WebKit vebbrauzer i fajlovij menedzher sho vhodit do skladu KDE 4 vilne krosplatformne modulne roboche seredovishe sho vklyuchaye v sebe brauzer IM kliyent audiopleyer kliyent dlya chitannya strichok novin BitTorrent kliyent i inshi moduli Maxthon 3 vebbrauzer dlya Windows z mozhlivistyu peremikannya rushiya na Trident Midori vebbrauzer zasnovanij na Gtk Planuyetsya vklyuchennya do skladu seredovisha robochogo stolu Xfce Nokia Series 60 browser vebbrauzer dlya mobilnih telefoniv OmniWeb vebbrauzer dlya Mac OS X vebbrauzer dlya Windows zasnovanij na Qt QupZilla krosplatformennij vebbrauzer na Qt dobre integrovanij z priznachenim dlya koristuvacha otochennyam robochogo stolu Rekonq vebbrauzer zasnovanij na Nokia QtDemoBrowser RockMelt socialnij brauzer sho pidtrimuye sinhronizaciyu z Facebook i Twitter vebbrauzer dlya Mac OS X Surf prostij vebbrauzer vebbrauzer dlya Windows Adium IM kliyent dlya Mac OS X QutIM krosplatformennij IM kliyent krosplatformennij Jabber kliyent napisanij na Qt vebbrauzer dlya Unix podibnih sistem z interfejsami yaki pidklyuchayutsya u viglyadi skriptiv yaki keruyut storinkoyu sho vidobrazhaye programi Steam servis cifrovoyi distribuciyi kompaniyi Valve stav vikoristovuvati rushij WebKit zamist MS Trident sho dozvolilo znachno zbilshiti produktivnist i polipshiti bezpeku roboti a takozh portuvati programu na Mac OS X Yahoo Messenger programa mittyevogo obminu povidomlennyami WebKit vikoristovuyetsya dlya vidtvorennya povidomlen minimalistichnij vebbrauzer sho nagaduye Firefox z uvimknenim rozshirennyamDiv takozhBrauzernij rushijVinoskiRelease 611 3 10 1 18 2023 Open Source WebKit Apple Arhiv originalu za 6 lipnya 2013 Procitovano 5 bereznya 2009 Maciej Stachowiak 9 listopada 2008 Companies and Organizations that have contributed to WebKit WebKit Wiki Arhiv originalu za 6 lipnya 2013 Procitovano 17 listopada 2008 KDE KFM Devel mailing list fwd Greetings from the Safari team at Apple Computer 29 listopada 2014 u Wayback Machine January 7 2003 Arhiv originalu za 18 veresnya 2010 Procitovano 15 lyutogo 2011 Arhiv originalu za 10 lyutogo 2009 Procitovano 15 lyutogo 2011 Webkit org Arhiv originalu za 8 travnya 2020 Procitovano 27 grudnya 2010 Opera perejde na WebKit rushij Presto zalishitsya v minulomu 18 lyutogo 2013 u Wayback Machine ros Maciej Stachowiak 25 veresnya 2008 Full Pass Of Acid3 Surfin Safari The WebKit Blog Arhiv originalu za 6 lipnya 2013 Procitovano 29 veresnya 2008 The Great Browser JavaScript Showdown 19 grudnya 2007 Arhiv originalu za 6 lipnya 2013 Procitovano 15 lyutogo 2011