Web Components Tidak Masalah
- Komunitas pengembangan web sering memperdebatkan web components
- Ryan Carniato menulis artikel berjudul "Web Components Are Not the Future", dan Cory LaViska menanggapinya dengan artikel "Web Components Are Not the Future — They’re the Present"
- Penulis berusaha menyelesaikan perdebatan ini secara damai
Performa
- Web components berbasis pada Custom Elements, sehingga semua antarmuka ditangani melalui DOM
- Meminimalkan node DOM adalah inti dari optimasi performa
- Namun, performa bukanlah segalanya; faktor lain seperti maintainability, keamanan, kegunaan, dan aksesibilitas juga perlu dipertimbangkan
- Misalnya, tidak merender atribut
aria-* dapat meningkatkan performa, tetapi atribut tersebut tetap wajib untuk aksesibilitas
- Optimasi performa itu penting, tetapi dalam praktiknya masalah yang lebih sederhana seperti layout thrashing, network waterfall, dan rerender yang tidak perlu sering kali berdampak lebih besar pada performa
Biaya Standar
- Mendukung standar memerlukan penulisan dan eksekusi kode tambahan
- Namun, mendukung web components bukanlah beban yang besar
- Mempertimbangkan fitur baru platform web adalah hal yang wajar, dan hal ini juga berlaku untuk Symbols, Proxys, Promises, dan lainnya
- Sebagian komunitas pengembangan web mungkin tidak ingin mendukung web components, dan itu tidak masalah
- Web adalah tenda besar yang memungkinkan beragam pendekatan
Kesimpulan
- Web components pada dasarnya tidak bermasalah, tetapi janji bahwa semuanya bisa digantikan olehnya adalah hal yang berbahaya
- Web components memiliki kelemahan dalam server-side rendering, aksesibilitas, interoperabilitas, dan lainnya
- Framework lain seperti React, Solid, dan Svelte masih tetap unggul di area tertentu
- Web digunakan untuk beragam tujuan, dan ini memberi peluang untuk mengekspresikan kreativitas
- Web components mungkin tidak cocok untuk Anda, dan itu tidak masalah
# Ringkasan GN⁺
- Artikel ini menyajikan berbagai sudut pandang tentang web components dan menekankan keseimbangan antara performa dan faktor-faktor lainnya
- Web components tidak bisa menggantikan segalanya, tetapi cocok untuk penggunaan tertentu
- Komunitas pengembangan web menerima beragam pendekatan, dan hal ini mendorong kreativitas
- Jika web components tidak cocok, Anda bisa menggunakan framework lain
- Beragam kemampuan web membuka peluang bagi bentuk ekspresi kreatif yang baru
1 komentar
Komentar Hacker News
Merasa artikel berjudul "Web Components Are Not the Future" kurang memiliki argumen yang meyakinkan
Pendapat orang berbeda-beda karena masing-masing mengejar optimasi yang berbeda
Svelte mendukung pembuatan Web Components melalui Custom Elements API
Berpikir bahwa Web Components tidak membuat hidup full-stack developer menjadi lebih baik
Web Components dan Shadow DOM dapat mengganggu cara kerja ekstensi browser
Interoperabilitas datang dengan biaya performa
Berpikir bahwa Web Components dapat menyelesaikan masalah frontend saat ini
Sedang mewarisi codebase JS sepanjang 250.000 baris dan me-refactor-nya ke Web Components
Web Components dapat bekerja bahkan tanpa JS
Framework dan Web Components adalah alat untuk menyelesaikan masalah yang berbeda