tgoop.com/prog_way_blog/165
Last Update:
Что такое полифилы и зачем они нужны
Одна из главных проблем web-разработки — скорость поддержки инструментов. И речь не об обновлении фреймворков или библиотек, а об обновлении браузеров.
Достаточно долгое время многим разработчикам в кошмарах снился прекрасный и ужасный Internet Explorer, что в последнее время, к слову, закончилось (зато теперь у нас есть Safari).
Браузеры не одинаковы. Большинство из них работают на хромиуме, но всё же единого стандартного решения нет, из-за чего какие-то функции, например, JavaScript, поддерживаются в одних браузера, но не поддерживаются в других или работают иначе.
Весь этот ужас усугубляется тем, что некоторые пользователи отключают автоматические обновления и используют давно неактуальные версии браузеров.
Так ли всё ужасно? Не совсем.
Есть автоматизированные инструменты поддержки, и относительно длительное время существует прекрасный концепт полифилов.
Полифил — это код, который, используя старые возможности языка, эмулирует новые, перезаписывая прототип.
Пример полифила для метода some
:
if (!Array.prototype.some) {
Array.prototype.some = function(callback) {
for (var i = 0; i < this.length; i++) {
if (callback(this[i], i, this)) {
return true;
}
}
return false;
};
}
То есть если в прототипе массива нативного метода
some
нет, мы добавим собственную его реализацию.Автоматически полифилы можно добавить в свой код при использовании разных инструментов сборки, например Babel.
Babel
позволяет вам написать код, использующий новые возможности JavaScript
, и затем автоматически транспиллировать его в код, который будет работать на старых версиях браузера. Есть множество уже готовых шаблонов подобных проектов, но даже настройка подобного инструмента с нуля достаточно проста.
Ну и на этом у меня в принципе всё. Спасибо за прочтение, это важно для меня ❤️
#web #theory #javascript
BY progway — программирование, IT
Share with your friend now:
tgoop.com/prog_way_blog/165