Web APIs
Web API adalah interface yang dibuka browser runtime kepada JavaScript untuk halaman, network, navigasi, dan hardware.
Ia bukan bagian dari bahasa itu sendiri. Skrip yang sama mendapat kemampuan berbeda di setiap runtime tempat ia berjalan.
Pembagian runtime
Browser API dikirim bersama browser dan membuka halaman beserta kemampuan device di sekitarnya.
Third party API datang sebagai library yang diambil dari web, dan versioning menjadi tanggung jawab pemanggil. Lihat taksonomi MDN.
DOM
DOM memodelkan dokumen sebagai nodes dan objects agar skrip dapat mengubah structure, style, dan content.
Ia language neutral dan tidak tersedia di runtime seperti Node.js. Lihat referensi DOM.
Network dengan fetch
Method fetch menerima resource path plus options dan mengembalikan promise untuk Response object.
Ia resolve saat headers tiba walau status HTTP error, sehingga pemanggil wajib memeriksa Response.ok. Lihat referensi Fetch.
Semantik CORS dan Origin tetap berlaku, dan request bodies berperilaku sebagai single use streams.
History
Single page app menukar konten tanpa reload, sehingga ekspektasi Back dan Forward rusak.
Method pushState mensintesis entries sementara popstate memberi sinyal perubahan entry untuk rerendering. Lihat panduan History.
Akses hardware
Akses kamera dan mikrofon lewat getUserMedia dengan video dan audio constraints.
Ia butuh user permission plus secure context, dan akan reject dengan named errors bila tidak terpenuhi. Lihat referensi getUserMedia.
Permissions Policy dapat memblokir source sepenuhnya, sehingga graceful fallback perlu dirancang sejak awal.
Memilih
Gunakan DOM API untuk struktur halaman, fetch untuk data server, History untuk navigasi klien, dan hardware API hanya dengan consent flow.
Periksa runtime support lebih dulu, karena ketersediaan berbeda antar browser dan context.
Batasan
Seluk beluk CORS dan taksonomi hardware error yang lengkap perlu konfirmasi companion page di luar ingest ini.
Perilaku third party API juga bergeser mengikuti versi vendor di luar dokumentasi browser.
Terkait
- Web APIs live in the runtime, not the language
- DOM turns documents into scriptable objects
- fetch() treats network as promises with explicit control
- History API restores back button behavior in SPAs
- Hardware APIs demand permission and secure context
- JavaScript
- HTTP
- HTTPS
- CORS
Sumber
- Introduction to web APIs: MDN, runtime split of browser and third party APIs.
- Document Object Model: MDN, node model and language independence.
- Fetch API: MDN, promise mechanics with Request and Response.
- Working with the History API: MDN, pushState repair for single page navigation.
- MediaDevices getUserMedia: MDN, constraints, permission, and secure context.