WebAssembly - Tổng quan
WebAssembly là một ngôn ngữ lập trình máy tính mới cho web. Mã WebAssembly là một định dạng nhị phân cấp thấp, tương thích với web và có thể dễ dàng chạy trong các trình duyệt web hiện đại. Kích thước tệp được tạo nhỏ và nó tải và thực thi nhanh hơn. Bây giờ bạn có thể biên dịch các ngôn ngữ như C, C ++, Rust, v.v. sang định dạng nhị phân và nó có thể chạy trên web giống như javascript.
Định nghĩa của WebAssembly
Theo trang web chính thức của WebAssembly, có sẵn tại https://webassembly.org/, nó được định nghĩa là WebAssembly (viết tắt là Wasm) là một định dạng lệnh nhị phân cho một máy ảo dựa trên ngăn xếp. Wasm được thiết kế như một mục tiêu di động để biên dịch các ngôn ngữ cấp cao như C / C ++ / Rust, cho phép triển khai trên web cho các ứng dụng máy khách và máy chủ.
Web Assembly không phải là thứ mà một nhà phát triển sẽ phải viết, nhưng mã được viết bằng các ngôn ngữ như C, C ++, Rust và có thể được biên dịch sang WebAssembly (wasm). Mã tương tự có thể được chạy bên trong trình duyệt web.
Web Assembly là một ngôn ngữ mới, mã là ngôn ngữ hợp ngữ cấp thấp, nhưng với tính năng định dạng văn bản, mã có thể đọc được và có thể gỡ lỗi nếu cần.
Mục tiêu của WebAssembly
Các tiêu chuẩn mở cho WebAssembly được phát triển trong Nhóm cộng đồng W3C bao gồm đại diện từ tất cả các trình duyệt chính cũng như Nhóm làm việc W3C.
Các mục tiêu chính của WebAssembly được đề cập bên dưới:
Faster, Efficient and Portable - Mã WebAssembly có nghĩa là chạy nhanh hơn trên các nền tảng khác nhau tận dụng lợi thế của phần cứng có sẵn.
Easy to read and debug - WebAssembly, là một ngôn ngữ hợp ngữ cấp thấp, có hỗ trợ định dạng văn bản, cho phép bạn gỡ lỗi mã cho bất kỳ sự cố nào và cũng có thể viết lại mã, nếu cần.
Security - WebAssembly an toàn khi chạy trên trình duyệt web, vì nó quản lý các quyền và chính sách nguồn gốc.
Ưu điểm của WebAssembly
Sau đây là những ưu điểm của WebAssembly:
Run is Modern Browsers - WebAssembly có thể thực thi mà không gặp bất kỳ sự cố nào trên các trình duyệt web hiện đại có sẵn.
Multiple Language support- Các ngôn ngữ như C, C ++, Rust, Go hiện có thể biên dịch mã sang WebAssembly và chạy tương tự trong các trình duyệt web. Vì vậy, các ngôn ngữ không thể chạy trong trình duyệt giờ đây sẽ có thể làm như vậy.
Faster, Efficient and Portable - Do kích thước nhỏ của mã, nó tải và thực thi nhanh hơn.
Easy to understand- Các nhà phát triển không phải căng thẳng trong việc hiểu mã hóa WebAssembly, vì họ không phải viết mã trong WebAssembly. Thay vào đó, hãy biên dịch mã trong WebAssembly và thực thi tương tự trên web.
Easy to Debug - Mặc dù mã cuối cùng ở dạng hợp ngữ cấp thấp, bạn cũng có thể lấy nó ở định dạng văn bản, dễ đọc và gỡ lỗi.
Nhược điểm của WebAssembly
Sau đây là những nhược điểm của WebAssembly:
WebAssembly vẫn đang được nghiên cứu và còn quá sớm để quyết định tương lai của nó.
WebAssembly phụ thuộc vào javascript để tương tác với Mô hình đối tượng tài liệu (DOM).