Polyfill

Polyfill – kod, który implementuje nową funkcję, która nie jest obsługiwana w jakiejś przeglądarce internetowej, ale jest obsłużona w innej. Najczęściej odnosi się do biblioteki JavaScript, która implementuje elementy nowego standardu internetowego (np. HTML5, ES6). Czyli jest to kod, który dodaje zgodność wsteczną dla starych przeglądarek i ma pomóc we wdrażaniu nowych standardów (nowe funkcje można używać zanim zostaną zaimplementowane)[1].

Przykładem polyfill może być zaimplementowanie metody indexOf dla obiektów Array[2]. Funkcja ta nie jest dostępna w starych wersjach Internet Explorera i żeby witryna działa w starym IE, należy dodać dla niej polyfill.

Definicja

Termin ten jest neologizmem wymyślonym przez Remy'ego Sharpa w trakcie pisania książki „Wprowadzenie do HTML5” w 2009 roku[1]. Szukał wówczas słowa oznaczającego „replikację API za pomocą JavaScript (lub Flasha itp.), jeśli przeglądarka nie ma go natywnie”. Co prawda istniał już wówczas termin shim, ale według Sharpa był on związany z obejściami istniejących problemów. Jako przykład podaje wstawianie shim.gif do tabelki, żeby puste komórki były widoczne.

Rozróżnienie, które czyni Sharp, to[3]:

To, co czyni polyfill odmiennym od innych technik, jakie już mamy (jak shim), jest to, że jeśli usuniesz polyfill, to wszystko nadal powinno działać bez żadnych zmian, pomimo usunięcia polyfill.

Jak mówi autor, termin pochodzi od szpachlówki marki Polyfilla, którą można użyć do wypełnienia luk i szczelin w ścianie. Ma to być również zbitki słów poly (na wiele sposobów) oraz fill (wypełnienie).

Od czasu ukucia go w 2009 słowo zyskało znacząco na popularności. Autor twierdzi, że przyczyniło się do tego głównie użycie go przez Paula Irisha oraz w dokumentacji Modernizr[1][4].

Zobacz też

Przypisy

  1. a b c What is a Polyfill? [online], remysharp.com [dostęp 2020-01-01].
  2. Array.prototype.indexOf() [online], MDN Web Docs [dostęp 2020-01-01] (ang.).
  3. Remy. Sharp, Introducing HTML5, wyd. 2nd ed, Berkeley, CA: New Riders, 2012, s. 277, ISBN 978-0-321-78442-1, OCLC 751739412 [dostęp 2020-01-01].
  4. Html5 cross browser polyfills [online], Modernizr - GitHub, 28 września 2010 [dostęp 2020-01-01] [zarchiwizowane z adresu 2010-09-28].

Linki zewnętrzne

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.