Platform Web Membutuhkan API Templating DOM Native untuk Menggantikan Ketergantungan Framework

Tim Komunitas BigGo
Platform Web Membutuhkan API Templating DOM Native untuk Menggantikan Ketergantungan Framework

Komunitas pengembangan web sedang ramai membahas proposal untuk menambahkan kemampuan templating native langsung ke browser web. Diskusi ini berpusat pada pengurangan overhead besar yang ditimbulkan oleh framework web modern seperti React kepada pengguna, sekaligus membuat pengembangan web lebih mudah diakses tanpa memerlukan build tools yang kompleks.

Saat ini, setiap aplikasi web yang membutuhkan konten dinamis harus mengunduh, mem-parsing, dan menjalankan kode framework sebelum dapat digunakan. Hal ini menciptakan beban yang signifikan bagi pengguna, terutama mereka yang memiliki koneksi internet lambat atau perangkat lama. Solusi yang diusulkan akan memindahkan fungsionalitas templating dari library JavaScript ke dalam browser itu sendiri, berpotensi menghemat jutaan pengguna dari mengunduh kode yang redundan.

Lokasi konstruksi yang sedang berlangsung, melambangkan upaya berkelanjutan untuk meningkatkan framework pengembangan web dengan solusi templating native
Lokasi konstruksi yang sedang berlangsung, melambangkan upaya berkelanjutan untuk meningkatkan framework pengembangan web dengan solusi templating native

Overhead Framework Menciptakan Dampak Nyata bagi Pengguna

Kondisi pengembangan web saat ini memaksa setiap situs untuk mengirimkan solusi templating mereka sendiri. React saja dapat menambahkan 100KB atau lebih pada initial page load, sementara alternatif ringan pun masih memerlukan beberapa kilobyte JavaScript sebelum aplikasi menjadi interaktif. Overhead ini terakumulasi di seluruh miliaran pengguna web di dunia, mewakili pemborosan besar dalam bandwidth dan daya pemrosesan.

Diskusi komunitas mengungkapkan frustrasi terhadap situasi ini. Banyak developer menunjukkan bahwa platform pesaing seperti pengembangan mobile native atau framework desktop menyertakan kemampuan templating built-in, memberikan mereka keunggulan signifikan dibandingkan aplikasi web yang harus mem-bootstrap solusi mereka sendiri.

Perbandingan Overhead Framework Saat Ini:

  • React : 100KB+ dalam kasus terburuk
  • Alternatif ringan: Minimum beberapa KB
  • Solusi native: 0KB unduhan tambahan
  • Dampak global: Miliaran pengguna terdampak oleh unduhan yang berlebihan

Pendekatan Teknis yang Sedang Dipertimbangkan

Proposal tersebut menyarankan penggunaan tagged template literals JavaScript sebagai fondasi untuk templating native, menghindari kebutuhan untuk menambahkan sintaks baru ke bahasa tersebut. Pendekatan ini akan bekerja dengan pengetahuan JavaScript yang ada sambil memberikan manfaat performa dari implementasi native.

Tiga model reaktivitas utama sedang dievaluasi: virtual DOM diffing (digunakan oleh React), template identity (digunakan oleh Lit), dan signals-based fine-grained reactivity (digunakan oleh SolidJS dan semakin banyak diadopsi oleh framework lain). Proposal tersebut cenderung menggabungkan template identity dengan signals untuk performa dan pengalaman developer yang optimal.

Tagged template literals: Fitur JavaScript yang memungkinkan fungsi untuk memproses template string dengan ekspresi yang tertanam, menyediakan cara untuk membuat domain-specific language dalam JavaScript.

Model Reaktivitas yang Diusulkan:

  • Virtual DOM Diffing: Digunakan oleh React, lebih lambat tetapi familiar
  • Template Identity: Digunakan oleh Lit, lebih cepat dengan semantik yang sederhana
  • Signals: Reaktivitas berbutir halus, paling cepat tetapi memerlukan pembungkusan data
  • Pendekatan yang Direkomendasikan: Kombinasi template identity + signals

Kekhawatiran Komunitas tentang Standardisasi

Komunitas pengembangan web masih terbagi mengenai apakah templating native masih terlalu dini. Beberapa berpendapat bahwa inovasi framework masih terjadi dengan cepat, membuat terlalu dini untuk mengunci pendekatan tertentu. Yang lain khawatir tentang mengulangi kesalahan masa lalu seperti Web Components, yang banyak dianggap over-engineered dan kurang dimanfaatkan.

Web benar-benar membutuhkan templating native, reaktivitas, dan data binding. Saya bahkan tidak bisa membayangkan berapa banyak CPU dan bandwidth yang terbuang dengan miliaran pengguna mengunduh, mem-parsing, dan menjalankan sesuatu seperti React.

Kritikus juga menunjukkan bahwa menambahkan fitur ke standar web menciptakan beban pemeliharaan permanen untuk vendor browser dan membuat lebih sulit bagi proyek browser baru untuk bersaing. Setiap API baru harus diimplementasikan dan dipelihara di semua browser utama, meningkatkan kompleksitas tanpa batas.

Konteks Historis dan Pelajaran yang Dipetik

Diskusi sering merujuk pada upaya masa lalu untuk fungsionalitas serupa, khususnya XSLT dan framework XUL Mozilla. XSLT menyediakan kemampuan transformasi XML yang kuat tetapi menderita dari kurva pembelajaran yang curam dan sintaks yang verbose. XUL memungkinkan pengembangan aplikasi yang kaya tetapi tetap spesifik untuk Firefox dan akhirnya deprecated.

Contoh historis ini menyoroti baik manfaat potensial maupun jebakan dari solusi templating native. Meskipun mereka menunjukkan bahwa sistem seperti itu dapat bekerja secara efektif, mereka juga menunjukkan betapa sulitnya menciptakan solusi yang mendapat adopsi luas dan tetap dapat dipelihara dalam jangka panjang.

Opsi Implementasi Teknis:

  • Sintaks: Tagged template literals (fitur JavaScript yang sudah ada)
  • Target: API berbasis JavaScript daripada berbasis HTML
  • Dependensi: Memerlukan penyelesaian proposal DOM Parts
  • Dukungan Browser: Membutuhkan implementasi di semua browser utama

Jalan ke Depan Masih Tidak Pasti

Proposal ini merupakan upaya signifikan yang akan memerlukan kolaborasi antara vendor browser, penulis framework, dan komunitas pengembangan web yang lebih luas. Kesuksesan akan bergantung pada menemukan titik temu antara pendekatan yang bersaing sambil memastikan solusi tetap cukup fleksibel untuk berkembang dengan kebutuhan masa depan.

Apakah inisiatif ini akan mendapat momentum yang diperlukan untuk standardisasi masih harus dilihat. Sejarah platform web menunjukkan bahwa penambahan yang sukses biasanya memerlukan baik permintaan developer yang jelas maupun jalur implementasi praktis yang tidak mengkompromikan fungsionalitas yang ada.

Referensi: The time is right for a DOM templating API