Google Blink (novo fork do WebKit): Significado de "Movendo DOM para Javascript"?


12

No Blog do Blink :

Finalmente, gostaríamos de explorar idéias ainda maiores, como mover todo o DOM (Document Object Model) para JavaScript.

O que isto significa? Isso significa que o DOM do WebKit não está atualmente codificado em JavaScript, mas em algum outro idioma? Isso significa que eles querem expor mais acessadores públicos ao DOM? Ou o que?

Respostas:


14

Do jeito que eu li, existem duas opções. Mas antes de analisarmos isso, você precisa entender como o modelo antigo funciona.

Na maioria, se não todas as implementações de mecanismos de renderização HTML, o DOM é implementado em C ou C ++ e o mecanismo JavaScript é um complemento que possui ligações exportadas para o DOM. Isso faz sentido, se você observar como o HTML e o JavaScript evoluíram. Mas muito tempo é desperdiçado ao organizar as chamadas de JavaScript para C / C ++ e vice-versa.

A primeira opção é que o DOM fique mais intimamente ligado ao mecanismo JavaScript. Basicamente, os objetos DOM se tornam objetos JavaScript principais, como Array. Isso não faz muito, exceto reduzir alguns empacotamentos, pois o DOM usa os tipos de dados nativos do mecanismo JavaScript. O DOM ainda é implementado em C ou C ++.

A segunda opção e provavelmente o que eles significam é que o DOM real seja implementado em JavaScript. A desvantagem é que o acesso ao DOM é totalmente interpretado, mas, na parte superior, remove qualquer empacotamento. Provavelmente, isso é um ganho líquido, pois o DOM é principalmente dados de qualquer maneira.

Por outro lado, não posso dar uma resposta definitiva - não trabalho para o Google e, portanto, não tenho muita ideia.


1
Eu não acho que exista sobrecarga na vinculação de tipos especiais em comparação com os tipos "nativos" dos mecanismos JavaScript, pois esse mecanismo é escrito em C ++ e todos os tipos são implementados usando o mesmo mecanismo. O que pode ser salvo usando os tipos JavaScript nativos é um código, pois muitos códigos precisam ser duplicados para os tipos nativos e DOM.
Jan Hudec

Pelo que sei (da lista de discussão es-discuss, por exemplo), é definitivamente a última. Há um desejo de ter DOM escrito em JS, não apenas por causa de triagem custo (que é lá), mas também para remover o máximo do "exótico", "não-nativos", objetos "especiais" do espaço linguagem como possível. O DOM é grande PITA para designers de idiomas, porque é especial.
Herby

Há um documento de design sobre esse tópico recentemente docs.google.com/document/d/…
subbul 21/01
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.