- Artikel tentang daya tahan dan fleksibilitas komponen web, dibandingkan dengan framework JavaScript
- Penulis berpendapat bahwa pemilihan teknologi untuk sebuah proyek seharusnya ditentukan oleh keterbatasan proyek, bukan oleh opsi bawaan
- Alasan penulis memilih komponen web vanilla JS untuk proyeknya: portabilitas dan kemampuan merender HTML
- Blog penulis dibangun dengan berbagai alat seperti Astro, Hugo, CMS kustom yang ditulis dengan PHP, Tumblr, Movable Type, dan WordPress
- Menekankan manfaat menyimpan konten dalam file teks biasa yang ditulis dengan Markdown, sehingga proses memindahkan konten antar sistem menjadi lebih sederhana
- Penulis berpendapat bahwa fitur khusus Astro memang nyaman, tetapi tidak portabel sehingga tidak digunakan dalam proyek
- Komponen web dapat ditulis sebagai HTML di dalam Markdown, sehingga portabilitasnya setinggi sisa konten Markdown tersebut
- Komponen web adalah serangkaian standar W3C untuk membangun elemen HTML yang dapat digunakan ulang, membungkus semua HTML, CSS, dan JS dalam satu berkas, tanpa memerlukan sistem build
- Penulis menunjukkan bahwa komponen web dapat mengekspos atribut agar bisa dikonfigurasi dari luar, mirip dengan props native
- Karena kekhawatiran terhadap kompromi antara pemeliharaan dan dependensi, penulis memutuskan menggunakan vanilla JS alih-alih framework yang dikompilasi menjadi komponen web seperti Lit, Stencil, dan Svelte
- Penulis berpendapat bahwa dependensi seperti TypeScript memang dapat memberikan fitur yang berguna, tetapi membutuhkan waktu dan usaha untuk menjaga kompatibilitas dengan versi dan API baru
- Menekankan pentingnya menghindari dependensi yang tidak dikendalikan pengguna serta berpegang pada standar yang sudah terbukti stabil demi aksesibilitas jangka panjang dan ketahanan konten web
- Penulis menyimpulkan dengan memuji web sebagai platform komputasi yang paling tangguh, portabel, dan tahan masa depan bila digunakan dengan mempertimbangkan umur panjang
1 komentar
Komentar Hacker News
htmxtidak disebut dalam artikel, dan bahwa fokusnya pada sinkronisasi state dengan server membuatnya berbeda dari web componentshtmxdipuji karena tidak memiliki dependensi dan berfokus pada kompatibilitas mundur, berbeda dari banyak library JavaScript