1 poin oleh GN⁺ 2023-10-27 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
GN⁺ 2023-10-27
Komentar Hacker News
  • Artikel tentang daya tahan jangka panjang web components, dibandingkan dengan framework JavaScript
  • Para komentator menyoroti bahwa library htmx tidak disebut dalam artikel, dan bahwa fokusnya pada sinkronisasi state dengan server membuatnya berbeda dari web components
  • htmx dipuji karena tidak memiliki dependensi dan berfokus pada kompatibilitas mundur, berbeda dari banyak library JavaScript
  • Manajemen state pada web components disebut sebagai masalah yang belum terselesaikan, sehingga pengembang harus menanganinya sendiri tanpa framework pembungkus
  • Kinerja web components dinilai tidak sepenting yang diperkirakan, dan beberapa elemen kecil malah ditarik kembali dari web components karena biaya instansiasi
  • Web components dipuji karena bisa dengan mudah ditambahkan ke halaman baru tanpa memandang framework yang digunakan, serta karena enkapsulasi styling
  • Sebagian komentator menyatakan lebih menyukai kemajuan dan peningkatan framework JS daripada solusi statis seperti web components
  • Ditekankan pentingnya mempertimbangkan pengetahuan dan keterampilan tim saat memulai proyek baru
  • Solusi sisi server seperti Rails Hotwire, Phoenix Liveviews, dan Laravel Livewire disebut sebagai perkembangan yang menarik
  • Web components dikritik karena tidak bisa dijalankan di server, dan memerlukan JS sisi klien untuk merendernya
  • Penggunaan slot pada web components dianggap membingungkan dan kompleks, sehingga kurang menarik untuk membangun aplikasi
  • DOM API dikritik karena tidak cocok untuk menyatukan komponen agar aplikasi dapat berjalan
  • Web components dikritik karena kurangnya dukungan editor untuk fitur seperti autocomplete nama atribut dan event
  • Beberapa fungsi dasar pada web components, misalnya tombol di dalam form, masih dianggap sebagai masalah yang belum terselesaikan