Tổng hợp các engine JavaScript chạy trên server

Chúng ta đều biết rằng JavaScript ban đầu được tạo ra để chạy trên các trình duyệt (browsers) ở phía client; sau đó vào năm 2009, Ryan Dahl đã tạo ra Node.js – một môi trường chạy JavaScript phía server được xây dựng trên V8 JavaScript Engine của Google Chrome.

Hiện nay, ngoài V8 JavaScript Engine của Google (dùng trong Chrome & Node.js), còn có nhiều engine khác giúp JavaScript chạy trên server. Bài viết hôm nay mình sẽ giúp các bạn tổng hợp các engine JavaScript cùng ứng dụng tương ứng có thể chạy trên server nhé.

1. JavaScriptCore (JSC) – Apple

JavaScriptCore (JSC)engine JavaScript mã nguồn mở do Apple phát triển, được sử dụng trong trình duyệt Safari và hệ điều hành iOS, macOS, iPadOS. JSC được Apple tối ưu hóa mạnh mẽ để chạy trên thiết bị của họ.

Ứng dụng trên server:

JSC là nền tảng của Bun.js – một JavaScript Runtime được đánh giá là nhanh hơn Node.js nhờ tối ưu quản lý bộ nhớ & API gốc (FFI) – giúp xây dựng các ứng dụng viết bằng JavaScript trên server.

2. SpiderMonkey – Mozilla

SpiderMonkey là một engine JavaScript mã nguồn mở do Mozilla phát triển. Đây là engine JavaScript đầu tiên được viết và được sử dụng trong trình duyệt Firefox để thực thi JavaScript. SpiderMonkey hỗ trợ JIT Compilation, Garbage Collection, và WebAssembly , giúp cải thiện tốc độ thực thi JavaScript.

Ứng dụng trên server:

SpiderMonkey được nhúng vào Mozilla Rhino để chạy JavaScript trên JVM (Java Virtual Machine). Engine này còn được dùng trong CouchDB (một NoSQL database chạy trên JavaScript).

3. Chakra – Microsoft

Chakra là một JavaScript engine được Microsoft phát triển nhưng đã bị khai tử ở thời điểm hiện tại.

Ban đầu, Microsoft phát triển Chakra để tăng tốc độ JavaScript trên Internet Explorer 9. Năm 2015, Chakra được sử dụng trong Microsoft Edge (phiên bản cũ, không phải Chromium), sau đó 1 năm, Microsoft mở mã nguồn một phần của Chakra với tên ChakraCore. Tuy nhiên vào năm 2019, Microsoft chuyển sang sử dụng V8 (Google) khi Edge được xây dựng lại trên nền tảng Chromium và sau đó không lâu thì họ cũng đã ngừng duy trì ChakraCore.

4. GraalJS – Oracle

GraalJS là một JavaScript engine hiệu suất cao do Oracle phát triển, dựa trên nền tảng GraalVM. Nó được thiết kế để chạy JavaScript trên JVM (Java Virtual Machine) và có thể tích hợp tốt với các ngôn ngữ khác như Java, Python, Ruby, RWebAssembly.

Ứng dụng trên server:

GraalJS được dùng trong hệ thống Java để chạy JavaScript song song với JVM, có thể sử dụng như một giải pháp thay thế cho Node.js trong hệ sinh thái Java.. Ngoài ra, engine này cũng hỗ trợ Polyglot programming (chạy nhiều ngôn ngữ trong một chương trình).

Tổng kết

Cùng nhìn lại 1 lượt các engine JavaScript chạy trên server để có cái nhìn so sánh cụ thể hơn nhé:

EngineNhà phát triểnỨng dụng trên serverĐặc điểm nổi bật
V8GoogleNode.js, DenoPhổ biến nhất
JavaScriptCoreAppleBun.jsDành cho Safari
SpiderMonkeyMozillaCouchDB, RhinoDành cho Firefox
ChakraCoreMicrosoftNode-ChakraCoreNgừng phát triển
GraalJSOracleGraalVM, Java appsChạy trên JVM, tích hợp Java

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *