Google Blink (nueva bifurcación WebKit): ¿Qué significa "Mover DOM a Javascript"?

12

Del Blog Blink :

Finalmente, nos gustaría explorar ideas aún más grandes como mover todo el Modelo de Objetos del Documento (DOM) a JavaScript.

¿Qué significa esto? ¿Significa que el DOM de WebKit actualmente no está codificado en JavaScript sino en algún otro idioma? ¿Significa que quieren exponer más accesores públicos al DOM? ¿O que?

BSalita
fuente

Respuestas:

14

La forma en que lo leo hay dos opciones. Pero antes de analizar esto, debe comprender cómo funciona el modelo anterior.

En la mayoría, si no todas las implementaciones de los motores de representación HTML, el DOM se implementa en C o C ++ y el motor de JavaScript es un complemento que tiene enlaces exportados al DOM. Esto tiene sentido si observa cómo evolucionó HTML y JavaScript. Pero se pierde mucho tiempo en ordenar las llamadas de JavaScript a C / C ++ y viceversa.

La primera opción es que el DOM se une más estrechamente al motor de JavaScript. Básicamente, los objetos DOM se convierten en objetos centrales de JavaScript, como Array. Esto no hace mucho, excepto reducir algunos cálculos, ya que el DOM utiliza los tipos de datos nativos del motor de JavaScript. El DOM aún se implementa en C o C ++.

La segunda opción, y probablemente lo que significan, es que el DOM real está implementado en JavaScript. La desventaja es que el acceso al DOM se interpreta completamente, pero por el lado positivo elimina cualquier cálculo de referencias. Esto es probablemente una ganancia neta, ya que el DOM es principalmente datos de todos modos.

Por otra parte, no puedo darte una respuesta definitiva: no trabajo para Google y, por lo tanto, no tengo tanta información.

rioki
fuente
1
No creo que haya gastos generales en los tipos especiales de enlace en comparación con los tipos "nativos" de los motores de JavaScript, ya que ese motor está escrito en C ++ y todos los tipos se implementan utilizando el mismo mecanismo. Lo que se puede guardar usando los tipos de JavaScript nativos es un código, ya que se debe duplicar mucho código para los tipos nativos y los tipos DOM.
Jan Hudec
Por lo que sé (de la lista de correo es-debatir, por ejemplo), definitivamente es lo último. Existe el deseo de tener DOM escrito en JS, no solo por el costo de clasificación (que está allí), sino también por eliminar del espacio del lenguaje la mayor cantidad de objetos "exóticos", "no nativos" y "especiales". posible. DOM es un gran PITA para los diseñadores de idiomas, porque es especial.
herby
Hay un documento de diseño sobre este tema recientemente docs.google.com/document/d/…
subbul