Поліфіл
Поліфіл (англ. Polyfill) у вебпрограмуванні — це код, який реалізує деякий функціонал, що не підтримується у якихось версіях веббраузерів за умовчанням. Зазвичай це бібліотека JavaScript, яка реалізує підтримку вебстандарту HTML5 у версіях браузерів, де за умовчанням підтримка цих функцій частково або повністю відсутня. Це забезпечує більш-менш однакове відображення вебсторінок в різних браузерах[1].
Термін придумав Ремі Шарп (англ. Remy Sharp) 2009 року під час роботи над книгою «Введення в HTML5», як влучне слово, з яким можна асоціювати моделювання API з використанням JavaScript (або Flash, або чого-небудь іншого), для веббраузера, у якого не він передбачений спочатку.
«Poly-» (від грец. Polloi — багато) говорить про притягнення будь-якого числа технологій, тобто з поставленим завданням можна впоратися не тільки за допомогою JavaScript, а друга частина «-fill» (англ. fill — наповнювати, заповнювати) передбачає заповнення «діри» браузера, в якій і повинна бути реалізована таким чином технологія.
Крім того, у будівельній галузі відома шпаклівка «Polyfilla». На думку автора терміна, асоціація з вирівнюванням тріщин та дірок в стінах цілком підходить для візуалізації того, як поліфіли у вебпрограмуванні «ремонтують» браузер[2].
Поліфіли дозволяють виправляти помилки в конкретному API або додавати в браузер функціонал, який за умовчанням частково або повністю їм не підтримується. Поліфіли не створюють зайвих залежностей і можуть бути легко видалені, коли вони більше не потрібні. Їх використання добре зарекомендувало себе і широко застосовується в тих випадках, коли необхідно підвищити функціональність старих (а іноді і нових) браузерів до бажаного рівня.
- HTML5 Shiv
- Забезпечує відображення елементів HTML5 в Internet Explorer 6-8, Safari 4.x, Firefox 3.x. та ін. і дозволяє оформлювати їх належним чином за допомогою CSS.
- Flexie
- Забезпечує кросбраузерну підтримку Flexible Box Module, яка дозволяє верстати сторінки зі складним компонуванням блоків швидше, легше і зручніше, ніж з використанням плаваючих елементів.
- Webshims Lib
- Бібліотека, після підключення якої, при перегляді вебсторінок в браузері IE 9-ї версії і нижче, починають працювати елементи форм HTML5 таких типів як date range, color і інші.
- Selectivizr
- Використовується для обробки CSS3 селекторів в IE 8-ї версії і нижче в поєднанні з JavaScript бібліотеками, такими як jQuery або MooTools.
- CSS3 PIE
- PIE (Progressive Internet Explorer) реалізує деякі з найпопулярніших властивостей CSS3 в веббраузерах IE.
- es5shim
- Забезпечує підтримку в старих браузерах IE практично всі функції, які були затверджені в специфікації ECMAScript 5.
- MediaElement.js
- Забезпечує підтримку у всіх браузерах, в тому числі мобільних, відтворення аудіо- та відеоконтенту. При використанні цього поліфіла, навіть в тих браузерах, які не розуміють розмітки HTML5, відображається альтернативний варіант плеєра, використовує Flash.
- FlashCanvas
- Дозволяє старих версій Internet Explorer працювати з Canvas (HTML). Один з небагатьох поліфілів, який представлений в тому числі розширеною платною версією.
- Storage Polyfill
- В старих версіях браузерів, де відсутня підтримка Web Storage, дозволяє зберегти функціональність, використовуючи Cookie.
- ↑ Modernizr Documentation. Архів оригіналу за 9 листопада 2017. Процитовано 19 січня 2018.(англ.)
- ↑ Шарп, Реми. What is a polyfill?. Архів оригіналу за 27 травня 2018. Процитовано 19 січня 2018.(англ.)
- List of polyfills providing HTML5 facilities. Архів оригіналу за 28 вересня 2010. Процитовано 19 січня 2018.
{{cite web}}
: Cite має пустий невідомий параметр:|3=
(довідка)(англ.) - HTML5 Polyfill List By Feature [Архівовано 19 січня 2018 у Wayback Machine.](англ.)