Chức năng mới dành cho nhà phát triển — WebAssembly cung cấp cho bạn

Tổng quan các công cụ hiện có trên web nhờ WebAssembly.

Thomas Nattestad
Thomas Nattestad

WebAssembly cho phép các nhà phát triển đưa chức năng hiệu suất mới vào web từ các ngôn ngữ khác. Trong vài năm qua, các nhà phát triển đã thực sự tận dụng được tiềm năng. Bài đăng này chỉ giới thiệu một vài công cụ mới nổi bật mà bạn có thể hưởng lợi, một phần nhờ vào WebAssembly.

Bây giờ, hãy cùng bắt đầu ngay với những nội dung hấp dẫn :D

SQLite

Cổng SQLite hoàn chỉnh này mang đến cho bạn một hệ thống quản lý cơ sở dữ liệu quan hệ, được nhúng và gọn nhẹ. Để tìm hiểu thêm, hãy đọc bài đăng trên blog giới thiệu về cổng đáng kinh ngạc này và cách sử dụng.

FFmpeg.wasm

FFmpeg là dự án phần mềm nguồn mở và miễn phí bao gồm một bộ thư viện và chương trình để xử lý video, âm thanh cũng như các luồng và tệp đa phương tiện khác. Bạn có thể tìm phiên bản được biên dịch wasm tại đây (kho lưu trữ github) cho phép bạn thực hiện tất cả các chức năng này ngay trong trình duyệt.

Nội dung mô tả cảnh chung (USD)

Mô tả cảnh chung (USD) là khung cho dữ liệu đồ hoạ máy tính 3D tập trung vào việc cộng tác, chỉnh sửa không phá huỷ và cho phép sử dụng nhiều chế độ xem và ý kiến về dữ liệu đồ hoạ. Đây là một tiêu chuẩn ngành được các công ty như Pixar, Autodesk, Nvidia và nhiều công ty khác hỗ trợ. Vẫn chỉ mới bắt đầu hỗ trợ web, nhưng Autodesk đã tạo nguồn mở cho trình xem USD dựa trên web mà bạn có thể xem tại đây.

CanvasKit

CanvasKit là Skia, công cụ kết xuất của Chrome và Android, được biên dịch trực tiếp thành WebAssembly. Với nó, bạn có quyền truy cập đơn giản JavaScript API vào thực tế tất cả sức mạnh của công cụ kết xuất Skia. Các chức năng này bao gồm hiển thị phức tạp, tạo hình văn bản, ảnh động, viết tay, v.v. Hãy xem gói npmhướng dẫn bắt đầu nhanh.

TensorFlow.js

TensorFlow.js trực tiếp mang sức mạnh của TensorFlow vào trình duyệt bằng một API JavaScript đơn giản. Trong trường hợp này, tính năng này sẽ tối ưu hoá các mô hình trên cả GPU và CPU (bao gồm cả tính năng tối ưu hoá SIMD) để tối đa hoá hiệu suất. Bạn có thể xem hướng dẫn bắt đầu sử dụng hoặc xem trực tiếp một số bản minh hoạ.

OpenCV

OpenCV là một tiêu chuẩn ngành về các chức năng lập trình chủ yếu dành cho thị giác máy tính theo thời gian thực. Có một gói npm dễ sử dụng tại đây và đối với người dùng Emscripten, cũng có hướng dẫn chi tiết về cách tạo một bản dựng đầy đủ. Để tìm hiểu cách SIMD và luồng đang cải thiện hiệu suất của những khối lượng công việc này, bạn có thể xem phần này của buổi trò chuyện tại Hội nghị Nhà phát triển Chrome về việc làm hiện đại WebAssembly.

Cocos

Cocos là một công cụ phát triển trò chơi mạnh mẽ và phổ biến, cho phép các nhà phát triển xây dựng trò chơi có hỗ trợ trên nhiều nền tảng. Giờ đây, công cụ này còn bao gồm cả web. Công cụ này nằm trong danh sách dài các công cụ phát triển trò chơi hỗ trợ xuất dữ liệu web thông qua wasm. Để bắt đầu, hãy chuyển đến trình chỉnh sửa Cocos Creator rồi làm theo các hướng dẫn này.

Kết luận

Ngoài những ví dụ cụ thể này, có rất nhiều điều đáng hào hứng về tiềm năng của WebAssembly trong việc thay đổi tốc độ của chức năng web mới. Chrome thậm chí đã thiết lập Quỹ ứng dụng web nâng cao để giúp các nhà phát triển có kinh phí cho công việc của họ nhằm cải tiến chức năng web dành cho tất cả các nhà phát triển!

Ảnh chính từ Pexels, của Ann Marie Kennon.