Bạn mở một ứng dụng chỉnh ảnh trên trình duyệt, áp bộ lọc phức tạp, và kết quả hiện ra gần như tức thì. Mười năm trước, điều này gần như không thể, vì JavaScript đơn giản không đủ nhanh cho các phép tính nặng. WebAssembly (viết tắt Wasm) ra đời để giải quyết đúng vấn đề đó: cho phép mã biên dịch từ C++, Rust hoặc Go chạy trên trình duyệt với tốc độ chỉ chậm hơn mã gốc khoảng 10%.

Cách Wasm hoạt động

Hãy hình dung trình duyệt như một nhà hàng. JavaScript là đầu bếp biết nấu mọi món nhưng hơi chậm vì phải đọc công thức từng bước. Wasm giống như một đầu bếp đã thuộc lòng công thức từ trước: nhận nguyên liệu và bắt tay vào nấu ngay. Về mặt kỹ thuật, mã nguồn (C++, Rust, Go) được biên dịch thành định dạng nhị phân .wasm. Trình duyệt tải tệp này, xác minh tính an toàn trong vài mili giây, rồi biên dịch sang mã máy của thiết bị đang dùng. Toàn bộ quá trình diễn ra trong môi trường sandbox, nghĩa là mã Wasm không thể truy cập bộ nhớ hay tệp hệ thống ngoài vùng được cấp phát.

Từ trình duyệt ra server

Wasm giờ không còn bị giới hạn trong trình duyệt. WASI (WebAssembly System Interface) phiên bản 0.3.0 ra mắt đầu năm 2026 đã bổ sung khả năng I/O bất đồng bộ, mở đường cho Wasm chạy trên server, thiết bị IoT và môi trường edge computing. Component Model, một tiêu chuẩn mới, cho phép các module Wasm viết bằng ngôn ngữ khác nhau giao tiếp với nhau mà không cần lớp keo (glue code). Cloudflare Workers và Fastly Compute đã hỗ trợ Wasm, cho phép triển khai ứng dụng serverless với thời gian khởi động chỉ vài micro giây, nhanh gấp hàng trăm lần so với container truyền thống.

Tại sao lập trình viên nên quan tâm

Wasm không thay thế JavaScript, giống như công nghệ mới hiếm khi xóa sổ công nghệ cũ. Thay vào đó, nó bổ sung một lớp hiệu năng cao cho những tác vụ mà JavaScript không đủ nhanh: xử lý video, mô phỏng vật lý, mã hóa, AI suy luận trên thiết bị. Figma dùng Wasm để render giao diện. Google Earth chạy trên Wasm. AutoCAD đưa cả phần mềm thiết kế lên trình duyệt nhờ Wasm. Với WASI 0.3.0, lập trình viên giờ đây có thể viết một lần và triển khai ở bất kỳ đâu: trình duyệt, server, hay thiết bị nhúng.