Engine JavaScript

SpiderMonkey logo

Engine JavaScript là một thành phần phần mềm thực thi JavaScript. Các JavaScript engine đầu tiên chỉ là trình thông dịch, nhưng tất cả các engine hiện đại đều sử dụng biên dịch tức thời để cải thiện hiệu suất.[1]

Các JavaScript engine thường được phát triển bởi các nhà cung cấp trình duyệt web và mọi trình duyệt chính đều có một cái. Trong trình duyệt, JavaScript engine chạy cùng với công cụ hiển thị thông qua Document Object Model.

Việc sử dụng các JavaScript engine không giới hạn ở các trình duyệt. Ví dụ: Engine V8 là thành phần cốt lõi của hệ thống runtime Node.js và Deno.

ECMAScript là thông số kỹ thuật tiêu chuẩn của JavaScript, nên engine ECMAScript là tên gọi khác của các engine này. Với sự ra đời của WebAssembly, một số engine cũng có thể thực thi mã này trong cùng sandbox như mã JavaScript thông thường.

Lịch sử

[sửa | sửa mã nguồn]

JavaScript engine đầu tiên được tạo bởi Brendan Eich vào năm 1995 cho trình duyệt web Netscape Navigator. Đó là một trình thông dịch thô sơ cho ngôn ngữ non trẻ mà Eich đã phát minh ra. (Engine này đã phát triển thành engine SpiderMonkey, vẫn được trình duyệt Firefox sử dụng.)

JavaScript engine hiện đại đầu tiên là V8, do Google tạo cho trình duyệt Chrome của mình. V8 ra mắt như một phần của Chrome vào năm 2008 và hiệu suất của nó tốt hơn nhiều so với bất kỳ engine nào trước đó.[2][3] Sự đổi mới quan trọng là biên dịch đúng lúc, có thể cải thiện đáng kể thời gian thực hiện.

Các nhà cung cấp trình duyệt khác cần đại tu trình thông dịch của họ để cạnh tranh.[4] Các nhà cung cấp trình duyệt khác cần đại tu trình thông dịch của họ để cạnh tranh.[5] Mozilla đã tận dụng một phần của Nitro để cải thiện engine SpiderMonkey của riêng mình.

Kể từ năm 2017, các engine này đã thêm hỗ trợ cho WebAssembly. Điều này cho phép sử dụng các tệp thực thi được biên dịch sẵn cho các phần quan trọng về hiệu suất của tập lệnh trang.

Các engine đáng chú ý

[sửa | sửa mã nguồn]
  • V8 của Google là engine JavaScript được sử dụng nhiều nhất. Google Chrome và nhiều trình duyệt dựa trên Chromium khác sử dụng nó, cũng như các ứng dụng được xây dựng bằng CEF, Electron hoặc bất kỳ framework nào khác nhúng Chromium. Các engine khác sử dụng nó bao gồm các hệ thống runtime Node.js và Deno.
  • SpiderMonkey được phát triển bởi Mozilla để sử dụng trong Firefox và các nhánh của nó. GNOME Shell sử dụng nó để hỗ trợ tiện ích mở rộng.
  • JavaScriptCore là engine của Apple dành cho trình duyệt Safari. Các trình duyệt dựa trên WebKit khác cũng sử dụng nó. KJS từ KDE là điểm khởi đầu cho sự phát triển của nó.[6]
  • Chakra là engine của trình duyệt Internet Explorer. Nó cũng được Microsoft chia ra cho trình duyệt Edge ban đầu, nhưng Edge sau đó đã được xây dựng lại thành trình duyệt dựa trên Chromium và do đó hiện sử dụng V8.[7][8]

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ Looper, Jen (21 tháng 9 năm 2015). “A Guide to JavaScript Engines for Idiots”. Telerik Developer Network. Lưu trữ bản gốc ngày 8 tháng 12 năm 2018.
  2. ^ “Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome”. PC Games Hardware. Computec Media AG. Bản gốc lưu trữ ngày 2 tháng 5 năm 2012. Truy cập ngày 28 tháng 6 năm 2010.
  3. ^ “Lifehacker Speed Tests: Safari 4, Chrome 2”. Lifehacker. Bản gốc lưu trữ ngày 14 tháng 2 năm 2021. Truy cập ngày 28 tháng 6 năm 2010.
  4. ^ “Mozilla asks, 'Are we fast yet?'. Wired. Truy cập ngày 18 tháng 1 năm 2019.
  5. ^ Safari 5 Released
  6. ^ Stachowiak, Maciej (9 tháng 11 năm 2008). “Companies and Organizations that have contributed to WebKit”. WebKit Wiki. Truy cập ngày 13 tháng 4 năm 2019.
  7. ^ Belfiore, Joe (15 tháng 1 năm 2020), New year, new browser – The new Microsoft Edge is out of preview and now available for download, Microsoft
  8. ^ “Microsoft Edge and Chromium Open Source: Our Intent”. Microsoft Edge Team. 6 tháng 12 năm 2018. Truy cập ngày 8 tháng 12 năm 2018.
Chúng tôi bán
Bài viết liên quan
Đại cương về sát thương trong Genshin Impact
Đại cương về sát thương trong Genshin Impact
Các bạn có bao giờ đặt câu hỏi tại sao Xiangling 4 sao với 1300 damg có thể gây tới 7k4 damg lửa từ gấu Gouba
Guide trang bị trong Postknight
Guide trang bị trong Postknight
Trang bị là các item thiết yếu trong quá trình chiến đấu, giúp tăng các chỉ số phòng ngự và tấn công cho nhân vật
Sơ lược lịch sử đầy chính trị của Phở
Sơ lược lịch sử đầy chính trị của Phở
Phở đã trở nên gần gũi với Văn hóa Việt Nam tới mức người ta đã dùng nó như một ẩn dụ trong các mối quan hệ tình cảm
Vùng đất mới Enkanomiya là gì?
Vùng đất mới Enkanomiya là gì?
Enkanomiya còn được biết đến với cái tên Vương Quốc Đêm Trắng-Byakuya no Kuni(白夜国)