Веб-кит

Из Википедије, слободне енциклопедије
Иди на навигацију Иди на претрагу
Веб-кит
Првобитни
аутор(и)
Епл, Адоб и други
Тип Распоређивачка машина
Лиценца BSD лиценца 2.0,
ГНУ нижа генерална јавна лиценца
Веб-сајт www.webkit.org

Веб-кит је софтверска компонента распоређивачке машине за рендеровање веб-страница у прегледачима веба. Он је темељ Епловог Сафари веб-прегледача, а форк тог пројекта се користи и од стране Гугл хрома.

Веб-кит такође чини основу за експериментални прегледач који је укључен са Амазоновим Киндл читачем електронских књига, као и основни прегледач у Епловом иОС-у, БлекБери прегледачу у OС6 и новијим верзијама, као и Титен мобилним оперативним системима. Веб-китов C++ интерфејс за програмирање апликација обезбеђује сет класа за приказ веб-садржаја у прозору и имплементира особине као што су отварање линкова приликом клика корисника, те управљање назад-напред листама и историјом недавно посећених страница.

Веб-китов HTML и ЈаваСкрипт код су оригинално били форк КХТМЛ-а и КЈС библиотека из КДЕ и данас су даље развијени од стране индивидуалаца из КДЕ, Епла, Гугла, Нокије, Битстрима, БлекБери, Игалиа и других. Пројекат је подржао ОС Икс, Виндоус, Линукс и осталих оперативних система налик Јуниксу. Дана 3. 4. 2013. Гугл је објавио да је искористио форк Веб-кора, компоненте Веб-кита и да ће убудуће бити коришћен у будућим вертијама Гугл хрома и Опере под именом Блинк.

Веб-кит је доступан под BSD-форм лиценцом са изузетком Веб-кора и ЈаваСкрипт кора који су доступни под ГНУ нижом јавном лиценцом. Од 7. 3. 2013. Веб-кит је Еплов заштитни знак, регистрован код Америчке канцеларије за патенте и заштитне знаке.

Порекло[уреди]

Код који је постао Веб-кит је започет 1998. године као КДЕ-ов HTML распоређивачке машине КХТМЛ и КДЕ-ов ЈаваСкрипт енџин (КЈС). Мелтон је у свом мејлу КДЕ дивелоперима објаснио да КГНУ и КЈС дозвољавају лакши развој од других доступних технологија због своје мале величине (мање од 140 000 линија кода), јасно дизајнираних и standards-compliant. КХТМЛ и КЈС су портовани у ОС Икс уз помоћ адаптерске библиотеке и преименовани у Веб Кор и ЈаваСкрипт Кор. ЈаваСкрипт Кор је најављен у мејлу КДЕ мејлинг листи у Јуну 2002. упоредо са првим издањем Еплових измена. Веб Кор је на МекВорлд Експо у јануару 2003. најавио генерални директор Епла Стив Џобс приликом издавања Сафари веб прегледача. ЈаваСкрипт Кор је први пут укључен у Mac OS X 10.2 као приватно окружење за рад који је Епл користио у својој Шерлок апликацији, док је Веб Кор дебитовао са првом бета верзијом Сафари прегледача. Mac OS X 10.3 је био прво веће издање Епловог оперативног система спојен са Веб-китом иако је пре тога био спојен са мањим издањем 10.2.

Према Епл]у, неке промене укључују особине специфичне за ОС Икс (нпр. Обџектив C, КДаблјуКју, ОС Икс позиве) који су одсутни у КДЕ-овом КХТМЛ-у који је тражио друге програмерске тактике.

Подељени развој[уреди]

Размена кодова између Веб Кора и КХТМЛ-a је била све тежа како се база кода мењала јер су оба пројекта имала другачије приступе кодирању и дељењу кода. У једном тренутку КХТМЛ девелопери су рекли да највероватније неце да прихвате Еплове промене и тврдили да је сарадња између ове две групе велик промашај. Епл је предао њихове измене у великим печвима који су садржали велики број измена са неадекватном докментацијом, што ће постати уобичајено у будућим додацима. Иако су ови печеви били тешки КДЕ девелоперима за интеграцију у КХТМЛ. Даље, Епл је тражио да девелопери потпишу "необјављујући" уговор пре гледања Еплових изворних кодова и чак тада нису могли да приступе Епловој бази багова.

Током званичног периода "развода" КДЕ девелопер Курт Фајфл је објавио чланак у ком је тврдио да су КХТМЛ девелопери успели да бекпортују многа али не и све Сафари побољшања из Веб Кора у КХТМЛ, и да су увек ценили побољшања која су долазила из Епла и да је тако и дан данас. Чланак је такође тврдио да је Епл почео да контактира КХТМЛ девелопере због дискусије о побољшању њихове садашње и будуће сарадње. Заправо, пројекат је могао да укључи неке од ових промена да побољша КХТМЛ-ову брзину рендеровања и дода неке особине, укључујући сагласност са Ецид2 тестом за рендеровање.

Од како се прича о форку појавила у вестима, Епл је избацио промене у изворни коду Веб-кит у складишту јавне ревизионе контроле. Од пребацивања изворног кода у јавно ЦВС складиште, Епл и КХТМЛ девелопери су повећали сарадњу. Многи КХТМЛ девелопери су постали рецентенти и подносиоци за Веб-китово складиште ревизионе контроле.

Веб-китов тим је такође преокренуо многе Еплове промене у оригиналној Веб-кит кодној бази и имплементира апстракционе слојеве за специфичну платформу како би извршавање кода за рендеровање других платформа било значајно лакше.

У јулу 2007. Арс Техника је пријавио да ће КДЕ-ов тим прећи са КХТМЛ-а на Веб-кит. Уместо тога, након неколико година интеграције, КДЕ развојна платформа верзија 4.5.0.је издата у августу 2010 са подршком и Веб-кита и КХТМЛ-а и развој КХТМЛ-а је настављен.

Отворен код[уреди]

7. 6. 2005. Сафари девелопер Дејв Хајат је објавио на свом блогу да ће Епл доставити отворен код Веб-кита (пре тога су само Веб Кор и ЈаваСкрипт Кор били отвореног кода) и остварити приступ Веб-китовом дрвету ревизионе контрике и трагачу проблема. Ово је објавио Еплов старији потпредседник софтверског инжењерства, Бертранд Серлет, на Епловој Светској Конференцији Девелопера 2005.

Средином децембра 2005, подршка за Прилагодљиву векторску графику је био укључен у стандардну грађу и већ почетком јануара 2006 изворни код је премештен са ЦВС на Субвержн(СВН).

Компоненте Веб-китових ЈаваСкрипт Кора и Веб Кора су доступне под ГНУ нижом генералном јавном лиценцом, док је остатак Веб-кита доступан под BSD-стајл лиценцом.

Даљи развој[уреди]

Почевши од ране 2007. године, развојни тим почиње да имплементира Каскејдинг Стајл Шитс (CSS) екстензије, укључујући и анимације, прелазе и 2Д и 3Д трансформације; такве екстензије су објављене као радни нацрти у 2009. који треба да буду стандардизовани од стране Врлд Вајд Веб консортијума (В3Ц).

У новембру 2007. пројекат је објавио да је успешно урадио подршку за медијске особине HTML5 нацртне спецификације, што дозвољава да уграђени видео буде рендерован и Скрипт-контролисан у Веб-киту.

Другог јуна 2008. године Веб-кит пројекат је објавио да су преписали ЈаваСкрипт Кор као "СквирелФиш" бајт код интерпретатор. Пројекат је еволуирао у СквирелФиш Extreme (СФИкс), објављен 18. септембра 2008, који компилира ЈаваСкрипт у изворни машински код, на тај начин елиминишући потребу за бајткод интерпретатором и убрзавајући извршавање ЈаваСкрипт-а. У почетку, једина подржана архитектура за СФИкс је била x86 архитектура, али на крају јануара 2009. СФИкс је омогућен за ОС Икс на x86-64 архитектури, пошто је пролазио све тестова на тој платформи.

Веб-кит 2[уреди]

Пројекат редизајнирања Веб-кита је најављен 8. априла ,2010 под називом Веб-кит 2. Циљ Веб-кита 2 су абстракција компоненти која омогућавају веб рендеровање из њиховог окружујућег интерфејса или шела апликације, стварајући ситуацију где „веб садржај(ЈаваСкрипт,HTML, распоређивач итд) живи у одвојеном процесу од процеса корисничког интерфејса апликациј. Ова апстракција је намеравала да Веб-кит 2 преузме мало директнији приступ процесима него Веб-кит. Веб-кит 2 има „некомпатабилну АПИ промену у односу на оригинални Веб-кит што је мотивисало промену у имену.

Веб-кит 2 је намењен Меку, Виндоусу, ГТК+у и МееГо-Харматану. Сафари за ОС Икс је прешао на нови АПИ са верзијом 5.1. Сафари за иОС је прешао на Веб-кит 2 од верзије 8.

Употреба[уреди]

Удео употребе веб прегледача према Стат Каунтеру

Веб-кит се користи као рендеринг енџин унунтар Сафари-а и претходно је био коришћен од стране Гугл Хрома на виндоусу, ОС Икс-у, иОС-у и андроиду(Хром је користио само ВебКор, а такође је имплементирао свој сопствени Јава енџин и мулти процесни систем). Друге апликације на ОС Икс такође користе Веб-кит, као на пример еплов е-мејл клијент Мејл и 2008 верзија Мајкрософт пратећег менаџера, где обе користе Веб-кит за рендеровање е-мејл порука са HTML садржајем.

Инсталирана основа[уреди]

Нови прегледаци веба су направљени на основу Веб-кит-а као на пример С60 прегледач на Симбијан телефонима, БлекБери прегледач (од верзије 6.0), Мидори, Хром прегледач, Андроид прегледач и прегледач коришћена на ПлејСтејшн 3 системском софтверу од верзије 4.1.0. КДЕ-ов Реконк и Плазма Воркспејс га такође користе као примарни веб рендеринг енџин. Веб-кит је прихваћен и као рендеринг енџин за ОмниВеб, иКеб и Веб(раније познат као Епифани) и Слипнир, замењујући њихове претходне енџине. Гном-ов Веб је једно време подржавао и Веб-кит и Геко, али је тим одлучио да је због Гековог циклуса издавања и плана развоја превише проблематично настављање подршке. ВебОС користи Веб-кит као основу свог апликационог рантајма. Најновији интерфејс Валвовог Стим-а користи Веб-кит за рендеровање свог интерфејса и уграђеног прегледача. Веб-кит се користи за рендеровање HTML-а и покретање ЈаваСкрипта у Адобовој интегрисаној рантајм платформи за апликације. У Адобе Криејтив Суит-у ЦС5, Веб-кит се користи за рендеровање неких делова корисничког интерфејса. У првој половини 2010. Године аналитичари су проценили да је укупун број мобилних уређаја са прегледацима заснованим на Веб-киту око 350 милиона, До средине Априла 2015. Године Веб-кит је заузимао 50,3 % тржишта што је више него свих 5 великих браузер енџина заједно.

Портови[уреди]

Недељу дана након Хјатове изјаве о пребацивању Веб-кита под Опен-сорс , Нокиа је најавила да је портовала Веб-кит на Симбиан оперативни систем и да развија прегледач заснован на њему за мобилне телефоне које покрећу С60. Веб прегледач за С60 коришћен је на Нокиа, Самсонг, ЛГ и другим Симбиан С60 телефонима. Епл је такође портовао Веб-кит на иОС, где је коришћен за рендеровање садржаја у оквиру веб прегледача и е-мејл софтвера на ајфон, ајпед и ајпод тач уређајима. Андроид платформа је користила Веб-кит (касније и његов форк Блинк) као основу за свој веб прегледач, а Палм При је најавио 2009. да је конструисао интерфеј базиран на Веб-киту. Амазон Киндл 3 садржи експириментални прегледач базиран на Веб-киту.

У јуну 2007, Епл је најавио да је Веб-кит портован на Мајкрософт Виндоус као део Сафари-а. Веб-кит је такође портован на неколико Тул-китова који подржавају различите платформе, као што су ГТК+ тул-кит, Кјути окружење за рад , Адоб инегретед рантајм, Енлајтмент Фондејшн Лајбрерис(ЕФЛ), и Клутер тулкит. Кјути софтвер садржи Кјути порт у 4.4 издању. Кјути порт Веб-кита је такође доступан за употребу у Конкверору од верзије 4.1. Ирис прегледач на Кјутију такође користи Веб-кит. ЕФЛ порт је под развојем(од стране Самуснга и ПроФјужна) са циљем употребе за станд-алон прегледаче, геџете, виџете, рич текст прегледаче. Клутер порт развијају Колабора а спонзорише Бош.

Постоји пројекат повезан са Веб-китом под називом Ориџин Веб Прегледач, који омогућава мета-портовање на апстрактној платформи са циљем олакшавања портовања. Овакав порт се користи на сет-топ боксевима, ПМП и портован је на АмигаОС, АРОС и МорфОС. МорфОС 1.7 је први имао Оригин који је подржавао HTML5 медиа тагове.

Форк[уреди]

Априла 3, 2013. Гугл је најавио да ће произвести форк Веб-китове ВебКор компоненте под нзивом Блинк. Хроме девелопери су одлучили да форкују Веб-кит како би омогућили већу слободу у имплементацији ВебКор особина у прегледачу без изазивања конфликата, а такође би и омогућио поједностављивање кода који није потребан Хрому. У вези са изјавом Опера веб прегледача да ће се до краја године пребацити на Веб-кит Кромиум базу, такође је било потврђено да ће се Опера такође пребацити на Блинк. Пратећи ову изјаву, Веб-кит девелопери су започели дискусију о уклањању кода специфичног за Хром из енџина како би га учинили генерално удобнијим за коришћење.

Компоненте[уреди]

ВебКор[уреди]

ВебКор је распоређивач, рендеринг и модел објекта документа(ДОМ) библиотека за HTML и СВГ, развијен у оквиру Веб-кит пројекта. Његов комплетан изворни код је лиценциран под ГНУ нижом генералном јавном лиценцом (ЛГПЛ). Веб-китово окружење за рад саставља ВебКор и ЈаваСкриптКор, омогућавајући Обџектив C програмски интерфејс C++ базираном ВебКор-овом рендеринг енџину и ЈаваСкриптКор-овом скрипт енџину, дозвољавајући им да буду лако референцирани од стране апликација базираним на Кокоа АПИ; касније верзије такође садрже и крос-платформску C++ абстракцију.

Веб-кит је прошао Ацид 2 и Ацид 3 тестове са савршеним пиксел рендерингом и без проблема са тајмингом или смутнесом на реферисаном хардверу.

ЈаваСкриптКор[уреди]

ЈаваСкриптКор је окружење за рад који омогућава ЈаваСкрипт енџин Веб-кит имплементацијама, а омогућава врсте скриптовања у неким другим контекстима унутар ОС Икс-а. ЈаваСкриптКор је оригинално изведен из КДЕ-овог ЈаваСкрипт енџин (КЈС) библиотеке и PCРЕ регуларне експрешн библиотеке. Од форковања из КЈС и PCРЕ, ЈаваСкриптКор је унапређиван са многим новим опцијама и великим побољшањем у преформансама.

Јуна 2, 2008. Веб-кит пројекат је изјавио да је преписао ЈаваСкриптКор као „СквирелФиш“, биткод интерпретатор. Пројекат је прерастао у СквирелФиш икстрим, најављен 18. септембра ,2008 који компајлује ЈаваСкрипт у машински код, и тиме је елеминисао потребу за ЈаваСкрипт интерпретатором.

Оптимизација ЈИТ компајлера названа ФТЛ је најављена маја 13, 2014. Она користи ЛЛВМ за генерисанје оптимизованог машинског кода.

Референце[уреди]

Спољашње везе[уреди]