31 điểm bởi xguru 2022-02-07 | 1 bình luận | Chia sẻ qua WhatsApp
  • Giới thiệu về WebAssembly (WASM), từ việc hiện nay nó đang được sử dụng ở đâu cho tới dự đoán về những lĩnh vực sẽ sử dụng trong tương lai

Đặc điểm của WASM

  • Tính di động: chạy ở bất kỳ đâu trên trình duyệt/máy chủ dưới dạng bytecode đã được tiêu chuẩn hóa

  • Tính phổ quát: nhiều ngôn ngữ như C, Rust, Go, Python, Ruby có thể biên dịch sang Wasm

  • Hiệu năng gần mức native: trung bình chậm hơn native khoảng 1.45~1.55 lần nhưng luôn nhanh hơn JavaScript

  • Thời gian khởi động nhanh: nhanh hơn Docker container 10~100x, và trên trình duyệt cũng nhanh hơn việc phân tích cú pháp/thông dịch Javascript

  • An toàn: được phát triển với web là trọng tâm nên an toàn thông qua sandbox bộ nhớ và giới hạn tính năng

Quảng cáo

Những lĩnh vực WASM hữu ích

  • Cải thiện tốc độ JavaScript

  • Cung cấp khả năng tương thích giữa các ngôn ngữ lập trình

  • Runtime cho hệ thống plugin đa ngôn ngữ

  • Sử dụng an toàn nhiều thư viện bên thứ ba dưới dạng engine sandbox nhúng

  • Tương lai của containerization: nhanh hơn Docker, footprint nhỏ hơn và an toàn hơn

  • Nền tảng FaaS/Serverless

  • Blockchain: có thể được dùng làm runtime hiệu năng cao để thực thi smart contract

    Quảng cáo

Dự đoán và cơ hội

  • Kiến trúc ứng dụng mới

→ Có thể chia nhỏ microservice thành các thành phần còn nhỏ hơn

  • Brownfield Deployment

→ Tích hợp Docker và Wasm container trong lớp orchestration

  • Framework Serverless/Edge được tiêu chuẩn hóa
Quảng cáo

→ Hiện tại Fastly, Lambda, Fission đang tự xây dựng nền tảng riêng, nhưng cũng có khả năng sẽ được tiêu chuẩn hóa

→ "Terraform of Serverless"

  • Quản lý package

→ Mọi ngôn ngữ đều có hệ sinh thái package riêng

→ WASM cần một package manager. Có WAPM nhưng gần như đang ở trạng thái ngủ đông

Kết luận

  • WebAssembly tốt như vậy thì tại sao vẫn chưa được dùng rộng rãi hơn?

→ Marketing chưa tốt. Nó không chỉ giới hạn ở Web hay Assembly nên ngay từ cái tên đã chưa phù hợp

Quảng cáo

→ Phần lớn hoạt động marketing nhắm vào web developer, nhưng tiềm năng thực sự vượt xa trình duyệt

→ Tiêu chuẩn WebAssembly vẫn chưa hoàn thiện

→ Khả năng tương thích giữa các ngôn ngữ vẫn còn rất kém

→ Trải nghiệm dành cho developer còn thiếu rất nhiều

  • Tuy vậy, nhiều mặt đang được cải thiện và trong 1~2 năm tới sẽ đạt tới trạng thái có thể chấp nhận được

  • Các hoạt động liên quan tới WebAssembly cùng hệ sinh thái và cộng đồng đang bước vào giai đoạn bùng nổ

1 bình luận

 
xguru 2022-02-07

Ngay cả khi tìm kiếm WebAssembly/WASM trên GeekNews, bạn cũng có thể thấy có rất nhiều bài viết.

Tôi chỉ liệt kê các bài viết chính.

→ Tổ chức phi lợi nhuận được thành lập với mục tiêu đưa WebAssembly vào sử dụng vượt ra ngoài trình duyệt