Jelaskan Kesesuaian API dari Ekstensi peramban

Pada tahun 2015, sebuah kelompok kerja komunitas dibentuk di bawah W3C untuk membuat satu antarmuka pemrograman aplikasi standar (API) untuk ekstensi peramban. Meskipun tujuan tersebut tidak mungkin tercapai,  sebagian besar peramban sudah menggunakan API yang sama atau sangat mirip karena popularitas Google Chrome.

Chrome adalah peramban pertama dengan API ekstensi yang hanya didasarkan pada HTML, CSS, dan JavaScript. Pengujian beta untuk kemampuan ini dimulai pada tahun 2009, dan tahun berikutnya Google membuka Toko Web Chrome. Hingga Juni 2012, ada total 750 juta pemasangan ekstensi dan konten lain yang dihosting di toko. Pada tahun yang sama, Chrome mengambil alih Internet Explorer sebagai peramban terpopuler di dunia, dan pangsa pasarnya terus tumbuh, mencapai 60% pada 2018.

Karena keberhasilan Chrome, Microsoft membuat API ekstensi yang sangat mirip untuk peramban Edge-nya, dengan tujuan memudahkan pengembang ekstensi Chrome untuk memindahkan pekerjaan mereka ke Edge. Tetapi setelah tiga tahun Edge masih memiliki pangsa pasar yang sangat kecil, sehingga Microsoft membangunnya kembali sebagai peramban berbasis Chromium. (Chromium adalah proyek sumber terbuka Google yang berfungsi sebagai inti fungsional Chrome dan banyak peramban lainnya.) Sekarang Edge memiliki API yang sama dengan Chrome, ekstensi dapat dipasang langsung dari Toko Web Chrome.

Dengan pangsa pasarnya sendiri yang merosot, Mozilla pun memutuskan untuk menyesuaikan diri. Pada tahun 2015, organisasi tersebut mengumumkan bahwa kemampuan ekstensi XUL dan XPCOM yang telah lama ada dari Firefox akan diganti dengan API yang tidak terlalu permisif yang sangat mirip dengan Chrome. Perubahan ini diberlakukan pada tahun 2017. Ekstensi Firefox sekarang sebagian besar kompatibel dengan versi Chrome mereka.

Hingga tahun 2020, Apple adalah satu-satunya pengecualian utama untuk tren ini, karena API untuk Safari memerlukan penggunaan alat Xcode untuk membuat ekstensi. Namun, Apple mengumumkan bahwa Safari 14 akan menyesuaikan dengan API Chrome sebagai bagian dari pembaruan macOS 11.