Google Blink (ngã ba WebKit mới): Ý nghĩa của việc chuyển DOM sang Javascript Javascript?


12

Từ Blog Blink :

Cuối cùng, chúng tôi muốn khám phá những ý tưởng lớn hơn như chuyển toàn bộ Mô hình Đối tượng Tài liệu (DOM) sang JavaScript.

Điều đó có nghĩa là gì? Điều đó có nghĩa là DOM của WebKit hiện không được mã hóa bằng JavaScript mà bằng một số ngôn ngữ khác? Điều đó có nghĩa là họ muốn đưa ra nhiều người truy cập công khai hơn vào DOM? Hay cái gì?

Câu trả lời:


14

Cách tôi đọc nó có hai lựa chọn. Nhưng trước khi chúng tôi xem xét điều này, bạn phải hiểu mô hình cũ hoạt động như thế nào.

Trong hầu hết, nếu không phải tất cả các triển khai của các công cụ kết xuất HTML, thì DOM được triển khai trong C hoặc C ++ và công cụ JavaScript là một tiện ích bổ sung có các ràng buộc được xuất sang DOM. Điều này có ý nghĩa, nếu bạn nhìn vào cách HTML và JavaScript phát triển. Nhưng rất nhiều thời gian bị lãng phí trong việc sắp xếp các cuộc gọi từ JavaScript sang C / C ++ và quay lại.

Tùy chọn đầu tiên là DOM trở nên gắn kết chặt chẽ hơn với công cụ JavaScript. Về cơ bản, các đối tượng DOM trở thành các đối tượng JavaScript cốt lõi, như Array. Điều này không làm được gì nhiều ngoại trừ việc giảm bớt một số lỗi sắp xếp, vì DOM sử dụng các kiểu dữ liệu nguyên gốc từ công cụ JavaScript. DOM sau đó vẫn được triển khai trong C hoặc C ++.

Tùy chọn thứ hai và có lẽ ý nghĩa của chúng là DOM thực tế được triển khai bằng JavaScript. Nhược điểm là quyền truy cập vào DOM được diễn giải đầy đủ, nhưng về mặt trái, nó loại bỏ bất kỳ sự sắp xếp nào. Đây có lẽ là một lợi ích ròng, vì dù sao DOM cũng chủ yếu là dữ liệu.

Sau đó, một lần nữa tôi không thể cho bạn một câu trả lời chắc chắn - Tôi không làm việc cho Google và do đó không có nhiều hiểu biết.


1
Tôi không nghĩ rằng có bất kỳ chi phí nào trong việc ràng buộc các loại đặc biệt so với các loại "bản địa" của các công cụ JavaScript vì công cụ đó được viết bằng C ++ và tất cả các loại được thực hiện bằng cùng một cơ chế. Những gì có thể được lưu bằng cách sử dụng các loại JavaScript gốc là một mã vì rất nhiều mã cần được sao chép cho các loại gốc và các loại DOM.
Jan Hudec

Từ những gì tôi biết (ví dụ từ danh sách gửi thư thảo luận), nó chắc chắn là cái sau. Có một mong muốn có DOM được viết bằng JS, không chỉ vì chi phí sắp xếp (mà còn có), mà còn để loại bỏ càng nhiều đối tượng "kỳ lạ", "không bản địa", "đặc biệt" khỏi không gian ngôn ngữ như khả thi. DOM là PITA lớn cho các nhà thiết kế ngôn ngữ, bởi vì nó đặc biệt.
Herby

Gần đây có một tài liệu thiết kế về chủ đề này docs.google.com/document/d/
Kẻ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.