Google Blink (garpu WebKit baru): Arti “Memindahkan DOM ke Javascript”?

12

Dari Blog Blink :

Akhirnya kami ingin menjelajahi ide yang lebih besar lagi seperti memindahkan seluruh Document Object Model (DOM) ke dalam JavaScript.

Apa artinya ini? Apakah ini berarti DOM WebKit saat ini tidak dikodekan dalam JavaScript tetapi dalam beberapa bahasa lain? Apakah ini berarti bahwa mereka ingin mengekspos lebih banyak aksesor publik ke DOM? Atau apa?

BSalita
sumber

Jawaban:

14

Cara saya membacanya ada dua opsi. Tetapi sebelum kita melihat ini, Anda harus memahami cara kerja model lama.

Di sebagian besar, jika tidak semua implementasi mesin rendering HTML, DOM diimplementasikan dalam C atau C ++ dan mesin JavaScript adalah add-on yang memiliki binding yang diekspor ke DOM. Ini masuk akal, jika Anda melihat bagaimana HTML dan JavaScript berevolusi. Tetapi banyak waktu terbuang untuk mengatur panggilan dari JavaScript ke C / C ++ dan kembali.

Opsi pertama adalah bahwa DOM menjadi lebih dekat dengan mesin JavaScript. Pada dasarnya objek DOM menjadi objek inti JavaScript, seperti Array. Ini tidak banyak membantu kecuali mengurangi beberapa marshaling, karena DOM menggunakan tipe data asli dari mesin JavaScript. DOM kemudian masih diimplementasikan dalam C atau C ++.

Opsi kedua dan mungkin apa artinya, adalah bahwa DOM aktual diimplementasikan dalam JavaScript. The downside adalah bahwa akses ke DOM sepenuhnya ditafsirkan, tetapi pada sisi atas menghilangkan marshaling. Ini mungkin keuntungan bersih, karena DOM sebagian besar data.

Dan lagi, saya tidak bisa memberikan jawaban yang pasti - saya tidak bekerja untuk Google dan karena itu tidak memiliki banyak wawasan.

rioki
sumber
1
Saya tidak berpikir ada overhead dalam mengikat jenis khusus dibandingkan dengan "asli" jenis mesin JavaScript karena mesin itu ditulis dalam C ++ dan semua jenis diimplementasikan menggunakan mekanisme yang sama. Apa yang bisa disimpan dengan menggunakan tipe JavaScript asli adalah kode karena banyak kode perlu diduplikasi untuk tipe asli dan tipe DOM.
Jan Hudec
Dari apa yang saya tahu (dari es-diskusi milis, misalnya), sudah pasti yang terakhir. Ada keinginan untuk memiliki DOM ditulis dalam JS, bukan hanya karena menyusun biaya (yang adalah ada), tetapi juga untuk menghapus sebanyak "eksotis", "non-pribumi", "khusus" benda-benda dari ruang bahasa sebagai bisa jadi. DOM adalah PITA besar untuk perancang bahasa, karena itu istimewa.
herby
Ada dokumen desain tentang topik ini baru-baru ini docs.google.com/document/d/…
subbul