Google Blink (yeni WebKit fork): “DOM'u Javascript'e Taşıma” nedir?


12

Gönderen Blink Blog :

Son olarak, Belge Nesne Modelinin (DOM) tamamını JavaScript'e taşımak gibi daha büyük fikirleri keşfetmek istiyoruz.

Ne anlama geliyor? Onu demek WebKit'in DOM şu anda olduğu mu değil JavaScript ama başka bir dilde kodlu? Bu, DOM'a daha fazla genel erişimciyi ifşa etmek istedikleri anlamına mı geliyor? Ya da ne?

Yanıtlar:


14

Okuma şeklimde iki seçenek var. Ama buna bakmadan önce, eski modelin nasıl çalıştığını anlamanız gerekir.

Çoğunlukla, HTML oluşturma motorlarının tüm uygulamaları olmasa da, DOM C veya C ++ ile uygulanır ve JavaScript motoru, DOM'a dışa aktarılan bağlamaları olan bir eklentidir. HTML ve JavaScript'in nasıl geliştiğine bakarsanız, bu mantıklıdır. Ancak, JavaScript'ten C / C ++ ve geri çağrıları birleştirmek için çok zaman harcanıyor.

İlk seçenek, DOM'un JavaScript motoruna daha yakından bağlanmasıdır. Temel olarak DOM nesneleri, Array gibi temel JavaScript nesneleri haline gelir. DOM, JavaScript motorundaki yerel veri türlerini kullandığından, bazı marşlamayı azaltmak dışında bu pek bir şey yapmaz. DOM daha sonra hala C veya C ++ 'da uygulanır.

İkinci seçenek ve muhtemelen anlamları, gerçek DOM'un JavaScript'te uygulanmasıdır. Dezavantajı, DOM'a erişimin tamamen yorumlanmasıdır, ancak tersine herhangi bir marş kaldırmayı kaldırır. DOM muhtemelen yine de veri olduğu için bu muhtemelen net bir kazançtır.

Sonra tekrar size kesin bir cevap veremem - Google için çalışmıyorum ve bu yüzden bu kadar içgörü yok.


1
Bu motor C ++ ile yazılmış ve tüm türleri aynı mekanizma kullanılarak uygulandığından, JavaScript motorlarının "yerli" türlerine kıyasla özel türlerde bağlayıcı herhangi bir ek yük olduğunu sanmıyorum. Yerel JavaScript türleri kullanılarak kaydedilebilecek bir kod, yerel türler ve DOM türleri için çok sayıda kodun çoğaltılması gerektiğinden bir koddur.
Jan Hudec

Bildiğim kadarıyla (örneğin es-tartışma posta listesinden), kesinlikle ikincisidir. JS yazılı DOM için bir dilek değil, sırf (maliyet sıralanırken ait olduğunu ise orada), aynı zamanda "egzotik", dil uzaydan "yerli olmayan", "özel" bir nesne olarak çok olarak kaldırmak için mümkün. DOM, dil tasarımcıları için büyük bir PITA'dır, çünkü özeldir.
herby

Bu konuyla ilgili son zamanlarda docs.google.com/document/d/…
subbul
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.