Jika kamu sering membaca dokumentasi atau artikel tentang sebuah modul javascript dan sejenisnya, saya yakin pasti istilah ini tidak asing. Jika kamu baru mendengar istilah "Polyfill", apakah langsung search Google atau melewatinya saja untuk membaca kalimat setelahnya. Di artikel ini, saya akan menjelaskan lebih dalam seputar "Polyfill".
Awal Mula
Muncul sejak standarisasi HTML 5 mulai diterapkan, tepatnya tahun 2014 lalu. Dibandingkan versi sebelumnya, banyak sekali fitur di HTML 5 banyak fitur yang tidak ada di versi sebelumnya, hal tersebut tentu akan menimbulkan masalah di browser-browser lama, bisa membuat error atau bahkan aplikasi terhenti. Disinilah tugas dari Polyfill, memungkinkan developer untuk menggunakan API browser yang terbaru dan akan tetap berjalan dengan normal meskipun diakses dengan browser lama dan biaanya dengan overhead yang minimal. Singkat cerita Polyfill adalah sebuah shim (library) untuk API browser.
Sample Library dari Wikipedia
Berikut adalah beberapa contoh library Javascript yang support polyfill, dan tentunya masih banyak lagi diluar sana.
Contoh Kasus
Saya ingin membuat sebuah fungsi untuk fetch data dari rest server, saat ini gampangnya bisa menggunakan fitur fetch api yang bisa diakses dari window.fetch https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API , tapi dibaca dari can i user, ternyata api ini hanya support untuk browser ini :
Bisa dibilang browser yang disupport adalah browser baru, fetch merupakan pengganti dari XMLHTTPrequest, yang memiliki fungsi yang sama. Solusinya kami bisa googling dengan keyword "polyfill fetch api" untuk mencari library fetch api yang bisa digunakan disemua browser, atau menggunakan module bundler seperti Webpack, Rollup dan lain sebagainya, agar koding otomatis support polyfill.
Dan masih banyak kasus lainnya.
Kesimpulan
Polyfill sangat membantu sekali untuk developer agar kodingnya tetap terbaharui tapi tetap bisa jalan di browser lama / semua browser tanpa membuat pengkondisian yang ribet.
Referensi