Komunitas Pengembangan Web Memperdebatkan Masa Depan HTML dan DOM Seiring Meningkatnya Kompleksitas

Tim Komunitas BigGo
Komunitas Pengembangan Web Memperdebatkan Masa Depan HTML dan DOM Seiring Meningkatnya Kompleksitas

Komunitas pengembangan web sedang terlibat dalam diskusi sengit tentang arah masa depan HTML, CSS, dan Document Object Model (DOM). Perdebatan ini dipicu oleh kekhawatiran yang meningkat atas kompleksitas standar web yang semakin bertambah dan apakah fondasi saat ini cocok untuk pengembangan aplikasi modern.

Slide presentasi yang mengilustrasikan berbagai properti layout CSS dan implikasinya terhadap standar web
Slide presentasi yang mengilustrasikan berbagai properti layout CSS dan implikasinya terhadap standar web

Dilema Kompatibilitas Mundur

Salah satu isu utama dalam perdebatan ini berkisar pada kompatibilitas mundur. Platform web telah mempertahankan kompatibilitas dengan kode yang berusia puluhan tahun, yang telah menjadi berkah sekaligus kutukan. Meskipun pendekatan ini telah memastikan bahwa situs web dari masa-masa awal internet terus berfungsi, hal ini juga telah menyebabkan bloat dan kompleksitas yang signifikan dalam standar web modern. Komunitas terpecah mengenai apakah komitmen terhadap kompatibilitas mundur ini sebanding dengan utang teknis yang diciptakannya.

Beberapa pengembang berpendapat bahwa kompatibilitas mundur dapat dipertahankan melalui pustaka polyfill yang berada di atas sistem baru, mirip dengan cara fitur JavaScript modern disediakan untuk browser lama. Pendekatan ini berpotensi memungkinkan sistem inti yang lebih bersih dan efisien sambil tetap mendukung kode lama.

Solusi yang Diusulkan dan Alternatif:

Pendekatan Deskripsi Trade-off
Rendering berbasis canvas Melewati HTML/CSS sepenuhnya, render langsung ke canvas Performa lebih baik, tetapi kehilangan fitur aksesibilitas
Standar aplikasi/dokumen terpisah API yang berbeda untuk aplikasi versus dokumen Dapat mengurangi kompleksitas, tetapi meningkatkan fragmentasi
WebAssembly + WebGPU Menggunakan teknologi tingkat rendah untuk kontrol yang lebih baik Pengembangan lebih kompleks, tetapi berpotensi performa lebih baik
Kompatibilitas berbasis polyfill Sistem inti baru dengan lapisan kompatibilitas Dapat memungkinkan arsitektur yang lebih bersih sambil mempertahankan kompatibilitas mundur

Pembagian Aplikasi vs Dokumen

Titik perdebatan utama berpusat pada apakah web harus terus mencoba melayani dokumen dan aplikasi dengan tumpukan teknologi yang sama. Banyak anggota komunitas percaya bahwa HTML awalnya dirancang untuk dokumen dan telah dipaksakan melampaui tujuan yang dimaksudkan untuk mengakomodasi aplikasi kompleks.

Masalahnya adalah DOM benar-benar tidak memadai untuk mendeskripsikan tata letak halaman, dan bahkan kurang lagi untuk aplikasi Web. Pengguna biasanya tidak puas dengan aplikasi Web karena cara browser membatasi fungsionalitas yang berguna dan programmer berjuang dengan solusi sementara dan bloat browser untuk menyelesaikan hal-hal sederhana.

Hal ini telah menyebabkan saran untuk membuat standar terpisah - satu yang dioptimalkan untuk halaman web tradisional dan yang lain dirancang khusus untuk aplikasi. Pemisahan seperti itu berpotensi memungkinkan setiap kasus penggunaan dilayani dengan lebih baik oleh teknologi yang dirancang khusus untuk kebutuhannya.

Teknologi Web Utama yang Dibahas:

  • DOM (Document Object Model): Antarmuka pemrograman untuk dokumen HTML yang merepresentasikan struktur halaman sebagai pohon objek
  • WebAssembly (WASM): Format instruksi biner yang memungkinkan kode yang ditulis dalam bahasa selain JavaScript untuk berjalan di browser web
  • WebGPU: Standar web untuk mengakses fitur unit pemrosesan grafis (GPU) dari aplikasi web
  • CSS Grid: Sistem tata letak yang memungkinkan pengembang membuat tata letak berbasis grid yang kompleks
  • Flexbox: Metode tata letak CSS untuk mengatur item dalam baris atau kolom dengan ukuran yang fleksibel
Sebuah flowchart yang menggambarkan proses tata letak spekulatif, menyoroti bagaimana berbagai bagian dari aplikasi web berinteraksi
Sebuah flowchart yang menggambarkan proses tata letak spekulatif, menyoroti bagaimana berbagai bagian dari aplikasi web berinteraksi

Kekhawatiran Performa dan Pengalaman Pengembang

Komunitas telah mengangkat kekhawatiran signifikan tentang implikasi performa dari teknologi web saat ini. Aplikasi web modern sering memerlukan sumber daya yang substansial untuk melakukan tugas yang akan menjadi sepele dalam aplikasi native. Hal ini telah menyebabkan frustrasi di antara pengembang yang menemukan diri mereka melawan platform daripada bekerja dengannya.

API DOM telah dikritik secara khusus karena verbose dan sulit untuk digunakan secara langsung. Banyak pengembang telah beralih dari manipulasi DOM langsung untuk mendukung framework yang mengabstraksi kompleksitas ini, tetapi hal ini telah menyebabkan lapisan abstraksi tambahan dan peningkatan ukuran bundle.

Alternatif dan Solusi yang Muncul

Beberapa solusi potensial telah muncul dari diskusi komunitas. WebAssembly (WASM) dan WebGPU sedang dieksplorasi sebagai cara untuk memberikan kontrol yang lebih langsung atas rendering dan komputasi. Beberapa pengembang bereksperimen dengan pendekatan berbasis canvas yang sepenuhnya melewati rendering HTML tradisional.

Flutter untuk web telah dikutip sebagai contoh bagaimana aplikasi dapat dibangun menggunakan rendering canvas sambil tetap berjalan di browser. Namun, pendekatan ini datang dengan trade-off, khususnya seputar fitur aksesibilitas seperti pemeriksaan ejaan dan dukungan metode input yang browser sediakan secara otomatis untuk elemen HTML tradisional.

Tampilan teknis dari struktur HTML editor input aplikasi web, menekankan standar web saat ini
Tampilan teknis dari struktur HTML editor input aplikasi web, menekankan standar web saat ini

Jalan ke Depan

Komunitas tampaknya sedang bersatu di sekitar ide bahwa evolusi daripada revolusi mungkin merupakan pendekatan yang paling praktis. Meskipun banyak yang mengakui keterbatasan teknologi web saat ini, ekosistem besar dan keuntungan deployment platform web membuatnya sulit untuk ditinggalkan sepenuhnya.

Beberapa pengembang mengadvokasi perbaikan bertahap dan API baru yang dapat hidup berdampingan dengan standar yang ada, sementara yang lain mendorong perubahan yang lebih fundamental. Keberhasilan teknologi seperti CSS Grid dan Flexbox, yang telah secara signifikan meningkatkan kemampuan layout, menunjukkan bahwa kemajuan yang berarti dapat dibuat dalam kerangka kerja yang ada.

Perdebatan ini mencerminkan ketegangan yang lebih luas dalam industri teknologi antara mempertahankan stabilitas dan mendorong inovasi. Seiring aplikasi web menjadi semakin canggih, komunitas terus bergulat dengan bagaimana menyeimbangkan tuntutan yang bersaing ini sambil melayani pengembang dan pengguna akhir secara efektif.

Referensi: HTML is Dead, Long Live HTML