Полифил (енгл. Polyfill) је термин у развоју интернет софтвера за код који пружа функционалности које недостају неком интернет прегледачу. Обично се такав код користи да надомести функционалности које већина прегледача имплементира, а које могу недостајати неким старијим верзијама. Овим се осигурава уједначено понашање веб странице на ширем спектру прегледача. На пример, старија издања Интернет експлорер-а нису подржавала многе могућности ХТМЛ5 стандарда, али су их странице могле користити уколико би инсталисале одговарајући полифил. Сличан је појам подлошке (енгл. shim), чије значење може обухватати полифил у зависности од дефиниције.[1]

Порекло термина

уреди

Термин је осмислио Реми Шарп (енгл. Remy Sharp) 2009. године радећи на књизи 'Интродуцинг ХТМЛ5' да опише средство које ће "Џаваскриптом (или Фласх-ом или какогод) симулирати неки АПИ уколико овај није садржан у прегледачу"[2].

Шарп је сковао овај термин по аналогији са гипсом за равнање зидова (Полyфилла је бренд гипса у Уједињеном Краљевству), јер полифил дискретно надомешћује недостатке у функционалности претраживача као што гипс попуњава рупе у зиду. Префикс 'полy-' се такође може односити на разноликост техника које се могу користити да се ово постигне (полy- је чест префикс у енглеским неологизмима грчког порекла који значи многострукост). Термин се раширио нашавши су у документационим странама Модернизр АПИ-ја и пошто га је употребио програмер Пол Ајриш (енгл. Paul Irish) у својој презентацији.

Сврха

уреди

Полифили омогућавају исправку грешака у датом АПИ-ју претраживача или додавање интерфејса који у потпуности недостају. Обично се полифил учитава уколико је примећено да претраживач не подржава потребан АПИ, овиме се постиже да остатак кода може бити писан као да је тај АПИ нормално подржан. За разлику од подлошке, полифил треба бити неприметан те не стварати додатне зависности, односно може се лако одстранити једном када више не буде потребан.

Примери

уреди
хтмл5схив
У верзијама ИЕ-а пре девете, непознати елементи попут <сецтион> и <нав> бивали су прочитани као празни елементи и нису се дали дотерати помоћу ЦСС-а јер су разбијали угњежђеност документа. Један од најкоришћенијих полифила, хтмл5схив је користио специфичност ИЕ-а да заобиђе овај баг: позивао је document.createElement("tagname") за сваки неподржани ХТМЛ5 елемент, што је омогућавало њихово нормално парсирање и стилизовање.
-префиx-фрее
Овај полифил не дограђује могућности застарелих као већина, већ унапређује савремене претраживаче. Омогућава препознавање ЦСС3 својстава назначених без префикса који се односи на специфичан претраживач и додаје исти у зависности од препознатог тренутног претраживача.
Селецтивизр
Селецтивизр је популаран полифил који омогућава функционисање многих ЦСС3 селектора у ИЕ-у 8 и испод, ради тако што налази познате неподржане селекторе и затим убацује тражене стилске измене у сваки појединачни елемент који је захваћен селектором. Подржава и неке додатне Џаваскрипт селекторске библииотеке као што је ЈQуерy.
ЦСС3 ПИЕ
ПИЕ ("Прогрессиве Интернет Еxплорер") имплементира популарне ЦСС3 украсе квадрата који недостају у старим верзијама ИЕ-а, као што су бордер-радиус, боx-схадоw као и линеар-градиент. Имплементиран је преко ХТЦ понашања и користи ВМЛ за ИЕ 6-8 и СВГ за ИЕ 9.
ес5-схим
Пето издање ЕЦМАСцрипт-а је донело нове методе у стандард који су синтактички компатибилни са старијим Џаваскрипт имплементацијама те се већма могу додати полифиловима. За ово постоје две библиотеке: е5-схим.јс за методе који се могу у потпуности реализовати овако, и ес5-схам.јс која садржи делимичне имплементације за методе који исувише зависе од нижих слојева.
ФласхЦанвас
ФласхЦанвас је имплементација ХТМЛ5 Цанвал АПИ-ја помоћу Фласх-а. Овај полифил је комерцијалан за разлику од већине и има бесплатну и плаћену варијанту.
МедиаЕлемент.јс
Омогућава подршку за <video> и <audio> елементе, укључујући ХТМЛ5 МедиаЕлемент АПИ, помоћу Фласх или Силверлигхт плагинова. Омогућава и опциони медиа плејер УИ за те елементе, који је исти у свим претраживачима.
Wебсхимс Либ
Скуп многих засебних полифила који учитава само оне који су потребни за дати претраживач.

Извори

уреди
  1. ^ „Модернизр Доцументатион”. Приступљено 31. Мај 2015.  Проверите вредност парамет(а)ра за датум: |аццесс-дате= (помоћ)(језик: енглески)
  2. ^ Шарп, Реми. „Wхат ис а полyфилл?”. Приступљено 31. Мај 2015.  Проверите вредност парамет(а)ра за датум: |аццесс-дате= (помоћ)(језик: енглески)

Спољашње везе

уреди